diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..dc6202eb9b --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,9 @@ +# Each line is a file pattern followed by one or more owners. + +# L3 Engineering are the default owners for everything excluding team specific forms (unless it's for a product supported by L3, in which +# case they are owners for those specific forms too) + +* @ukhsa-collaboration/L3-Engineering +/runner/src/server/forms/ReportAnOutbreak @ukhsa-collaboration/L3-Engineering + +/runner/src/server/forms \ No newline at end of file diff --git a/.github/workflows/create-ukhsa-release.yaml b/.github/workflows/create-ukhsa-release.yaml new file mode 100644 index 0000000000..2766168512 --- /dev/null +++ b/.github/workflows/create-ukhsa-release.yaml @@ -0,0 +1,90 @@ +name: Create UKHSA Release + +on: + push: + branches: + - v2 + paths: + - "**/*docker-compose*.yml" + - "**/*docker-compose*.yaml" + - "**/docker-compose/**" + - "runner/**" + - "designer/**" + - "submitter/**" + - "model/**" + - "queue-model/**" + - "package.json" + - "yarn.lock" + +jobs: + create-extended-tags: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Configure Git + run: | + git config user.name "GitHub Actions" + git config user.email "actions@github.com" + + - name: Find merge base with main and create extended tags + run: | + # Ensure we have all tags and branches + git fetch --tags origin + git fetch origin main:main + + # Find the merge base between v2 and main + MERGE_BASE=$(git merge-base v2 main) + echo "Merge base commit: $MERGE_BASE" + + # Get the tags that point to the merge base commit + BASE_TAGS=$(git tag --points-at $MERGE_BASE) + + if [ -z "$BASE_TAGS" ]; then + echo "No tags found at merge base. Exiting." + exit 0 + fi + + echo "Found tags at merge base: $BASE_TAGS" + + # Process each found tag + for BASE_TAG in $BASE_TAGS; do + echo "Processing base tag: $BASE_TAG" + + # Find highest existing extended tag version + HIGHEST_EXT_VERSION=0 + + # Get all extended tags for this base tag + EXISTING_EXT_TAGS=$(git tag -l "${BASE_TAG}-ext*") + + for EXT_TAG in $EXISTING_EXT_TAGS; do + # Extract version number after "ext" + VERSION_NUM=$(echo $EXT_TAG | sed -E "s|${BASE_TAG}-ext([0-9]+)|\1|") + + if [[ $VERSION_NUM =~ ^[0-9]+$ ]]; then + if [ $VERSION_NUM -gt $HIGHEST_EXT_VERSION ]; then + HIGHEST_EXT_VERSION=$VERSION_NUM + fi + fi + done + + # Calculate new version + NEW_VERSION=$((HIGHEST_EXT_VERSION + 1)) + NEW_TAG="${BASE_TAG}-ext${NEW_VERSION}" + + echo "Creating new extended tag: $NEW_TAG" + + # Get current v2 branch HEAD + V2_HEAD=$(git rev-parse v2) + + # Create annotated tag + git tag -a "$NEW_TAG" -m "Extended tag from $BASE_TAG for v2 branch (version $NEW_VERSION)" $V2_HEAD + + # Push the new tag + git push origin "$NEW_TAG" + echo "Successfully created and pushed tag $NEW_TAG" + done diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 0000000000..7ae533fe3e --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,76 @@ +name: Pull Request Validation + +on: + pull_request: + branches: + - "**" + +jobs: + build-docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + path: builder + + - name: Configure AWS Credentials + id: aws-creds + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: eu-west-2 + aws-access-key-id: ${{secrets.ACCESS_KEY_ID}} + aws-secret-access-key: ${{secrets.SECRET_ACCESS_KEY}} + + - name: Login to ECR + uses: docker/login-action@v2 + with: + registry: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{secrets.AWS_REGION}}.amazonaws.com + ecr: true + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Modify config for build + run: | + cd ./builder/runner + # Comment out specific Redis + sessionCookiePassword configuration lines + sed -i 's/^ sessionCookiePassword:/ \/\/ sessionCookiePassword:/' config/default.js + sed -i 's/^ redisHost:/ \/\/ redisHost:/' config/default.js + sed -i 's/^ redisPort:/ \/\/ redisPort:/' config/default.js + sed -i 's/^ redisPassword:/ \/\/ redisPassword:/' config/default.js + sed -i 's/^ redisTls:/ \/\/ redisTls:/' config/default.js + + - name: Build and cache + uses: docker/build-push-action@v6 + with: + push: false + load: true + tags: user/app:test + context: ./builder + file: ./builder/runner/Dockerfile + platforms: linux/amd64 + cache-from: type=gha + cache-to: type=gha,mode=max + + - name: Check + run: | + echo "Starting container..." + + # Start container and immediately check if it's running + docker run --rm -d --name quick-test -p 8080:8080 user/app:test + + # Wait a moment + sleep 5 + + # Check if still running + if docker ps | grep -q quick-test; then + echo "✅ Container started successfully" + docker logs quick-test + docker stop quick-test + else + echo "❌ Container failed to start or exited" + docker logs quick-test 2>&1 || echo "No logs available" + exit 1 + fi diff --git a/.github/workflows/sync-tags.yaml b/.github/workflows/sync-tags.yaml new file mode 100644 index 0000000000..4edaa98a7a --- /dev/null +++ b/.github/workflows/sync-tags.yaml @@ -0,0 +1,69 @@ +name: Sync Upstream Main Tag + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" # Runs daily at midnight UTC; adjust as needed + +jobs: + sync-tags: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 # Ensure full history and all tags are fetched + + - name: Add Upstream Remote + run: | + # Add the upstream remote; change the URL if needed. + git remote add upstream https://github.com/XGovFormBuilder/digital-form-builder.git || echo "Upstream remote already exists." + + - name: Fetch Upstream Main and Tags + run: | + git fetch upstream main --tags + + - name: Sync Tags for Upstream Main Commit with Original Message using IFS read loop + run: | + #!/bin/bash + set -e + + # Fetch all refs from upstream and origin + git fetch upstream --tags + git fetch origin --tags + + # Get all tags from upstream + upstream_tags=$(git ls-remote --tags upstream | grep -v '\^{}' | awk '{print $2}' | sed 's|refs/tags/||') + + # Get all tags from origin + origin_tags=$(git ls-remote --tags origin | grep -v '\^{}' | awk '{print $2}' | sed 's|refs/tags/||') + + echo "Found upstream tags: $upstream_tags" + echo "Found origin tags: $origin_tags" + + # Loop through each upstream tag + for tag in $upstream_tags; do + # Check if tag exists on origin remote + if echo "$origin_tags" | grep -q "^$tag$"; then + echo "Tag $tag already exists on origin remote, skipping." + else + # Fetch the specific tag from upstream + git fetch upstream "refs/tags/$tag:refs/tags/$tag" + + # Check if it's an annotated tag + if git cat-file -t "refs/tags/$tag" 2>/dev/null | grep -q "^tag$"; then + # It's an annotated tag, we've already fetched it correctly + echo "Fetched annotated tag: $tag" + else + # It's a lightweight tag, get the commit it points to + commit=$(git rev-parse "$tag^{commit}") + echo "Fetched lightweight tag: $tag (points to $commit)" + fi + + # Push the tag to origin + git push origin "refs/tags/$tag" + echo "Successfully pushed tag $tag to origin" + fi + done + + echo "All upstream tags have been synced to origin." diff --git a/README.md b/README.md index 50fee06d20..f628e4e6b8 100644 --- a/README.md +++ b/README.md @@ -126,3 +126,11 @@ A suite of smoke tests are run against all PRs. There is a Cron Job that execute A legacy suite of smoke tests can be found in this [repository](https://github.com/XGovFormBuilder/digital-form-builder-legacy-smoke-tests). They have been removed so that the project can run on node 18. Smoke tests will be migrated to use [cypress.io](https://cypress.io) in the coming months. + +### L3 Webhook + +The webhook JSON is here: digital-form-builder/runner/src/server/forms/L3Webhook.json + +Add the URL of the client webhook that you are currently working with into the JSON (line 64) + +Run the system locally and make your way through the screens as you would with other forms. Then navigate to the console and search for "status of the request is here" to see the request status. You can also see the status in multiple info logs throughout the console. Look for logs like 'INFO (74824 on Burendo-C6XDQM96PK): request completed' and there will be a sub section of '"statusCode": 200.' diff --git a/designer/client/page-create.js b/designer/client/page-create.js index 8196166c41..ed61b4b4e8 100644 --- a/designer/client/page-create.js +++ b/designer/client/page-create.js @@ -206,6 +206,9 @@ class PageCreate extends React.Component { + diff --git a/designer/client/page-edit.js b/designer/client/page-edit.js index e7f1c542bf..8714b7edcc 100644 --- a/designer/client/page-edit.js +++ b/designer/client/page-edit.js @@ -235,6 +235,9 @@ export class PageEdit extends React.Component { + => { .fill(0) .map(() => Math.random().toString(36).charAt(2)) .join(""), - isSecure: config.isProd, + isSecure: config.httpsCookieSecureAttribute, isHttpOnly: true, isSameSite: "Lax", }, diff --git a/docker-compose.yml b/docker-compose.yml index 976f3c2a16..e7ec127784 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -40,6 +40,8 @@ services: - PREVIEW_MODE=true - LAST_COMMIT - LAST_TAG + - MAGIC_LINK_TOGGLE="false" + - ENFORCE_CSRF=true # - ENABLE_QUEUE_SERVICE=true # - QUEUE_DATABASE_URL=mysql://root:root@mysql:3306/queue # or postgres://user:root@postgres:5432/queue # - DEBUG="prisma*" @@ -95,4 +97,4 @@ services: # environment: # POSTGRES_DB: queue # POSTGRES_PASSWORD: root -# POSTGRES_USER: user \ No newline at end of file +# POSTGRES_USER: user diff --git a/model/src/components/types.ts b/model/src/components/types.ts index dfb102a9ad..ce0ca3807f 100644 --- a/model/src/components/types.ts +++ b/model/src/components/types.ts @@ -24,6 +24,7 @@ export enum ComponentTypeEnum { FlashCard = "FlashCard", List = "List", ContextComponent = "ContextComponent", + ContentWithState = "ContentWithState", } export type ComponentType = @@ -52,7 +53,8 @@ export type ComponentType = | "FlashCard" | "List" | "WebsiteField" - | "ContextComponent"; + | "ContextComponent" + | "ContentWithState"; export type ComponentSubType = "field" | "content"; @@ -112,6 +114,7 @@ interface NumberFieldBase { min?: number; max?: number; precision?: number; + integer?: boolean; }; } @@ -132,6 +135,9 @@ interface ListFieldBase { allowPrePopulationOverwrite?: boolean; disableChangingFromSummary?: boolean; customValidationMessages?: Record; + summaryTitle?: string; + divider?: boolean; + finalValue?: string; }; list: string; schema: {}; @@ -176,6 +182,9 @@ export interface TextFieldComponent extends TextFieldBase { export interface EmailAddressFieldComponent extends TextFieldBase { type: "EmailAddressField"; + options: TextFieldBase["options"] & { + customValidationMessage?: string; + }; } export interface NumberFieldComponent extends NumberFieldBase { @@ -271,6 +280,10 @@ export interface ParaComponent extends ContentFieldBase { type: "Para"; } +export interface ContentWithStateComponent extends ContentFieldBase { + type: "ContentWithState"; +} + export interface DetailsComponent extends ContentFieldBase { type: "Details"; } @@ -345,7 +358,8 @@ export type ComponentDef = | UkAddressFieldComponent | YesNoFieldComponent | WebsiteFieldComponent - | ContextComponent; + | ContextComponent + | ContentWithStateComponent; // Components that render inputs. export type InputFieldsComponentsDef = @@ -371,7 +385,8 @@ export type ContentComponentsDef = | HtmlComponent | InsetTextComponent | ListComponent - | FlashCardComponent; + | FlashCardComponent + | ContentWithStateComponent; // Components that render Lists export type ListComponentsDef = diff --git a/model/src/data-model/types.ts b/model/src/data-model/types.ts index dbe6ef6e4a..3a4a748e53 100644 --- a/model/src/data-model/types.ts +++ b/model/src/data-model/types.ts @@ -12,9 +12,15 @@ export type Link = Next; export interface Page { title: string; path: string; + unauthenticated?: boolean; + disableBackLink?: boolean; controller: string; components?: ComponentDef[]; section?: string; // the section ID + sectionForExitJourneySummaryPages?: string; + sectionForMultiSummaryPages?: string; + sectionForEndSummaryPages?: string; + sidebarContent?: any; next?: { path: string; condition?: string }[]; } @@ -31,6 +37,12 @@ export interface RepeatingFieldPage extends Page { }; }; } +export interface CheckpointSummaryPage extends Page { + controller: "CheckpointSummaryPageController"; + options: { + customText: any; + }; +} export interface Section { name: string; @@ -75,6 +87,8 @@ export enum OutputType { } export type EmailOutputConfiguration = { + apiKey: string; + notifyTemplateId: string; emailAddress: string; }; @@ -117,6 +131,9 @@ export type ConfirmationPage = { title: string; paymentSkipped: Toggleable; nextSteps: Toggleable; + referenceTitle: string; + referenceContent: string; + hidePanel?: boolean; }; components: ComponentDef[]; }; @@ -172,6 +189,13 @@ export type ExitOptions = { format?: "STATE" | "WEBHOOK"; }; +export type Analytics = { + gtmId1: string; + gtmId2: string; + matomoId: string; + matomoUrl: string; +}; + /** * `FormDefinition` is a typescript representation of `Schema` */ @@ -181,6 +205,7 @@ export type FormDefinition = { lists: List[]; sections: Section[]; startPage?: Page["path"] | undefined; + authentication?: boolean | undefined; name?: string | undefined; feedback?: Feedback; phaseBanner?: PhaseBanner; @@ -194,4 +219,15 @@ export type FormDefinition = { paymentReferenceFormat?: string; feeOptions: FeeOptions; exitOptions: ExitOptions; + jwtKey?: string | undefined; + toggle?: boolean | string | undefined; + retryTimeoutSeconds?: number | undefined; + magicLinkConfig?: string | undefined; + allowedDomains?: string[] | undefined; + invalidDomainRedirect?: string | undefined; + analytics?: Analytics; + webhookHmacSharedKey?: string | undefined; + fileUploadHmacSharedKey?: string | undefined; + fullStartPage?: string | undefined; + serviceName?: string | undefined; }; diff --git a/model/src/schema/schema.ts b/model/src/schema/schema.ts index ec71847a9d..4f33872051 100644 --- a/model/src/schema/schema.ts +++ b/model/src/schema/schema.ts @@ -88,7 +88,7 @@ export const componentSchema = joi hint: localisedString.optional(), options: joi.object().default({}), schema: joi - .object({ min: joi.number(), max: joi.number() }) + .object({ min: joi.number(), max: joi.number(), integer: joi.boolean() }) .unknown(true) .default({}), list: joi.string().optional(), @@ -112,13 +112,20 @@ const nextSchema = joi.object().keys({ const pageSchema = joi.object().keys({ path: joi.string().required().disallow("/status"), title: localisedString, + unauthenticated: joi.boolean().optional(), section: joi.string(), + sectionForExitJourneySummaryPages: joi.string(), + sectionForMultiSummaryPages: joi.string(), + sectionForEndSummaryPages: joi.string(), + sidebarContent: joi.object().optional(), controller: joi.string(), components: joi.array().items(componentSchema), + disableSingleComponentAsHeading: joi.boolean(), next: joi.array().items(nextSchema), repeatField: joi.string().optional(), options: joi.object().optional(), backLinkFallback: joi.string().optional(), + disableBackLink: joi.bool().optional(), }); const startNavigationLinkSchema = joi.object().keys({ @@ -148,6 +155,9 @@ const confirmationPageSchema = joi.object({ nextSteps: toggleableString.default( "You will receive an email with details with the next steps." ), + referenceTitle: joi.string(), + referenceContent: joi.string(), + hidePanel: joi.boolean().optional(), }) .default(), components: joi.array().items(componentSchema), @@ -169,6 +179,7 @@ const specialPagesSchema = joi.object().keys({ const listItemSchema = joi.object().keys({ text: localisedString, value: joi.alternatives().try(joi.number(), joi.string()), + checkpointDisplayValue: joi.alternatives().try(joi.number(), joi.string()), description: localisedString.optional(), conditional: joi .object() @@ -199,6 +210,13 @@ const feeSchema = joi.object().keys({ prefix: joi.string().optional(), }); +const analyticsSchema = joi.object().keys({ + gtmId1: joi.string().allow("").optional(), + gtmId2: joi.string().allow("").optional(), + matomoId: joi.string().allow("").optional(), + matomoUrl: joi.string().uri().allow("").optional(), +}); + const multiApiKeySchema = joi.object({ test: joi.string().optional(), smoke: joi.string().optional(), @@ -222,10 +240,13 @@ const notifySchema = joi.object().keys({ addReferencesToPersonalisation: joi.boolean().optional(), emailReplyToIdConfiguration: joi.array().items(replyToConfigurationSchema), escapeURLs: joi.boolean().default(false), + hmacKey: joi.string().optional(), }); const emailSchema = joi.object().keys({ + apiKey: [joi.string().allow("").optional(), multiApiKeySchema], emailAddress: joi.string(), + notifyTemplateId: joi.string(), }); const webhookSchema = joi.object().keys({ @@ -307,6 +328,7 @@ export const Schema = joi name: localisedString.optional(), feedback: feedbackSchema, startPage: joi.string().required(), + authentication: joi.boolean().optional(), pages: joi .array() .required() @@ -325,9 +347,21 @@ export const Schema = joi version: joi.number().default(CURRENT_VERSION), phaseBanner: phaseBannerSchema, specialPages: specialPagesSchema.optional(), + jwtKey: joi.string().optional(), feeOptions: feeOptionSchema, exitOptions: exitSchema.optional(), showFilenamesOnSummaryPage: joi.boolean().optional(), + toggle: joi.alternatives().try(joi.boolean(), joi.string()).optional(), + toggleRedirect: joi.string().optional(), + retryTimeoutSeconds: joi.number().optional(), + magicLinkConfig: joi.string().optional(), + allowedDomains: joi.array().items(joi.string()).optional(), + invalidDomainRedirect: joi.string().optional(), + analytics: analyticsSchema.optional(), + webhookHmacSharedKey: joi.string().optional(), + fileUploadHmacSharedKey: joi.string().optional(), + fullStartPage: joi.string().optional(), + serviceName: joi.string().optional(), }); /** diff --git a/queue-model/package.json b/queue-model/package.json index ac7f3825fc..7b32dfafba 100644 --- a/queue-model/package.json +++ b/queue-model/package.json @@ -32,10 +32,10 @@ "eslint": "^8.10.0", "eslint-plugin-import": "^2.25.4", "eslint-plugin-tsdoc": "^0.2.14", - "prisma": "5.22.0", + "prisma": "6.12.0", "typescript": "4.9.5" }, "dependencies": { - "@prisma/client": "5.22.0" + "@prisma/client": "6.12.0" } } diff --git a/runner/FORM_DEVELOPMENT_README.md b/runner/FORM_DEVELOPMENT_README.md new file mode 100644 index 0000000000..8e73bff8f9 --- /dev/null +++ b/runner/FORM_DEVELOPMENT_README.md @@ -0,0 +1,24 @@ +# Form development on ukhsa-collaboration/digital-form-builder + +## Commit your service form + +To commit your service form, save it into the `/runner/src/server/forms` folder. + +## Setting custom help pages + +To set customised help pages for your service, such as accessibility statement, privacy policy or cookie policy, you need to create a service named folder in `/runner/src/server/views` with the relevant pages. + +ie. + +``` +YourServiceName/cookies.html +YourServiceName/accessibility.html +``` + +The `/runner/src/server/plugins/router.ts` is configured to capture the service (or form) name present in the URI path and route to customised help pages if they exist or revert back to default ones. + +The route will supply your form name into the page where you can reference it via `{{ name }}`. This is the name set within your form config .json file located in `/runner/src/server/forms`. + +## Setting authentication + +TBC diff --git a/runner/config/custom-environment-variables.json b/runner/config/custom-environment-variables.json index f5a1e49330..247fc1c72b 100644 --- a/runner/config/custom-environment-variables.json +++ b/runner/config/custom-environment-variables.json @@ -27,6 +27,7 @@ "sessionTimeout": "SESSION_TIMEOUT", "confirmationSessionTimeout": "CONFIRMATION_SESSION_TIMEOUT", "sessionCookiePassword": "SESSION_COOKIE_PASSWORD", + "sessionCookieSecureAttribute": "SESSION_COOKIE_SECURE_ATTRIBUTE", "fromEmailAddress": "FROM_EMAIL_ADDRESS", "serviceStartPage": "SERVICE_START_PAGE", "privacyPolicyUrl": "PRIVACY_POLICY_URL", diff --git a/runner/config/default.js b/runner/config/default.js index 691b169b82..cb8e271ca2 100644 --- a/runner/config/default.js +++ b/runner/config/default.js @@ -44,7 +44,7 @@ module.exports = { * Analytics */ // Google Tag Manager - you must amend the privacy notice if you use GTM to load analytics scripts. - // gtmId1: "", + gtmId1: "GTM-MM6VPCXX", // gtmId2: "", // Matomo (aka Piwik) @@ -55,8 +55,8 @@ module.exports = { * Service */ serviceUrl: "http://localhost:3009", //This is used for redirects back to the runner. - serviceName: "Digital Form Builder - Runner", - serviceStartPage: "", + serviceName: "Webforms", + serviceStartPage: "/ReportAnOutbreak/start", privacyPolicyUrl: "", feedbackLink: "#", // Used in your phase banner. Can be a URL or more commonly mailto mailto:feedback@department.gov.uk phaseTag: "beta", // Accepts "alpha" |"beta" | "" @@ -68,11 +68,12 @@ module.exports = { sessionTimeout: 20 * minute, confirmationSessionTimeout: 20 * minute, paymentSessionTimeout: 90 * minute, // GOV.UK Pay sessions are 90 minutes. It is possible a user takes longer than 20 minutes to complete a payment. - // sessionCookiePassword: "", - // redisHost: "http://localhost", - // redisPort: 6379, - // redisPassword: nanoid.random(16), // This should be set if you are deploying replicas - // redisTls: true, //run in TLS mode + httpsCookieSecureAttribute: true, // Assumed usage of HTTPS. Set to false if you are using HTTP. + sessionCookiePassword: "${SessionCookies.Password}", + redisHost: "${Redis.Host}", + redisPort: 6379, + redisPassword: "${Redis.Password}", // This should be set if you are deploying replicas - SET AS SECRET + redisTls: true, //run in TLS mode /** * SSL @@ -108,7 +109,7 @@ module.exports = { // If both the api env and node env are set to "production", the pay return url will need to be secure. // This is not the case if either are set to "test", or if the node env is set to "development" // payReturnUrl: "http://localhost:3009" - // documentUploadApiUrl: "", + documentUploadApiUrl: "${KLSUploadAPILink}", // ordnanceSurveyKey: "", // deprecated - this API is deprecated // browserRefreshUrl: "", // deprecated - idk what this does @@ -142,7 +143,7 @@ module.exports = { queueServicePollingInterval: "500", // How frequently to check the queue for a reference number queueServicePollingTimeout: "2000", // Total time to wait for a reference number - allowUserTemplates: false, + allowUserTemplates: true, /** * File size errors diff --git a/runner/config/development.json b/runner/config/development.json index be126c8611..86ac5f1e99 100644 --- a/runner/config/development.json +++ b/runner/config/development.json @@ -2,5 +2,6 @@ "isTest": true, "previewMode": true, "enforceCsrf": false, + "httpsCookieSecureAttribute": true, "env": "development" } diff --git a/runner/config/production.json b/runner/config/production.json index 3e552e02b8..886d3caef3 100644 --- a/runner/config/production.json +++ b/runner/config/production.json @@ -2,5 +2,6 @@ "env": "production", "logPrettyPrint": false, "enforceCsrf": true, + "httpsCookieSecureAttribute": true, "previewMode": false } diff --git a/runner/config/test.json b/runner/config/test.json index 7b02cb55d9..05b60fc7f7 100644 --- a/runner/config/test.json +++ b/runner/config/test.json @@ -6,7 +6,8 @@ ], "isTest": true, "previewMode": true, - "enforceCsrf": false, + "enforceCsrf": true, + "httpsCookieSecureAttribute": true, "initialisedSessionKey": "predictable-key", "env": "test", "documentUploadApiUrl": "http://localhost:9000" diff --git a/runner/package.json b/runner/package.json index 31e1e7d98b..5e9e637c3f 100644 --- a/runner/package.json +++ b/runner/package.json @@ -122,7 +122,7 @@ "lodash-es": "^4.17.21", "nodemon": "^3.0.2", "pino": "8.15.1", - "prisma": "5.22.0", + "prisma": "6.12.0", "sass": "^1.49.9", "sinon": "^13.0.1", "typescript": "4.9.5" diff --git a/runner/src/client/sass/application.scss b/runner/src/client/sass/application.scss index 4125c5a87f..8b5d9529fc 100644 --- a/runner/src/client/sass/application.scss +++ b/runner/src/client/sass/application.scss @@ -105,3 +105,43 @@ .govuk-summary-card .govuk-summary-list__actions { display: none; } + +.govuk-radios__conditional--hidden { + display: none; +} + +.govuk-checkboxes__conditional--hidden { + display: none; +} + +.govuk-phase-banner__content__tag { + background-color: #1d70b8; /* Example blue background */ + padding: 5px 8px; + font-size: 1rem; + line-height: 1.25; + text-transform: lowercase; + letter-spacing: normal; +} + +.govuk-phase-banner__content__tag::first-letter { + text-transform: uppercase; +} + +.govuk-tag { + font-family: GDS Transport, arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-weight: 400; + font-size: 1rem; + line-height: 1.25; + display: inline-block; + max-width: 160px; + margin-top: -2px; + margin-bottom: -3px; + padding: 2px 8px 3px; + color: #0c2d4a; + background-color: #bbd4ea; + text-decoration: none; + overflow-wrap: break-word; + letter-spacing: 0; +} diff --git a/runner/src/server/forms/L3Webhook.json b/runner/src/server/forms/L3Webhook.json new file mode 100644 index 0000000000..04f256e9b2 --- /dev/null +++ b/runner/src/server/forms/L3Webhook.json @@ -0,0 +1,83 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "path": "/start", + "title": "Start", + "components": [], + "next": [ + { + "path": "/question" + } + ] + }, + { + "path": "/question", + "title": "Question", + "sectionForEndSummaryPages": "ServiceUsersAndStaff", + "components": [ + { + "name": "Question", + "options": { + "summaryTitle": "", + "customValidationMessages": { + "number.base": "Enter a number between 0 and 999", + "number.max": "The number must be between 0 and 999", + "number.min": "The number must be between 0 and 999" + } + }, + "type": "NumberField", + "nameHasError": false, + "schema": { + "min": 0, + "max": 999 + }, + "title": "Enter a number between 0 and 999", + "hint": "This is to send to the API", + "list": "ServiceUsersTypes" + } + ], + "next": [ + { + "path": "/summary" + } + ] + }, + { + "title": "Summary", + "path": "/summary", + "controller": "./pages/summary.js", + "components": [] + } + ], + "lists": [], + "sections": [], + "conditions": [], + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://2aq9044u5l.execute-api.eu-west-2.amazonaws.com/prod/v1/echo", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": {}, + "feedback": {}, + "specialPages": { + "confirmationPage": { + "customText": { + "nextSteps": "

", + "title": "API returned", + "referenceTitle": "Api returned", + "referenceContent": "Go check the console for the status code" + } + } + } +} diff --git a/runner/src/server/forms/ReportAnOutbreak.json b/runner/src/server/forms/ReportAnOutbreak.json new file mode 100644 index 0000000000..2da9aa08f8 --- /dev/null +++ b/runner/src/server/forms/ReportAnOutbreak.json @@ -0,0 +1,5076 @@ +{ + "metadata": {}, + "authentication": true, + "toggle": "${magicLinkToggle}", + "analytics": { + "gtmId1": "GTM-MM6VPCXX" + }, + "startPage": "/start", + "pages": [ + { + "path": "/start", + "title": "Report an outbreak of acute respiratory infection in an adult social care setting", + "components": [ + { + "name": "mainContent", + "options": {}, + "type": "Para", + "content": "

From: UK Health Security Agency
Applies to England

\n

You can use this service if you provide adult social care. This includes a care home, supported living or extra care.

\n

Use this service to report:

\n
    \n
  • a single confirmed case of flu in your setting
  • \n
  • a new outbreak of acute respiratory infection (ARI) - 2 or more people in your setting with symptoms that started within 5 days of each other
  • \n
\n

ARIs include COVID-19, flu, respiratory syncytial virus (RSV), and other respiratory infections.

\n

It should take about 10 minutes to complete.

\n

Before you start

\n

If possible, test all service users with symptoms who are eligible for COVID-19 treatments using a COVID-19 rapid lateral flow test. Staff with symptoms who are eligible for COVID-19 treatments should test themselves at home.

\n

If you cannot test people, do not wait. Report as soon as possible.

\n

You'll need to know the:

\n
    \n
  • setting postcode
  • \n
  • Care Quality Commission (CQC) location ID, if you are CQC registered
  • \n
  • total number of service users and staff in your setting
  • \n
  • number of service users and staff with symptoms
  • \n
  • dates when people's symptoms started
  • \n
  • test results for anyone tested for any ARI, for example COVID-19, flu or RSV
  • \n
  • number of service users and staff vaccinated for COVID-19 and flu
  • \n
  • number of service users vaccinated for RSV
  • \n
\n

You’ll need to give your email address to access this service.

\nStart now\n

Updating about an existing outbreak

\n

Do not use this online service to give an update on an outbreak that you have already reported. If you need to give an update, contact your local UKHSA health protection team or your community infection control team.

\n

Identifying an ARI outbreak

\n

You only need to report 2 or more ARI cases if they could be linked by spread in your setting. If the infection could not have been spread in your setting, you should not report it as an outbreak. If in doubt, report as an outbreak.

\n

Why you should report

\n

Your local UKHSA health protection team, or the community infection control team, will use your information to assess your outbreak. They will help you manage the outbreak and prevent further spread.

\n

Get help

\n

If you need help using the service or have any other questions, contact your local UKHSA health protection team.

\n

If you need urgent medical advice

\n

If you need urgent medical advice, you should call NHS 111 or visit 111.nhs.uk. For life-threatening emergencies, call 999.

" + } + ], + "sidebarContent": { + "title": "Related content", + "subtitle": "Detailed guidance", + "links": [ + { + "title": "Infection prevention and control in adult social care: acute respiratory infection", + "link": "https://www.gov.uk/government/publications/infection-prevention-and-control-in-adult-social-care-acute-respiratory-infection" + }, + { + "title": "Identifying and treating respiratory tract infections on the NHS website", + "link": "https://www.nhs.uk/conditions/respiratory-tract-infection/" + } + ] + }, + "controller": "MultiStartPageController", + "showContinueButton": false, + "next": [ + { + "path": "/hpt-region" + } + ] + }, + { + "path": "/hpt-region", + "title": "Where is your adult social care setting?", + "sectionForEndSummaryPages": "SettingDetails", + "unauthenticated": true, + "components": [ + { + "name": "IntroPara", + "type": "Para", + "content": "This service is only available in some regions of England." + }, + { + "name": "HPT", + "options": { + "summaryTitle": "Local UKHSA health protection team", + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Select where your adult social care setting is" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": " ", + "hint": "Select your local UKHSA health protection team", + "list": "HPTs", + "values": { + "type": "listRef" + } + }, + { + "name": "HPTLink", + "options": {}, + "type": "Para", + "content": "\n Use your postcode to find your local health protection team (opens in a new tab)\n", + "schema": {} + } + ], + "next": [ + { "path": "/magic-link-redirect", "condition": "HPTRegionActive" }, + { + "path": "/service-not-available" + } + ] + }, + { + "path": "/magic-link-redirect", + "unauthenticated": true, + "controller": "MagicLinkRedirectController", + "next": [ + { + "path": "/setting" + } + ] + }, + { + "path": "/service-not-available", + "unauthenticated": true, + "title": "This service is not available in the {{ HPT }} region", + "components": [ + { + "name": "ServiceNotAvailableContent", + "type": "Para", + "content": "Phone your local UKHSA health protection team to report:
  • single cases of confirmed flu
  • 2 or more cases of an acute respiratory infection with symptoms that started within 5 days of each other and that could be linked by spread in your setting
  • " + } + ] + }, + { + "path": "/setting", + "title": "What type of adult social care do you provide?", + "sectionForExitJourneySummaryPages": "AcuteInfections", + "sectionForMultiSummaryPages": "InfectionsInYourSetting", + "sectionForEndSummaryPages": "SettingDetails", + "components": [ + { + "name": "CareSettingType", + "options": { + "summaryTitle": "Setting type", + "conditionallyRevealedComponents": { + "OtherAdultSocialCare": { + "type": "TextField", + "name": "OtherAdultSocialCare", + "title": "Enter your setting type", + "options": { + "customValidationMessages": { + "string.empty": "Enter the type of adult social care you provide" + } + }, + "schema": {} + } + }, + "customValidationMessages": { + "any.required": "Select the type of adult social care you provide" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "What type of adult social care do you provide?", + "list": "MpSRIP", + "schema": {}, + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/setting-details" + } + ] + }, + { + "path": "/positive-ari", + "title": "Do you have any positive test results for an acute respiratory infection?", + "sectionForExitJourneySummaryPages": "AcuteInfections", + "sectionForMultiSummaryPages": "InfectionsInYourSetting", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "PositiveARI", + "options": { + "summaryTitle": "Positive test result", + "customValidationMessages": { + "any.required": "Select yes if you have any positive test results for an acute respiratory infection" + } + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": "Do you have any positive test results for an acute respiratory infection?", + "hint": "The infection must have been confirmed by a test, for example a lateral flow test, flu swab test or a laboratory test", + "schema": {}, + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/2-or-more-ari", + "condition": "PositiveARI:No" + }, + { + "path": "/which-ari" + } + ] + }, + { + "path": "/which-ari", + "title": "Which acute respiratory infection do you have a positive test result for?", + "sectionForExitJourneySummaryPages": "AcuteInfections", + "sectionForMultiSummaryPages": "InfectionsInYourSetting", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "WhichARI", + "options": { + "summaryTitle": "Infection", + "customValidationMessages": { + "any.required": "Select which acute respiratory infections you have a positive test result for" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "Which acute respiratory infection do you have a positive test result for? ", + "list": "InfectionTypes", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { "path": "/2-or-more-covid", "condition": "WhichARI:COVID19" }, + { "path": "/cases-of-flu", "condition": "WhichARI:FLU" }, + { "path": "/2-or-more-cases-not-covid-or-flu" } + ] + }, + { + "path": "/2-or-more-covid", + "title": "Are you reporting 2 or more cases?", + "sectionForExitJourneySummaryPages": "AcuteInfections", + "sectionForMultiSummaryPages": "Covid19InYourSetting", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "Para", + "content": "

    Include cases confirmed by a test and people with symptoms of acute respiratory infections, including chest infections

    " + }, + { + "name": "TwoOrMoreCovid", + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "options": { + "summaryTitle": "COVID-19: 2 or more cases", + "customValidationMessages": { + "any.required": "Select yes if you are reporting 2 or more cases" + } + }, + "title": " ", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/do-not-need-to-report", + "condition": "TwoOrMoreCovid:No" + }, + { + "path": "/2-or-more-covid-details" + } + ] + }, + { + "path": "/2-or-more-covid-descriptive", + "title": "Are you reporting 2 or more cases of COVID-19?", + "sectionForMultiSummaryPages": "Covid19InYourSetting", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "Para", + "content": "Include cases confirmed by a test and people with symptoms of acute respiratory infections." + }, + { + "name": "TwoOrMoreCovid", + "options": { + "summaryTitle": "2 or more cases" + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": " ", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/2-or-more-cases-not-covid-or-flu", + "condition": "TwoOrMoreCovid:No" + }, + { + "path": "/2-or-more-covid-details" + } + ] + }, + { + "path": "/2-or-more-covid-details", + "title": "Acute respiratory infections in your setting", + "sectionForExitJourneySummaryPages": "AcuteInfections", + "sectionForMultiSummaryPages": "Covid19InYourSetting", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "Para", + "content": "

    Include cases confirmed by a test and people with symptoms of acute respiratory infections, including chest infections

    " + }, + { + "name": "TwoOrMoreCovid5days", + "options": { + "summaryTitle": "COVID-19: symptoms started within 5 days of each other", + "customValidationMessages": { + "any.required": "Select yes if symptoms in 2 or more cases started within 5 days of each other" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "Did symptoms in 2 or more cases start within 5 days of each other?", + "list": "YesNoSure", + "values": { + "type": "listRef" + } + }, + { + "name": "TwoOrMoreCovidSpread", + "options": { + "summaryTitle": "COVID-19: cases are linked by spread", + "customValidationMessages": { + "any.required": "Select yes if it is possible that at least 2 of the cases are linked by spread" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "Is it possible that at least 2 of the cases are linked by spread in your setting?​", + "list": "YesNoSure", + "values": { + "type": "listRef" + } + }, + { + "type": "Para", + "content": "

    Read guidance on when cases may be linked by spread in the care setting (opens in a new tab).

    " + } + ], + "next": [ + { + "path": "/do-not-need-to-report", + "condition": "ReportCovid:No" + }, + { + "path": "/ari-confirmed-cases-setting" + } + ] + }, + { + "path": "/2-or-more-ari", + "title": "Are you reporting 2 or more cases of an acute respiratory infection?", + "sectionForExitJourneySummaryPages": "AcuteInfections", + "sectionForMultiSummaryPages": "Covid19InYourSetting", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "TwoOrMoreARI", + "options": { + "summaryTitle": "2 or more cases", + "customValidationMessages": { + "any.required": "Select yes if you are reporting 2 or more cases of an acute respiratory infection" + } + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": "Are you reporting 2 or more cases of an acute respiratory infection?", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/do-not-need-to-report", + "condition": "TwoOrMoreARI:No" + }, + { + "path": "/ari-confirmed-cases-setting" + } + ] + }, + { + "path": "/do-not-need-to-report", + "title": "You do not need to report", + "controller": "CheckpointSummaryPageController", + "options": { + "customText": { + "insetText": "Based on your answers, you do not need to report this acute respiratory infection.", + "details": "

    You only need to report:

    • single cases of confirmed flu
    • 2 or more cases of an acute respiratory infection with symptoms that started within 5 days of each other and that could be linked by spread in your setting

    Read guidance on infection prevention and control in adult social care settings.

    " + } + }, + "components": [] + }, + { + "path": "/2-or-more-cases-not-covid-or-flu", + "title": "Are you reporting 2 or more cases of an acute respiratory infection?", + "sectionForExitJourneySummaryPages": "AcuteInfections", + "sectionForMultiSummaryPages": "OtherInYourSetting", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "TwoOrMoreCasesNotCovidFlu", + "options": { + "summaryTitle": "Other acute respiratory infection: 2 or more cases" + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": "Are you reporting 2 or more cases of an acute respiratory infection?", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "condition": "TwoOrMoreCasesNotCovidFlu:YES", + "path": "/ari-infection-type" + }, + { + "path": "/do-not-need-to-report" + } + ] + }, + { + "path": "/ari-infection-type", + "title": "What infection are you reporting?", + "sectionForMultiSummaryPages": "OtherInYourSetting", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "ARIInfectionType", + "options": { + "summaryTitle": "Other acute respiratory infection: infection type", + "customValidationMessages": { + "any.required": "Select the infection you are reporting" + } + }, + "type": "CheckboxesField", + "nameHasError": false, + "title": "What infection are you reporting?", + "hint": "You can select more than one option", + "list": "ARIInfectionType", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/other-ari-confirmed-cases-setting" + } + ] + }, + { + "path": "/service-users-ari-confirmed", + "title": "Service users: number of other cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersSymptomsNotTested", + "type": "NumberField", + "title": "How many service users have symptoms of an acute respiratory infection, but have not been tested for any infection?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: with symptoms, but not tested", + "customValidationMessages": { + "number.base": "Enter the number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection", + "number.max": "The number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999", + "number.min": "The number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999" + } + } + }, + { + "name": "ServiceUsersTestedCovid", + "type": "NumberField", + "title": "How many service users have been tested for COVID-19 and had a negative test result?", + "hint": "If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: negative COVID-19 test results", + "required": false, + "customValidationMessages": { + "number.max": "The number of service users that have been tested for COVID-19 and had a negative test result must be between 0 and 999", + "number.min": "The number of service users that have been tested for COVID-19 and had a negative test result must be between 0 and 999" + } + } + }, + { + "name": "ServiceUsersTestedFlu", + "type": "NumberField", + "title": "How many service users have been tested for flu and had a negative test result?", + "hint": "If none, enter 0", + "options": { + "required": false, + "summaryTitle": "Service users: negative flu test results", + "customValidationMessages": { + "number.max": "The number of service users that have been tested for flu and had a negative test result must be between 0 and 999", + "number.min": "The number of service users that have been tested for flu and had a negative test result must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + } + ], + "next": [ + { + "condition": "OtherARIServiceOrStaff:Both", + "path": "/staff-ari-confirmed" + }, + { + "path": "/severity-of-illness" + } + ] + }, + { + "path": "/service-users-ari-adenovirus", + "title": "Service users: number of adenovirus cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersAdenovirus", + "type": "NumberField", + "title": "How many service users have tested positive for adenovirus?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive adenovirus test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for adenovirus", + "number.max": "The number of service users that have tested positive for adenovirus must be between 0 and 999", + "number.min": "The number of service users that have tested positive for adenovirus must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-hmpv" + }, + { + "condition": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-parainfluenza" + }, + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-other" + }, + { + "path": "/severity-of-illness" + } + ] + }, + { + "path": "/staff-ari-adenovirus", + "title": "Staff: number of adenovirus cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "StaffAdenovirus", + "type": "NumberField", + "title": "How many staff have tested positive for adenovirus?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive adenovirus test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for adenovirus", + "number.max": "The number of staff that have tested positive for adenovirus must be between 0 and 999", + "number.min": "The number of staff that have tested positive for adenovirus must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-hmpv" + }, + { + "condition": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-parainfluenza" + }, + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-other" + }, + { + "path": "/staff-ari-confirmed" + } + ] + }, + { + "path": "/both-ari-adenovirus", + "title": "Number of adenovirus cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersAdenovirus", + "type": "NumberField", + "title": "How many service users have tested positive for adenovirus?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive adenovirus test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for adenovirus", + "number.max": "The number of service users that have tested positive for adenovirus must be between 0 and 999", + "number.min": "The number of service users that have tested positive for adenovirus must be between 0 and 999" + } + } + }, + { + "name": "StaffAdenovirus", + "type": "NumberField", + "title": "How many staff have tested positive for adenovirus?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive adenovirus test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for adenovirus", + "number.max": "The number of staff that have tested positive for adenovirus must be between 0 and 999", + "number.min": "The number of staff that have tested positive for adenovirus must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Both", + "path": "/both-ari-hmpv" + }, + { + "condition": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Both", + "path": "/both-ari-parainfluenza" + }, + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Both", + "path": "/both-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Both", + "path": "/both-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Both", + "path": "/both-ari-other" + }, + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/service-users-ari-hmpv", + "title": "Service users: number of human Metapneumovirus (hMPV) cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersHmpv", + "type": "NumberField", + "title": "How many service users have tested positive for human Metapneumovirus (hMPV)?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive human Metapneumovirus (hMPV) test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for human Metapneumovirus (hMPV)", + "number.max": "The number of service users that have tested positive for human Metapneumovirus (hMPV) must be between 0 and 999", + "number.min": "The number of service users that have tested positive for human Metapneumovirus (hMPV) must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-parainfluenza" + }, + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-other" + }, + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/staff-ari-hmpv", + "title": "Staff: number of human Metapneumovirus (hMPV) cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "StaffHmpv", + "type": "NumberField", + "title": "How many staff have tested positive for human Metapneumovirus (hMPV)?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive human Metapneumovirus (hMPV) test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for human Metapneumovirus (hMPV)", + "number.max": "The number of staff that have tested positive for human Metapneumovirus (hMPV) must be between 0 and 999", + "number.min": "The number of staff that have tested positive for human Metapneumovirus (hMPV) must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-parainfluenza" + }, + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-other" + }, + { + "path": "/staff-ari-confirmed" + } + ] + }, + { + "path": "/both-ari-hmpv", + "title": "Number of human Metapneumovirus (hMPV) cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersHmpv", + "type": "NumberField", + "title": "How many service users have tested positive for human Metapneumovirus (hMPV)?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive human Metapneumovirus (hMPV) test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for human Metapneumovirus (hMPV)", + "number.max": "The number of service users that have tested positive for human Metapneumovirus (hMPV) must be between 0 and 999", + "number.min": "The number of service users that have tested positive for human Metapneumovirus (hMPV) must be between 0 and 999" + } + } + }, + { + "name": "StaffHmpv", + "type": "NumberField", + "title": "How many staff have tested positive for human Metapneumovirus (hMPV)?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive human Metapneumovirus (hMPV) test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for human Metapneumovirus (hMPV)", + "number.max": "The number of staff that have tested positive for human Metapneumovirus (hMPV) must be between 0 and 999", + "number.min": "The number of staff that have tested positive for human Metapneumovirus (hMPV) must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Both", + "path": "/both-ari-parainfluenza" + }, + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Both", + "path": "/both-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Both", + "path": "/both-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Both", + "path": "/both-ari-other" + }, + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/service-users-ari-parainfluenza", + "title": "Service users: number of parainfluenza cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersParainfluenza", + "type": "NumberField", + "title": "How many service users have tested positive for parainfluenza?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive parainfluenza test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for parainfluenza", + "number.max": "The number of service users that have tested positive for parainfluenza must be between 0 and 999", + "number.min": "The number of service users that have tested positive for parainfluenza must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-other" + }, + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/staff-ari-parainfluenza", + "title": "Staff: number of parainfluenza cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "StaffParainfluenza", + "type": "NumberField", + "title": "How many staff have tested positive for parainfluenza?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive parainfluenza test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for parainfluenza", + "number.max": "The number of staff that have tested positive for parainfluenza must be between 0 and 999", + "number.min": "The number of staff that have tested positive for parainfluenza must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-other" + }, + { + "path": "/staff-ari-confirmed" + } + ] + }, + { + "path": "/both-ari-parainfluenza", + "title": "Number of parainfluenza cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersParainfluenza", + "type": "NumberField", + "title": "How many service users have tested positive for parainfluenza?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive parainfluenza test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for parainfluenza", + "number.max": "The number of service users that have tested positive for parainfluenza must be between 0 and 999", + "number.min": "The number of service users that have tested positive for parainfluenza must be between 0 and 999" + } + } + }, + { + "name": "StaffParainfluenza", + "type": "NumberField", + "title": "How many staff have tested positive for parainfluenza?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive parainfluenza test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for parainfluenza", + "number.max": "The number of staff that have tested positive for parainfluenza must be between 0 and 999", + "number.min": "The number of staff that have tested positive for parainfluenza must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Both", + "path": "/both-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Both", + "path": "/both-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Both", + "path": "/both-ari-other" + }, + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/service-users-ari-rsv", + "title": "Service users: number of Respiratory Syncytial Virus (RSV) cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersRSV", + "type": "NumberField", + "title": "How many service users have tested positive for Respiratory Syncytial Virus (RSV)?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive Respiratory Syncytial Virus (RSV) test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for Respiratory Syncytial Virus (RSV)", + "number.max": "The number of service users that have tested positive for Respiratory Syncytial Virus (RSV) must be between 0 and 999", + "number.min": "The number of service users that have tested positive for Respiratory Syncytial Virus (RSV) must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-other" + }, + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/staff-ari-rsv", + "title": "Staff: number of Respiratory Syncytial Virus (RSV) cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "StaffRSV", + "type": "NumberField", + "title": "How many staff have tested positive for Respiratory Syncytial Virus (RSV)?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive Respiratory Syncytial Virus (RSV) test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for Respiratory Syncytial Virus (RSV)", + "number.max": "The number of staff that have tested positive for Respiratory Syncytial Virus (RSV) must be between 0 and 999", + "number.min": "The number of staff that have tested positive for Respiratory Syncytial Virus (RSV) must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-other" + }, + { + "path": "/staff-ari-confirmed" + } + ] + }, + { + "path": "/both-ari-rsv", + "title": "Number of Respiratory Syncytial Virus (RSV) cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersRSV", + "type": "NumberField", + "title": "How many service users have tested positive for Respiratory Syncytial Virus (RSV)?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive Respiratory Syncytial Virus (RSV) test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for Respiratory Syncytial Virus (RSV)", + "number.max": "The number of service users that have tested positive for Respiratory Syncytial Virus (RSV) must be between 0 and 999", + "number.min": "The number of service users that have tested positive for Respiratory Syncytial Virus (RSV) must be between 0 and 999" + } + } + }, + { + "name": "StaffRSV", + "type": "NumberField", + "title": "How many staff have tested positive for Respiratory Syncytial Virus (RSV)?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive Respiratory Syncytial Virus (RSV) test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for Respiratory Syncytial Virus (RSV)", + "number.max": "The number of staff that have tested positive for Respiratory Syncytial Virus (RSV) must be between 0 and 999", + "number.min": "The number of staff that have tested positive for Respiratory Syncytial Virus (RSV) must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Both", + "path": "/both-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Both", + "path": "/both-ari-other" + }, + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/service-users-ari-rhinovirus", + "title": "Service users: number of rhinovirus cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersRhinovirus", + "type": "NumberField", + "title": "How many service users have tested positive for rhinovirus?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive rhinovirus test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for rhinovirus", + "number.max": "The number of service users that have tested positive for rhinovirus must be between 0 and 999", + "number.min": "The number of service users that have tested positive for rhinovirus must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-other" + }, + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/staff-ari-rhinovirus", + "title": "Staff: number of rhinovirus cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "StaffRhinovirus", + "type": "NumberField", + "title": "How many staff have tested positive for rhinovirus?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive rhinovirus test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for rhinovirus", + "number.max": "The number of staff that have tested positive for rhinovirus must be between 0 and 999", + "number.min": "The number of staff that have tested positive for rhinovirus must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-other" + }, + { + "path": "/staff-ari-confirmed" + } + ] + }, + { + "path": "/both-ari-rhinovirus", + "title": "Number of rhinovirus cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersRhinovirus", + "type": "NumberField", + "title": "How many service users have tested positive for rhinovirus?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive rhinovirus test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for rhinovirus", + "number.max": "The number of service users that have tested positive for rhinovirus must be between 0 and 999", + "number.min": "The number of service users that have tested positive for rhinovirus must be between 0 and 999" + } + } + }, + { + "name": "StaffRhinovirus", + "type": "NumberField", + "title": "How many staff have tested positive for rhinovirus?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive rhinovirus test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for rhinovirus", + "number.max": "The number of staff that have tested positive for rhinovirus must be between 0 and 999", + "number.min": "The number of staff that have tested positive for rhinovirus must be between 0 and 999" + } + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Both", + "path": "/both-ari-other" + }, + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/service-users-ari-other", + "title": "Service users: number of other acute respiratory infection cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersOtherARI", + "type": "NumberField", + "title": "How many service users have tested positive for an other acute respiratory infection?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive other acute respiratory infection test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for an other acute respiratory infection", + "number.max": "The number of service users that have tested positive for an other acute respiratory infection must be between 0 and 999", + "number.min": "The number of service users that have tested positive for an other acute respiratory infection must be between 0 and 999" + } + } + } + ], + "next": [ + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/staff-ari-other", + "title": "Staff: number of other acute respiratory infection cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "StaffOtherARI", + "type": "NumberField", + "title": "How many staff have tested positive for an other acute respiratory infection?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive other acute respiratory infection test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for an other acute respiratory infection", + "number.max": "The number of staff that have tested positive for an other acute respiratory infection must be between 0 and 999", + "number.min": "The number of staff that have tested positive for an other acute respiratory infection must be between 0 and 999" + } + } + } + ], + "next": [ + { + "path": "/staff-ari-confirmed" + } + ] + }, + { + "path": "/both-ari-other", + "title": "Number of other acute respiratory infection cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersOtherARI", + "type": "NumberField", + "title": "How many service users have tested positive for an other acute respiratory infection?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: confirmed positive other acute respiratory infection test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have tested positive for an other acute respiratory infection", + "number.max": "The number of service users that have tested positive for an other acute respiratory infection must be between 0 and 999", + "number.min": "The number of service users that have tested positive for an other acute respiratory infection must be between 0 and 999" + } + } + }, + { + "name": "StaffOtherARI", + "type": "NumberField", + "title": "How many staff have tested positive for an other acute respiratory infection?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: confirmed positive other acute respiratory infection test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have tested positive for an other acute respiratory infection", + "number.max": "The number of staff that have tested positive for an other acute respiratory infection must be between 0 and 999", + "number.min": "The number of staff that have tested positive for an other acute respiratory infection must be between 0 and 999" + } + } + } + ], + "next": [ + { + "path": "/service-users-ari-confirmed" + } + ] + }, + { + "path": "/service-users-ari-unknown", + "title": "Service users: number of cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "name": "ServiceUsersConfirmedARI", + "type": "NumberField", + "title": "How many service users have symptoms of an acute respiratory infection, but have not been tested for any infection?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Service users: with symptoms, but not tested", + "customValidationMessages": { + "number.base": "Enter the number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection", + "number.max": "The number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999", + "number.min": "The number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999" + } + } + }, + { + "name": "ServiceUsersTestedCovid", + "type": "NumberField", + "title": "How many service users have been tested for COVID-19 and had a negative test result?", + "hint": "If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "required": false, + "summaryTitle": "Service users: negative COVID-19 test results", + "customValidationMessages": { + "number.max": "The number of service users that have been tested for COVID-19 and had a negative test result must be between 0 and 999", + "number.min": "The number of service users that have been tested for COVID-19 and had a negative test result must be between 0 and 999" + } + } + }, + { + "name": "ServiceUsersTestedFlu", + "type": "NumberField", + "title": "How many service users have been tested for flu and had a negative test result?", + "hint": "If none, enter 0", + "options": { + "required": false, + "summaryTitle": "Service users: negative flu test results", + "customValidationMessages": { + "number.max": "The number of service users that have been tested for flu and had a negative test result must be between 0 and 999", + "number.min": "The number of service users that have been tested for flu and had a negative test result must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + } + ], + "next": [ + { + "path": "/staff-ari-unknown", + "condition": "ARIServiceOrStaff:Staff" + }, + { + "path": "/severity-of-illness-unknown" + } + ] + }, + { + "path": "/staff-ari-unknown", + "title": "Staff: number of cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "disableSingleComponentAsHeading": true, + "components": [ + { + "type": "Para", + "content": "You do not have to test staff for COVID-19. Staff that are eligible for COVID-19 treatments should test themselves at home, if they have symptoms." + }, + { + "name": "StaffSymptomsNotTested", + "type": "NumberField", + "title": "How many staff have symptoms of an acute respiratory infection, but have not been tested for any infection?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: with symptoms, but not tested", + "customValidationMessages": { + "number.base": "Enter the number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection", + "number.max": "The number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999", + "number.min": "The number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999" + } + } + }, + { + "name": "StaffTestedCovid", + "type": "NumberField", + "title": "How many staff have been tested for COVID-19 and had a negative test result?", + "hint": "If none, enter 0", + "schema": { + "min": 0, + "max": 999 + }, + "options": { + "summaryTitle": "Staff: negative COVID-19 test results", + "required": false, + "customValidationMessages": { + "number.max": "The number of staff that have been tested for COVID-19 and had a negative test result must be between 0 and 999", + "number.min": "The number of staff that have been tested for COVID-19 and had a negative test result must be between 0 and 999" + } + } + }, + { + "name": "StaffTestedFlu", + "type": "NumberField", + "title": "How many staff have been tested for flu and had a negative test result?", + "hint": "If none, enter 0", + "options": { + "required": false, + "summaryTitle": "Staff: negative flu test results", + "customValidationMessages": { + "number.max": "The number of staff that have been tested for flu and had a negative test result must be between 0 and 999", + "number.min": "The number of staff that have been tested for flu and had a negative test result must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + } + ], + "next": [ + { + "path": "/severity-of-illness-unknown" + } + ] + }, + { + "path": "/cases-of-flu", + "title": "How many cases are you reporting?", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "NumberOfCasesOfFlu", + "options": { + "summaryTitle": "Flu: number of cases" + }, + "type": "RadiosField", + "nameHasError": false, + "title": "How many cases are you reporting?", + "hint": "Include cases confirmed by a test and people with symptoms of acute respiratory infections.", + "list": "OneOrMore", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/single-case-of-flu", + "condition": "NumberOfCasesOfFlu:One" + }, + { + "path": "/ari-confirmed-cases-setting" + } + ] + }, + { + "path": "/single-case-of-flu", + "title": "Who has the case of flu?", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "SingleCaseOfFluServiceOrStaff", + "options": { + "summaryTitle": "Who has the flu?" + }, + "type": "RadiosField", + "nameHasError": false, + "title": "Who has the case of flu?", + "list": "ServiceOrStaff", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/flu-severity", + "condition": "SingleCaseOfFluServiceOrStaff:ServiceUser" + }, + { + "path": "/contact-details" + } + ] + }, + { + "path": "/service-users-flu", + "title": "Service users: number of cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "ServiceUsersFluSwabTest", + "options": { + "summaryTitle": "Service users: confirmed positive flu test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have flu confirmed by a positive swab test", + "number.max": "The number of service users that have flu confirmed by a positive swab test must be between 0 and 999", + "number.min": "The number of service users that have flu confirmed by a positive swab test must be between 0 and 999" + } + }, + "type": "NumberField", + "schema": { + "min": 0, + "max": 999 + }, + "nameHasError": false, + "title": "How many service users have flu confirmed by a positive swab test?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0" + }, + { + "name": "ServiceUsersChestInfection", + "options": { + "required": false, + "summaryTitle": "Service users: diagnosed with a chest infection by a GP", + "customValidationMessages": { + "number.max": "The number of service users that have been diagnosed with a chest infection by a GP must be between 0 and 999", + "number.min": "The number of service users that have been diagnosed with a chest infection by a GP must be between 0 and 999" + } + }, + "type": "NumberField", + "schema": { + "min": 0, + "max": 999 + }, + "nameHasError": false, + "title": "How many service users have been diagnosed with a chest infection by a GP?", + "hint": "Do not include cases that have been confirmed by a test as flu
    Include those who are currently in hospital or on visits out
    If none, enter 0" + }, + { + "name": "ServiceUsersSymptomsNotTested", + "options": { + "summaryTitle": "Service users: with symptoms, but not tested", + "customValidationMessages": { + "number.base": "Enter the number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection", + "number.max": "The number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999", + "number.min": "The number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999" + } + }, + "type": "NumberField", + "schema": { + "min": 0, + "max": 999 + }, + "nameHasError": false, + "title": "How many service users have symptoms of an acute respiratory infection, but have not been tested for any infection?", + "hint": "Do not include cases that have been confirmed by a test as flu or diagnosed by a GP as a chest infection

    Include those who are currently in hospital or on visits out
    If none, enter 0" + }, + { + "name": "ServiceUsersChestInfectionCovid19", + "options": { + "required": false, + "summaryTitle": "Service users: negative COVID-19 test results", + "customValidationMessages": { + "number.max": "The number of service users that have been tested for COVID-19 and had a negative test result must be between 0 and 999", + "number.min": "The number of service users that have been tested for COVID-19 and had a negative test result must be between 0 and 999" + } + }, + "type": "NumberField", + "schema": { + "min": 0, + "max": 999 + }, + "nameHasError": false, + "title": "How many service users have been tested for COVID-19 and had a negative test result?", + "hint": "If none, enter 0" + } + ], + "next": [ + { + "path": "/staff-flu", + "condition": "ARIServiceOrStaff:Staff" + }, + { + "path": "/flu-severity-multiple-cases" + } + ] + }, + { + "path": "/staff-flu", + "title": "Staff: number of cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "Para", + "content": "You do not have to test staff for COVID-19. Staff that are eligible for COVID-19 treatments should test themselves at home, if they have symptoms." + }, + + { + "name": "StaffFluSwabTest", + "options": { + "summaryTitle": "Staff: confirmed positive flu test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have flu confirmed by a positive swab test", + "number.max": "The number of staff that have flu confirmed by a positive swab test must be between 0 and 999", + "number.min": "The number of staff that have flu confirmed by a positive swab test must be between 0 and 999" + } + }, + "type": "NumberField", + "schema": { + "min": 0, + "max": 999 + }, + "nameHasError": false, + "title": "How many staff have flu confirmed by a positive swab test?", + "hint": "Include those who are currently in hospital
    If none, enter 0" + }, + { + "name": "StaffSymptomsNotTested", + "options": { + "required": false, + "summaryTitle": "Staff: with symptoms, but not tested", + "customValidationMessages": { + "number.max": "The number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999", + "number.min": "The number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999" + } + }, + "type": "NumberField", + "schema": { + "min": 0, + "max": 999 + }, + "nameHasError": false, + "title": "How many staff have symptoms of an acute respiratory infection, but have not been tested for any infection?", + "hint": "Include those who are currently in hospital
    If none, enter 0" + }, + { + "name": "StaffChestInfectionCovid19", + "options": { + "required": false, + "summaryTitle": "Staff: negative COVID-19 test results", + "customValidationMessages": { + "number.max": "The number of staff that have been tested for COVID-19 and had a negative test result must be between 0 and 999", + "number.min": "The number of staff that have been tested for COVID-19 and had a negative test result must be between 0 and 999" + } + }, + "type": "NumberField", + "schema": { + "min": 0, + "max": 999 + }, + "nameHasError": false, + "title": "How many staff have been tested for COVID-19 and had a negative test result?", + "hint": "If none, enter 0" + } + ], + "next": [ + { + "path": "/flu-severity-multiple-cases" + } + ] + }, + { + "path": "/symptom-onset-flu", + "title": "Symptom onset for the case of flu", + "sectionForEndSummaryPages": "SymptomOnset", + "controller": "DateComparisonPageController", + "options": { + "firstDateComponent": "FluSymptomOnsetDate" + }, + "components": [ + { + "name": "intro", + "type": "Para", + "content": "If you do not know the exact date, give an estimate." + }, + { + "name": "FluSymptomOnsetDate", + "errorLabel": "The date symptoms started", + "options": { + "maxDaysInFuture": "0", + "summaryTitle": "Symptoms started", + "customValidationMessages": { + "dayMonthYear": "Enter the date symptoms started", + "nonNumeric": "The date symptoms started must be a real date", + "date.max": "The date symptoms started must be in the past", + "date.base": "The date symptoms started must be a real date", + "date.min": "The date symptoms started must be in the past two months" + } + }, + "type": "DatePartsField", + "nameHasError": false, + "title": "When did symptoms start?", + "hint": "For example, 31 3 2024", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/contact-details" + } + ] + }, + { + "path": "/flu-severity", + "title": "Severity of the case of flu", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "SingleCaseOfFluSeverityCalledGP", + "options": { + "summaryTitle": "Have called the GP about", + "customValidationMessages": { + "any.required": "Select yes if you have called the GP because of the severity of illness" + } + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": "Have you called the GP because of the severity of illness in this case?", + "values": { + "type": "listRef" + } + }, + { + "name": "SingleCaseOfFluSeverityHospitalised", + "options": { + "summaryTitle": "Has been hospitalised", + "customValidationMessages": { + "any.required": "Select yes if the person has been hospitalised with the flu" + } + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": "Has the person been hospitalised with the flu?", + "values": { + "type": "listRef" + } + }, + { + "name": "SingleCaseOfFluSeverityDeath", + "options": { + "summaryTitle": "Has died", + "customValidationMessages": { + "any.required": "Select yes if the person has died with flu" + } + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": "Has the person died with flu in this case?", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/symptom-onset-flu" + } + ] + }, + { + "path": "/vaccination", + "title": "Vaccination among your service users and staff", + "sectionForEndSummaryPages": "Vaccinations", + "components": [ + { + "name": "ServiceUsersCovid19Vaccination", + "options": { + "required": false, + "summaryTitle": "Service users: up to date with COVID-19 vaccinations", + "customValidationMessages": { + "number.max": "The number of service users vaccinated for COVID-19 must be between 0 and 999", + "number.min": "The number of service users vaccinated for COVID-19 must be between 0 and 999" + } + }, + "type": "NumberField", + "nameHasError": false, + "schema": { + "min": 0, + "max": 999 + }, + "title": "Service users: how many are up to date with the current COVID-19 vaccination schedule?", + "values": { + "type": "listRef" + } + }, + { + "name": "ServiceUsersFluVaccination", + "options": { + "required": false, + "summaryTitle": "Service users: had the current seasonal flu vaccine ", + "customValidationMessages": { + "number.max": "The number of service users vaccinated for flu must be between 0 and 999", + "number.min": "The number of service users vaccinated for flu must be between 0 and 999" + } + }, + "type": "NumberField", + "nameHasError": false, + "schema": { + "min": 0, + "max": 999 + }, + "title": "Service users: how many have had the flu vaccine for this current winter season?", + "values": { + "type": "listRef" + } + }, + { + "name": "ServiceUsersRSVVaccination", + "options": { + "required": false, + "summaryTitle": "Service users: had the respiratory syncytial virus (RSV) vaccine", + "customValidationMessages": { + "number.max": "The number of service users vaccinated for RSV must be between 0 and 999", + "number.min": "The number of service users vaccinated for RSV must be between 0 and 999" + } + }, + "type": "NumberField", + "nameHasError": false, + "schema": { + "min": 0, + "max": 999 + }, + "title": "Service users: how many have had the respiratory syncytial virus (RSV) vaccine?", + "values": { + "type": "listRef" + } + }, + { + "name": "Spacing", + "type": "Para", + "content": "
    " + }, + { + "name": "StaffCovid19Vaccination", + "options": { + "required": false, + "summaryTitle": "Staff: up to date with COVID-19 vaccinations", + "customValidationMessages": { + "number.max": "The number of staff vaccinated for COVID-19 must be between 0 and 999", + "number.min": "The number of staff vaccinated for COVID-19 must be between 0 and 999" + } + }, + "type": "NumberField", + "nameHasError": false, + "schema": { + "min": 0, + "max": 999 + }, + "title": "Staff: how many are up to date with the current COVID-19 vaccination schedule?", + "values": { + "type": "listRef" + } + }, + { + "name": "StaffFluVaccination", + "options": { + "required": false, + "summaryTitle": "Staff: had the current seasonal flu vaccine", + "customValidationMessages": { + "number.max": "The number of staff vaccinated for flu must be between 0 and 999", + "number.min": "The number of staff vaccinated for flu must be between 0 and 999" + } + }, + "type": "NumberField", + "nameHasError": false, + "schema": { + "min": 0, + "max": 999 + }, + "title": "Staff: how many have had the flu vaccine for this current winter season?", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/ipc" + } + ] + }, + { + "path": "/other-ari-confirmed-cases-setting", + "title": "Who has an acute respiratory infection?", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "Para", + "content": "Include cases confirmed by a test and people with symptoms of acute respiratory infections." + }, + { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "title": " ", + "hint": "You can select more than one option", + "list": "ServiceOrStaffMultiple", + "options": { + "summaryTitle": "Who has the infection", + "required": true + } + } + ], + "next": [ + { + "condition": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:Both", + "path": "/both-ari-adenovirus" + }, + { + "condition": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Both", + "path": "/both-ari-hmpv" + }, + { + "condition": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Both", + "path": "/both-ari-parainfluenza" + }, + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Both", + "path": "/both-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Both", + "path": "/both-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Both", + "path": "/both-ari-other" + }, + { + "condition": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-adenovirus" + }, + { + "condition": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-hmpv" + }, + { + "condition": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-parainfluenza" + }, + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:ServiceUser", + "path": "/service-users-ari-other" + }, + { + "condition": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-adenovirus" + }, + { + "condition": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-hmpv" + }, + { + "condition": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-parainfluenza" + }, + { + "condition": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-rsv" + }, + { + "condition": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-rhinovirus" + }, + { + "condition": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Staff", + "path": "/staff-ari-other" + } + ] + }, + { + "path": "/ari-confirmed-cases-setting", + "title": "Who has an acute respiratory infection?", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "Para", + "content": "Include cases confirmed by a test and people with symptoms of acute respiratory infections." + }, + { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "title": " ", + "hint": "You can select more than one option", + "list": "ServiceOrStaffMultiple", + "options": { + "summaryTitle": "Who has the infection", + "required": true, + "customValidationMessages": { + "any.required": "Select if your service users or staff have an acute respiratory infection" + } + } + } + ], + "next": [ + { + "condition": "UnknownARI&ServiceOrStaff:ServiceUsers", + "path": "/service-users-ari-unknown" + }, + { + "condition": "UnknownARI&ServiceOrStaff:Staff", + "path": "/staff-ari-unknown" + }, + { + "path": "/service-users-flu", + "condition": "WhichARI:Flu&ARIServiceOrStaff:ServiceUsers" + }, + { + "path": "/staff-flu", + "condition": "WhichARI:Flu&ARIServiceOrStaff:Staff" + }, + { + "path": "/service-users-covid", + "condition": "WhichARI:Covid&ARIServiceOrStaff:ServiceUsers" + }, + { + "path": "/staff-covid", + "condition": "WhichARI:Covid&ARIServiceOrStaff:Staff" + }, + { + "path": "/staff-ari-confirmed" + } + ] + }, + { + "path": "/staff-ari-confirmed", + "title": "Staff: number of other cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "Para", + "content": "You do not have to test staff for COVID-19. Staff that are eligible for COVID-19 treatments should test themselves at home, if they have symptoms." + }, + { + "name": "StaffSymptomsNotTested", + "type": "NumberField", + "title": "How many staff have symptoms of an acute respiratory infection, but have not been tested for any infection?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "options": { + "required": true, + "summaryTitle": "Staff: with symptoms, but not tested", + "customValidationMessages": { + "number.base": "Enter the number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection", + "number.max": "The number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999", + "number.min": "The number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + }, + { + "name": "OtherARIStaffTestedCovid", + "type": "NumberField", + "title": "How many staff have been tested for COVID-19 and had a negative test result?", + "hint": "If none, enter 0", + "options": { + "required": false, + "summaryTitle": "Staff: negative COVID-19 test results", + "customValidationMessages": { + "number.max": "The number of staff that have been tested for COVID-19 and had a negative test result must be between 0 and 999", + "number.min": "The number of staff that have been tested for COVID-19 and had a negative test result must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + }, + { + "name": "OtherARIStaffTestedFlu", + "type": "NumberField", + "title": "How many staff have been tested for flu and had a negative test result?", + "hint": "If none, enter 0", + "options": { + "required": false, + "summaryTitle": "Staff: negative flu test results", + "customValidationMessages": { + "number.max": "The number of staff that have been tested for flu and had a negative test result must be between 0 and 999", + "number.min": "The number of staff that have been tested for flu and had a negative test result must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + } + ], + "next": [ + { + "path": "/severity-of-illness" + } + ] + }, + { + "path": "/ipc", + "title": "Infection prevention and control (IPC) and outbreak management in your setting", + "sectionForEndSummaryPages": "IPC", + "components": [ + { + "name": "IPCPractices", + "options": { + "summaryTitle": "How often you monitor staff IPC practices", + "customValidationMessages": { + "any.required": "Select how often you monitor staff infection prevention and control practices" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "How often do you monitor staff infection prevention and control practices?", + "hint": "For example, hand hygiene, use of personal protective equipment (PPE) and cleaning", + "list": "IPCPractices", + "values": { + "type": "listRef" + } + }, + { + "name": "Issues", + "options": { + "summaryTitle": "Issues you need support with", + "customValidationMessages": { + "any.required": "Select the issues you currently need support with", + "any.invalid": "Select the issues you currently need support with, or select ‘no issues’" + }, + "divider": true, + "finalValue": "No issues" + }, + "type": "CheckboxesField", + "nameHasError": false, + "title": "What issues do you currently need support with?", + "hint": "You can select more than one option", + "list": "Issues", + "values": { + "type": "listRef" + } + }, + { + "name": "AGPs", + "options": { + "summaryTitle": "Your setting undertakes aerosol generating procedures", + "customValidationMessages": { + "any.required": "Select yes if your setting undertakes aerosol generating procedures (AGPs)" + } + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": "Does your setting undertake aerosol generating procedures (AGPs)?", + "hint": "For example, inserting or removing a tracheotomy or ostomy, sputum induction, respiratory tract suctioning below the oro-pharynx (mouth suctioning is not an AGP)", + "values": { + "type": "listRef" + } + }, + { + "name": "MediaInterest", + "options": { + "summaryTitle": "Media interest", + "required": false + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": "Are you aware of any media interest in this outbreak?", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/agps", + "condition": "AGPs:yes" + }, + { + "path": "/agency-staff" + } + ] + }, + { + "path": "/flu-severity-multiple-cases", + "title": "Severity of illness", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "Para", + "content": "Include cases confirmed by a test and people with symptoms of acute respiratory infections." + }, + { + "name": "FluSeverityCalledGPMultipleCases", + "options": { + "summaryTitle": "People you have called the GP about", + "customValidationMessages": { + "any.required": "Select the number of service users you have called the GP about because of the severity of illness" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "How many service users have you called the GP about because of the severity of illness in this outbreak?", + "list": "CaseNumbers", + "values": { + "type": "listRef" + } + }, + { + "name": "FluSeverityAntibiotics", + "title": "How many service users or staff have been given antibiotics for their respiratory symptoms?", + "type": "NumberField", + "options": { + "summaryTitle": "People who have been given antibiotics", + "required": false, + "customValidationMessages": { + "number.min": "The number of service users or staff that have been given antibiotics for their respiratory symptoms must be between 0 and 999", + "number.max": "The number of service users or staff that have been given antibiotics for their respiratory symptoms must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + }, + { + "name": "FluSeverityHospitalisedMultipleCases", + "options": { + "summaryTitle": "People who have been hospitalised", + "customValidationMessages": { + "any.required": "Select the number of service users or staff that have been hospitalised because of an acute respiratory infection" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "How many service users or staff have been hospitalised because of an acute respiratory infection in this outbreak?", + "list": "CaseNumbers", + "values": { + "type": "listRef" + } + }, + { + "name": "FluSeverityDeathMultipleCases", + "options": { + "summaryTitle": "People who have died", + "customValidationMessages": { + "any.required": "Select the number of service users or staff that have died because of an acute respiratory infection" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "How many service users or staff have died because of an acute respiratory infection in this outbreak?", + "list": "CaseNumbers", + "values": { + "type": "listRef" + } + }, + { + "name": "FluSeveritySpecificArea", + "title": "Are the cases linked to a specific area of the setting?", + "type": "RadiosField", + "nameHasError": false, + "list": "FluSeveritySpecificArea", + "options": { + "summaryTitle": "Cases linked to specific area", + "customValidationMessages": { + "any.required": "Select if the cases are linked to a specific area of the setting" + } + }, + "schema": {}, + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/ari-unknown-cases-setting", + "condition": "WhichARI:Other" + }, + { + "path": "/symptom-onset" + } + ] + }, + { + "path": "/service-users-covid", + "title": "Service users: number of cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "NumberField", + "name": "ServiceUsersCovidTestPositive", + "title": "How many service users have COVID-19 confirmed by a positive test?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "options": { + "required": true, + "summaryTitle": "Service users: confirmed positive COVID-19 test results", + "customValidationMessages": { + "number.base": "Enter the number of service users that have COVID-19 confirmed by a positive test", + "number.max": "The number of service users that have COVID-19 confirmed by a positive test must be between 0 and 999", + "number.min": "The number of service users that have COVID-19 confirmed by a positive test must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + }, + { + "type": "NumberField", + "name": "ServiceUsersSymptomsNotTested", + "title": "How many service users have symptoms of an acute respiratory infection, but have not been tested for any infection?", + "hint": "Include those who are currently in hospital or on visits out
    If none, enter 0", + "options": { + "required": true, + "summaryTitle": "Service users: with symptoms, but not tested", + "customValidationMessages": { + "number.base": "Enter the number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection", + "number.max": "The number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999", + "number.min": "The number of service users that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + } + ], + "next": [ + { + "condition": "WhichARI:Covid&ARIServiceOrStaff:Staff", + "path": "/staff-covid" + }, + { + "path": "/severity-of-illness" + } + ] + }, + { + "path": "/staff-covid", + "title": "Staff: number of cases", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "type": "Para", + "content": "You do not have to test staff for COVID-19. Staff that are eligible for COVID-19 treatments should test themselves at home, if they have symptoms." + }, + { + "type": "NumberField", + "name": "StaffCovidTestPositive", + "title": "How many staff have COVID-19 confirmed by a positive test?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "options": { + "required": true, + "summaryTitle": "Staff: confirmed positive COVID-19 test results", + "customValidationMessages": { + "number.base": "Enter the number of staff that have COVID-19 confirmed by a positive test", + "number.max": "The number of staff that have COVID-19 confirmed by a positive test must be between 0 and 999", + "number.min": "The number of staff that have COVID-19 confirmed by a positive test must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + }, + { + "type": "NumberField", + "name": "StaffSymptomsNotTested", + "title": "How many staff have symptoms of an acute respiratory infection, but have not been tested for any infection?", + "hint": "Include those who are currently in hospital
    If none, enter 0", + "options": { + "required": true, + "summaryTitle": "Staff: with symptoms, but not tested", + "customValidationMessages": { + "number.base": "Enter the number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection", + "number.max": "The number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999", + "number.min": "The number of staff that have symptoms of an acute respiratory infection, but have not been tested for any infection must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + } + ], + "next": [ + { + "path": "/severity-of-illness" + } + ] + }, + { + "path": "/severity-of-illness", + "title": "Severity of illness in this outbreak", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "severityIntro", + "type": "Para", + "content": "Include cases confirmed by a test and people with symptoms of acute respiratory infections.", + "options": {} + }, + { + "name": "SeverityGPCalls", + "type": "RadiosField", + "title": "How many service users have you called the GP about because of the severity of illness in this outbreak?", + "list": "CaseNumbers", + "options": { + "required": true, + "summaryTitle": "People you have called the GP about", + "customValidationMessages": { + "any.required": "Select the number of service users you have called the GP about because of the severity of illness" + } + } + }, + { + "name": "SeverityHospitalisations", + "type": "RadiosField", + "title": "How many service users or staff have been hospitalised because of an acute respiratory infection in this outbreak?", + "list": "CaseNumbers", + "options": { + "required": true, + "summaryTitle": "People who have been hospitalised", + "customValidationMessages": { + "any.required": "Select the number of service users or staff that have been hospitalised because of an acute respiratory infection" + } + } + }, + { + "name": "SeverityDeaths", + "type": "RadiosField", + "title": "How many service users or staff have died because of an acute respiratory infection in this outbreak?", + "list": "CaseNumbers", + "options": { + "required": true, + "summaryTitle": "People who have died", + "customValidationMessages": { + "any.required": "Select the number of service users or staff that have been died because of an acute respiratory infection" + } + } + } + ], + "next": [ + { + "path": "/symptom-onset" + } + ] + }, + { + "path": "/severity-of-illness-unknown", + "title": "Severity of illness in this outbreak", + "sectionForEndSummaryPages": "InfectionsInYourSetting", + "components": [ + { + "name": "SeverityGPCalls", + "type": "RadiosField", + "title": "How many service users have you called the GP about because of the severity of illness in this outbreak?", + "list": "CaseNumbers", + "options": { + "required": true, + "summaryTitle": "People you have called the GP about" + } + }, + { + "name": "SeverityAntibiotics", + "title": "How many service users or staff have been given antibiotics for their respiratory symptoms?", + "type": "NumberField", + "options": { + "summaryTitle": "People who have been given antibiotics", + "required": false, + "customValidationMessages": { + "number.min": "The number of service users or staff that have been given antibiotics for their respiratory symptoms must be between 0 and 999", + "number.max": "The number of service users or staff that have been given antibiotics for their respiratory symptoms must be between 0 and 999" + } + }, + "schema": { + "min": 0, + "max": 999 + } + }, + { + "name": "SeverityHospitalisations", + "type": "RadiosField", + "title": "How many service users or staff have been hospitalised because of an acute respiratory infection in this outbreak?", + "list": "CaseNumbers", + "options": { + "summaryTitle": "People who have been hospitalised", + "required": true + } + }, + { + "name": "SeverityDeaths", + "type": "RadiosField", + "title": "How many service users or staff have died because of an acute respiratory infection in this outbreak?", + "list": "CaseNumbers", + "options": { + "summaryTitle": "People who have died", + "required": true + } + }, + { + "name": "SeveritySpecificArea", + "title": "Are the cases linked to a specific area of the setting?", + "type": "RadiosField", + "nameHasError": false, + "list": "FluSeveritySpecificArea", + "options": { + "summaryTitle": "Cases linked to specific area" + }, + "schema": {}, + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/symptom-onset" + } + ] + }, + { + "path": "/symptom-onset", + "title": "Symptom onset of cases in this outbreak", + "sectionForEndSummaryPages": "SymptomOnset", + "controller": "DateComparisonPageController", + "options": { + "firstDateComponent": "FirstCaseOnset", + "secondDateComponent": "MostRecentCaseOnset" + }, + "components": [ + { + "name": "introText1", + "type": "Para", + "content": "Include cases confirmed by a test and also service users and staff with symptoms of acute respiratory infections.", + "options": {} + }, + { + "name": "introText2", + "type": "Para", + "content": "If you do not know the exact date, give an estimate.", + "options": {} + }, + { + "name": "FirstCaseOnset", + "type": "DatePartsField", + "title": "When did symptoms start in the first case in this outbreak?", + "errorLabel": "The date symptoms started in the first case of this outbreak", + "hint": "For example, 31 3 2024", + "options": { + "summaryTitle": "First case: symptoms started", + "required": true, + "maxDaysInFuture": 0, + "customValidationMessages": { + "nonNumeric": "The date symptoms started in the first case of this outbreak must be a real date", + "dayMonthYear": "Enter the date symptoms started in the first case of this outbreak", + "date.max": "The date symptoms started in the first case of this outbreak must be in the past", + "date.base": "The date symptoms started in the first case of this outbreak must be a real date", + "date.min": "The date symptoms started in the first case of this outbreak must be in the past two months" + } + } + }, + { + "name": "MostRecentCaseOnset", + "type": "DatePartsField", + "errorLabel": "The date symptoms started in the most recent case of this outbreak", + "title": "When did symptoms start in the most recent case in this outbreak?", + "hint": "For example, 31 3 2024", + "options": { + "summaryTitle": "Most recent case: symptoms started", + "required": true, + "maxDaysInFuture": 0, + "customValidationMessages": { + "dayMonthYear": "Enter the date symptoms started in the most recent case of this outbreak", + "nonNumeric": "The date symptoms started in the most recent case of this outbreak must be a real date", + "date.max": "The date symptoms started in the most recent case of this outbreak must be in the past", + "date.base": "The date symptoms started in the most recent case of this outbreak must be a real date", + "date.min": "The date symptoms started in the most recent case of this outbreak must be the same as or after the first case" + } + } + } + ], + "next": [ + { + "path": "/vaccination" + } + ] + }, + { + "path": "/agps", + "title": "Do staff carrying out aerosol generating procedures (AGPs) wear fit-tested FFP3 masks?", + "sectionForEndSummaryPages": "IPC", + "components": [ + { + "name": "FFP3Masks", + + "options": { + "summaryTitle": "Staff wear fit-tested FFP3 masks", + "customValidationMessages": { + "any.required": "Select if staff carrying out aerosol generating procedures (AGPs) wear fit-tested FFP3 masks" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "Do staff carrying out aerosol generating procedures (AGPs) wear fit-tested FFP3 masks?", + "list": "FFP3Masks", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/agency-staff" + } + ] + }, + { + "path": "/agency-staff", + "title": "Do you use agency staff or share staff with other care settings?", + "sectionForEndSummaryPages": "Staffing", + "components": [ + { + "name": "AgencyStaff", + "options": { + "summaryTitle": "You use agency staff or share staff with other settings", + "customValidationMessages": { + "any.required": "Select yes if you use agency staff or share staff with other care settings" + } + }, + "type": "RadiosField", + "list": "YesNo", + "nameHasError": false, + "title": "Do you use agency staff or share staff with other care settings?", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/contact-details", + "condition": "AgencyStaff:No" + }, + { + "path": "/additional-staff" + } + ] + }, + { + "path": "/additional-staff", + "title": "How many additional agency staff or staff from other care settings have you used during this outbreak?", + "sectionForEndSummaryPages": "Staffing", + "components": [ + { + "name": "AdditionalStaff", + "options": { + "summaryTitle": "Agency staff or staff from other settings", + "customValidationMessages": { + "any.required": "Select the number of additional agency staff or staff from other care settings you have used during this outbreak" + } + }, + "type": "RadiosField", + "nameHasError": false, + "title": "How many additional agency staff or staff from other care settings have you used during this outbreak?", + "list": "AdditionalStaff", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/contact-details" + } + ] + }, + { + "path": "/setting-details", + "title": "Setting details", + "sectionForEndSummaryPages": "SettingDetails", + "components": [ + { + "name": "SettingName", + "options": { + "summaryTitle": "Setting name", + "customValidationMessages": { + "string.empty": "Enter your setting name", + "string.base": "Enter your setting name" + } + }, + "type": "TextField", + "nameHasError": false, + "title": "Your setting name", + + "hint": "The name of the setting where the cases are located, not the management company", + "values": { + "type": "listRef" + } + }, + { + "name": "SettingPostcode", + "options": { + "summaryTitle": "Setting postcode", + "customValidationMessages": { + "string.empty": "Enter postcode", + "string.pattern.base": "Enter a full UK postcode" + } + }, + "type": "TextField", + "nameHasError": false, + "title": "Your setting postcode", + "hint": "The postcode of the setting where the cases are located, not the management company.", + "schema": { + "regex": "^[A-z]{1,2}[0-9][A-z0-9]?[\\s]*[0-9]{1,2}[ABD-hJLNP-uW-z]{2}$" + } + }, + { + "name": "CQCRegistered", + "options": { + "summaryTitle": "Registered with the Care Quality Commission (CQC)", + "customValidationMessages": { + "any.required": "Select yes if your setting is registered with the Care Quality Commission (CQC)" + }, + "conditionallyRevealedComponents": { + "CQCLocationID": { + "type": "TextField", + "name": "CQCLocationID", + "title": "Enter your CQC location ID, for example, 1-123456789", + "sectionForEndSummaryPages": "SettingDetails", + "options": { + "summaryTitle": "CQC location ID", + "customValidationMessages": { + "string.empty": "CQC location ID cannot be blank", + "string.pattern.base": "Enter a CQC location ID in the correct format" + } + }, + "schema": { + "regex": "^(?:1-\\d{9,11}|[A-Z][A-Z0-9]{4,6})$" + } + } + } + }, + "type": "RadiosField", + "list": "CQCYesNo", + "nameHasError": false, + "title": "Is your care setting registered with the Care Quality Commission (CQC)?", + "values": { + "type": "listRef" + } + }, + { + "name": "nMOTdlmry", + "options": {}, + "type": "Para", + "content": "\n Find your CQC location ID in the care directory on the CQC website (opens in a new tab). The CQC location ID is listed on the ‘Registration details’ page for your care setting.", + "schema": {} + } + ], + "next": [ + { + "path": "/positive-ari" + } + ] + }, + { + "path": "/contact-details", + "title": "Contact details", + "sectionForEndSummaryPages": "ContactDetails", + "components": [ + { + "name": "heading1", + "options": { + "required": false + }, + "type": "Para", + "content": "

    Enter a contact to receive:

    • an acknowledgment email including a copy of the answers submitted
    • advice by email
    • a follow up phone call (depending on the risk level)

    If possible, provide a work phone number and email address instead of personal contact details.

    Main contact

    ", + "schema": {} + }, + { + "name": "MainContactName", + "options": { + "summaryTitle": "Main contact", + "customValidationMessages": { + "string.empty": "Enter a main contact's full name", + "string.max": "Main contact's name must be 99 characters or less" + } + }, + "schema": { + "max": 99 + }, + "type": "TextField", + "nameHasError": false, + "title": "Full name", + "values": { + "type": "listRef" + } + }, + { + "name": "MainContactJobTitle", + "options": { + "required": false, + "summaryTitle": "Job title", + "customValidationMessages": { + "string.max": "Main contact's job title must be 99 characters or less" + } + }, + "schema": { + "max": 99 + }, + "type": "TextField", + "nameHasError": false, + "title": "Job title", + "hint": "For example, manager, senior carer", + "values": { + "type": "listRef" + } + }, + { + "name": "MainContactPhoneNumber", + "options": { + "summaryTitle": "Phone number", + "customValidationMessages": { + "string.empty": "Enter a main contact's phone number", + "string.pattern.base": "Enter a main contact's phone number, like 01632 960 001 or 07700 900 982" + } + }, + "type": "TelephoneNumberField", + "nameHasError": false, + "title": "Phone number", + "values": { + "type": "listRef" + }, + "schema": { + "regex": "(?!0{5,})(((\\+44\\s?(?!4|6)\\d{4}|\\(?0(?!4|6)\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?(?!4|6)\\d{3}|\\(?0(?!4|6)\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?(?!4|6)\\d{2}|\\(?0(?!4|6)\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?\\#(\\d{4}|\\d{3}))?" + } + }, + { + "name": "MainContactEmailAddress", + "options": { + "exposeToContext": true, + "summaryTitle": "Email address", + "customValidationMessages": { + "string.empty": "Enter a main contact's email address", + "string.pattern.base": "Enter a main contact's email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "nameHasError": false, + "title": "Email address", + "values": { + "type": "listRef" + } + }, + { + "name": "heading1", + "options": { + "required": false + }, + "type": "Para", + "content": "

    Additional contact

    Enter another contact to also receive the emails. We will use this phone number if the main contact is not available.

    ", + "schema": {} + }, + { + "name": "AltContactName", + "options": { + "required": false, + "summaryTitle": "Additional contact", + "customValidationMessages": { + "string.max": "Additional contact's name must be 99 characters or less" + } + }, + "schema": { + "max": 99 + }, + "type": "TextField", + "nameHasError": false, + "title": "Full name", + "values": { + "type": "listRef" + } + }, + { + "name": "AltContactJobTitle", + "options": { + "required": false, + "summaryTitle": "Additional contact’s job title", + "customValidationMessages": { + "string.max": "Additional contact's job title must be 99 characters or less" + } + }, + "schema": { + "max": 99 + }, + "type": "TextField", + "nameHasError": false, + "title": "Job title", + "hint": "For example, manager, senior carer", + "values": { + "type": "listRef" + } + }, + { + "name": "AltContactPhoneNumber", + "options": { + "required": false, + "summaryTitle": "Additional phone number", + "customValidationMessages": { + "string.pattern.base": "Enter an additional contact's phone number, like 01632 960 001 or 07700 900 982" + } + }, + "type": "TelephoneNumberField", + "nameHasError": false, + "title": "Phone number", + "values": { + "type": "listRef" + }, + "schema": { + "regex": "(?!0{5,})(((\\+44\\s?(?!4|6)\\d{4}|\\(?0(?!4|6)\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?(?!4|6)\\d{3}|\\(?0(?!4|6)\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?(?!4|6)\\d{2}|\\(?0(?!4|6)\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?\\#(\\d{4}|\\d{3}))?" + } + }, + { + "name": "AltContactEmailAddress", + "options": { + "required": false, + "summaryTitle": "Additional email address", + "customValidationMessages": { + "string.pattern.base": "Enter an additional contact's email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "nameHasError": false, + "title": "Email address", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/service-users" + } + ] + }, + { + "path": "/service-users", + "title": "Service users and staff", + "sectionForEndSummaryPages": "ServiceUsersAndStaff", + "components": [ + { + "name": "ServiceUsersTypes", + "options": { + "summaryTitle": "The majority of your service users", + "customValidationMessages": { + "any.required": "Select the options that best describe the majority of your service users" + } + }, + "type": "CheckboxesField", + "nameHasError": false, + "title": "Select the options that best describe the majority of your service users", + "hint": "You can select more than one option", + "list": "ServiceUsersTypes", + "values": { + "type": "listRef" + } + }, + { + "name": "ServiceUsersCurrentlyLive", + "options": { + "summaryTitle": "People that live in your setting or use your service", + "customValidationMessages": { + "number.base": "Enter the number of service users that currently live in your care setting or use your service", + "number.max": "The number of service users that currently live in your care setting or use your service must be between 0 and 999", + "number.min": "The number of service users that currently live in your care setting or use your service must be between 0 and 999" + } + }, + "type": "NumberField", + "nameHasError": false, + "schema": { + "min": 0, + "max": 999 + }, + "title": "How many service users currently live in your care setting or use your service?", + "hint": "Include those who are currently in hospital or on visits out", + "list": "ServiceUsersTypes" + }, + { + "name": "StaffNumber", + "options": { + "summaryTitle": "Staff that work in your care setting or service", + "customValidationMessages": { + "number.base": "Enter the number of staff that currently work in your care setting or service", + "number.max": "The number of staff that currently work in your care setting or service must be between 0 and 999", + "number.min": "The number of staff that currently work in your care setting or service must be between 0 and 999" + } + }, + "type": "NumberField", + "schema": { + "min": 0, + "max": 999 + }, + "nameHasError": false, + "title": "How many staff currently work in your care setting or service?" + }, + { + "name": "EmptyBeds", + "options": { + "required": false, + "summaryTitle": "Empty beds", + "customValidationMessages": { + "number.max": "The number of empty beds that you have in your care setting must be between 0 and 999", + "number.min": "The number of empty beds that you have in your care setting must be between 0 and 999" + } + }, + "type": "NumberField", + "schema": { + "min": 0, + "max": 999 + }, + "nameHasError": false, + "title": "How many empty beds do you have in your care setting?", + "hint": "If you do not know, leave this blank" + } + ], + "next": [ + { + "path": "/summary" + } + ] + }, + { + "path": "/summary", + "controller": "CustomSummaryPageController", + "title": "Check your answers before sending your report", + "options": { + "customText": { + "insetText": "You will only see answers to questions that are relevant to your report.", + "endContent": "

    Now send your report

    Your responses will be shared with your local UKHSA health protection team, local authority, local community infection prevention control team and the NHS. They will use your information to help you manage your situation.

    By submitting this report you confirm that the details are correct to the best of your knowledge. You confirm that you have not included any personally identifiable information for service users, for example names or dates of birth.

    " + } + }, + "next": [] + } + ], + "lists": [ + { + "title": "cqc-yes-no", + "name": "CQCYesNo", + "type": "string", + "items": [ + { + "text": "Yes", + "value": "CQCLocationID" + }, + { + "text": "No", + "value": "false" + } + ] + }, + { + "title": "yes-no", + "name": "YesNo", + "type": "string", + "items": [ + { + "text": "Yes", + "value": "true" + }, + { + "text": "No", + "value": "false" + } + ] + }, + { + "title": "yes-no-sure", + "name": "YesNoSure", + "type": "string", + "items": [ + { + "text": "Yes", + "value": "Yes" + }, + { + "text": "No", + "value": "No" + }, + { + "text": "Not sure", + "value": "Not sure" + } + ] + }, + { + "title": "infection-types", + "name": "InfectionTypes", + "type": "string", + "items": [ + { + "text": "COVID-19", + "value": "COVID-19" + }, + { + "text": "Flu", + "value": "Flu" + }, + { + "text": "Any other acute respiratory infection", + "value": "Any other acute respiratory infection", + "checkpointDisplayValue": "Other acute respiratory infection (not COVID-19 or flu)", + "description": "including viruses such as respiratory syncytial virus (RSV), adenovirus, human metapneumovirus (hMPV), parainfluenza and rhinovirus" + } + ] + }, + { + "title": "ari-infection-types", + "name": "ARIInfectionType", + "type": "string", + "items": [ + { + "text": "Adenovirus", + "value": "Adenovirus" + }, + { + "text": "Human Metapneumovirus (hMPV)", + "value": "Human Metapneumovirus (hMPV)" + }, + { + "text": "Parainfluenza", + "value": "Parainfluenza" + }, + { + "text": "Respiratory Syncytial Virus (RSV)", + "value": "Respiratory Syncytial Virus (RSV)" + }, + { + "text": "Rhinovirus", + "value": "Rhinovirus" + }, + { + "text": "Other acute respiratory infection", + "value": "Other acute respiratory infection" + } + ] + }, + { + "title": "social-care-provider-type", + "name": "MpSRIP", + "type": "string", + "items": [ + { + "text": "Residential care home", + "value": "Residential care home" + }, + { + "text": "Nursing care home", + "value": "Nursing care home" + }, + { + "text": "Residential and nursing care home", + "value": "Residential and nursing care home" + }, + { + "text": "Supported living", + "value": "Supported living or extra care (not high risk)" + }, + { + "text": "Extra care", + "value": "Extra care" + }, + { + "text": "Rehabilitation, reablement or respite", + "value": "Rehabilitation, reablement or respite" + }, + { + "text": "Other adult social care", + "value": "OtherAdultSocialCare" + } + ] + }, + { + "title": "one-or-more", + "name": "OneOrMore", + "type": "string", + "items": [ + { + "text": "1", + "value": "One" + }, + { + "text": "2 or more", + "value": "2 or more" + } + ] + }, + { + "title": "service-or-staff", + "name": "ServiceOrStaff", + "type": "string", + "items": [ + { + "text": "Service user", + "value": "Service user" + }, + { + "text": "Staff", + "value": "Staff" + } + ] + }, + { + "title": "service-or-staff-multiple", + "name": "ServiceOrStaffMultiple", + "type": "string", + "items": [ + { + "text": "Service users", + "value": "Service users" + }, + { + "text": "Staff", + "value": "Staff" + } + ] + }, + { + "title": "ipc-practices", + "name": "IPCPractices", + "type": "string", + "items": [ + { + "text": "more than once a month", + "value": "more than once a month" + }, + { + "text": "every 1 to 6 months", + "value": "every 1 to 6 months" + }, + { + "text": "every 7 to 12 months", + "value": "every 7 to 12 months" + }, + { + "text": "less than every 12 months", + "value": "less than every 12 months" + }, + { + "text": "we do not monitor infection prevention and control practices", + "value": "we do not monitor infection prevention and control practices" + } + ] + }, + { + "title": "case-numbers", + "name": "CaseNumbers", + "type": "string", + "items": [ + { + "text": "0", + "value": "None" + }, + { + "text": "1", + "value": "One" + }, + { + "text": "2 to 3", + "value": "2 to 3" + }, + { + "text": "4 to 5", + "value": "4 to 5" + }, + { + "text": "More than 5", + "value": "More than 5" + }, + { + "text": "I do not know", + "value": "I do not know" + } + ] + }, + { + "title": "issues", + "name": "Issues", + "type": "string", + "items": [ + { + "text": "COVID-19: access to treatments", + "value": "COVID-19 - access to treatments" + }, + { + "text": "COVID-19: LFD test kit supply", + "value": "COVID-19 - LFD test kit supply" + }, + { + "text": "Hand hygiene", + "value": "Hand hygiene" + }, + { + "text": "Keeping symptomatic service users away from others", + "value": "Keeping symptomatic service users away from others" + }, + { + "text": "New admissions or transfer of service users", + "value": "New admissions or transfer of service users" + }, + { + "text": "Staffing", + "value": "Staffing" + }, + { + "text": "Supply of PPE", + "value": "Supply of PPE" + }, + { + "text": "Use of PPE", + "value": "Use of PPE" + }, + { + "text": "Visits", + "value": "Visits" + }, + { + "text": "Waste, cleaning or laundry", + "value": "Waste, cleaning or laundry" + }, + { + "text": "No issues", + "value": "No issues" + } + ] + }, + { + "title": "ffp3-masks", + "name": "FFP3Masks", + "type": "string", + "items": [ + { + "text": "All", + "value": "All" + }, + { + "text": "Some", + "value": "Some" + }, + { + "text": "None", + "value": "None" + }, + { + "text": "I do not know", + "value": "I do not know" + } + ] + }, + { + "title": "additional-staff", + "name": "AdditionalStaff", + "type": "string", + "items": [ + { + "text": "Fewer than 5", + "value": "Fewer than 5" + }, + { + "text": "5 or more", + "value": "5 or more" + } + ] + }, + { + "title": "service-users-types", + "name": "ServiceUsersTypes", + "type": "string", + "items": [ + { + "text": "People with learning difficulties or learning disabilities", + "value": "People with learning difficulties or learning disabilities" + }, + { + "text": "People with physical disabilities or severe medical conditions", + "value": "People with physical disabilities or severe medical conditions" + }, + { + "text": "People with mental health needs", + "value": "People with mental health needs" + }, + { + "text": "People with substance misuse issues", + "value": "People with substance misuse issues" + }, + { + "text": "People living with dementia", + "value": "People living with dementia" + }, + { + "text": "Under 65 years", + "value": "Under 65 years" + }, + { + "text": "65 years or over", + "value": "65 years or over" + } + ] + }, + { + "title": "HPTs", + "name": "HPTs", + "type": "string", + "items": [ + { + "text": "North East", + "value": "North East" + }, + { + "text": "North West", + "value": "North West" + }, + { + "text": "Yorkshire and the Humber", + "value": "Yorkshire and the Humber HPT" + }, + { + "text": "East Midlands", + "value": "East Midlands" + }, + { + "text": "West Midlands", + "value": "West Midlands HPT" + }, + { + "text": "East of England", + "value": "East of England HPT" + }, + { + "text": "London", + "value": "London" + }, + { + "text": "South East", + "value": "South East" + }, + { + "text": "South West", + "value": "South West HPT" + } + ] + }, + { + "title": "flu-severity-specific-area", + "name": "FluSeveritySpecificArea", + "type": "string", + "items": [ + { + "text": "Cases are all within one specific area", + "value": "Cases are all within one specific area" + }, + { + "text": "Cases are across more than one area", + "value": "Cases are across more than one area" + }, + { + "text": "Not sure", + "value": "Not sure" + }, + { + "text": "Not applicable to my setting (for example, not residential)", + "value": "Not applicable to my setting (for example, not residential)" + } + ] + } + ], + "sections": [ + { + "name": "Staffing", + "title": "Staffing" + }, + { + "name": "IPC", + "title": "Infection prevention and control (IPC) and outbreak management in your setting" + }, + { + "name": "ServiceUsersAndStaff", + "title": "Service users and staff" + }, + { + "name": "Vaccinations", + "title": "Vaccinations" + }, + { + "name": "SymptomOnset", + "title": "Symptom onset" + }, + { + "name": "ContactDetails", + "title": "Contact details" + }, + { + "name": "SettingDetails", + "title": "Setting details" + }, + { + "name": "AcuteInfections", + "title": "Acute respiratory infections in your setting" + }, + { + "name": "Covid19InYourSetting", + "title": "COVID-19 in your setting" + }, + { + "name": "OtherInYourSetting", + "title": "Other infections in your setting" + }, + { + "name": "InfectionYouAreReporting", + "title": "Infection you are reporting" + }, + { + "name": "InfectionsInYourSetting", + "title": "Infections in your setting" + } + ], + "conditions": [ + { + "displayName": "HPTRegionActive", + "name": "HPTRegionActive", + "value": { + "name": "HPTRegionActive", + "conditions": [ + { + "field": { + "name": "HPT", + "type": "RadiosField", + "display": "region" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "West Midlands HPT", + "display": "West Midlands" + } + }, + { + "coordinator": "or", + "field": { + "name": "HPT", + "type": "RadiosField", + "display": "region" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "East of England HPT", + "display": "East of England" + } + }, + { + "coordinator": "or", + "field": { + "name": "HPT", + "type": "RadiosField", + "display": "region" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "South West HPT", + "display": "South West" + } + }, + { + "coordinator": "or", + "field": { + "name": "HPT", + "type": "RadiosField", + "display": "region" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Yorkshire and the Humber HPT", + "display": "Yorkshire and the Humber" + } + } + ] + } + }, + { + "displayName": "UnknownARI&ServiceOrStaff:ServiceUsers", + "name": "UnknownARI&ServiceOrStaff:ServiceUsers", + "value": { + "name": "UnknownARI&ServiceOrStaff:ServiceUsers", + "conditions": [ + { + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + }, + { + "coordinator": "and", + "field": { + "name": "PositiveARI", + "type": "RadiosField", + "display": "Do you have any positive test results for an acute respiratory infection?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "false", + "display": "No" + } + } + ] + } + }, + { + "displayName": "UnknownARI&ServiceOrStaff:Staff", + "name": "UnknownARI&ServiceOrStaff:Staff", + "value": { + "name": "UnknownARI&ServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + }, + { + "coordinator": "and", + "field": { + "name": "PositiveARI", + "type": "RadiosField", + "display": "Do you have any positive test results for an acute respiratory infection?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "false", + "display": "No" + } + } + ] + } + }, + { + "displayName": "OtherARIServiceOrStaff:ServiceUsers", + "name": "OtherARIServiceOrStaff:ServiceUsers", + "value": { + "name": "OtherARIServiceOrStaff:ServiceUsers", + "conditions": [ + { + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "OtherARIServiceOrStaff:Both", + "name": "OtherARIServiceOrStaff:Both", + "value": { + "name": "OtherARIServiceOrStaff:Both", + "conditions": [ + { + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:Both", + "name": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:Both", + "value": { + "name": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:Both", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Adenovirus", + "display": "Adenovirus" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:ServiceUser", + "name": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:ServiceUser", + "value": { + "name": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:ServiceUser", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Adenovirus", + "display": "Adenovirus" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:ServiceUser", + "name": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:ServiceUser", + "value": { + "name": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:ServiceUser", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Human Metapneumovirus (hMPV)", + "display": "Human Metapneumovirus (hMPV)" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:ServiceUser", + "name": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:ServiceUser", + "value": { + "name": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:ServiceUser", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Parainfluenza", + "display": "Parainfluenza" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:RSV&OtherARIServiceOrStaff:ServiceUser", + "name": "ARIInfectionType:RSV&OtherARIServiceOrStaff:ServiceUser", + "value": { + "name": "ARIInfectionType:RSV&OtherARIServiceOrStaff:ServiceUser", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Respiratory Syncytial Virus (RSV)", + "display": "Respiratory Syncytial Virus (RSV)" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:ServiceUser", + "name": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:ServiceUser", + "value": { + "name": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:ServiceUser", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Rhinovirus", + "display": "Rhinovirus" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:ServiceUser", + "name": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:ServiceUser", + "value": { + "name": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:ServiceUser", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Other acute respiratory infection", + "display": "Other acute respiratory infection" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:Staff", + "name": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:Staff", + "value": { + "name": "ARIInfectionType:Adenovirus&OtherARIServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Adenovirus", + "display": "Adenovirus" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Staff", + "name": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Staff", + "value": { + "name": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Human Metapneumovirus (hMPV)", + "display": "Human Metapneumovirus (hMPV)" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Staff", + "name": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Staff", + "value": { + "name": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Parainfluenza", + "display": "Parainfluenza" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Staff", + "name": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Staff", + "value": { + "name": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Respiratory Syncytial Virus (RSV)", + "display": "Respiratory Syncytial Virus (RSV)" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Staff", + "name": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Staff", + "value": { + "name": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Rhinovirus", + "display": "Rhinovirus" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Staff", + "name": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Staff", + "value": { + "name": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Other acute respiratory infection", + "display": "Other acute respiratory infection" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Both", + "name": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Both", + "value": { + "name": "ARIInfectionType:Hmpv&OtherARIServiceOrStaff:Both", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Human Metapneumovirus (hMPV)", + "display": "Human Metapneumovirus (hMPV)" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Both", + "name": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Both", + "value": { + "name": "ARIInfectionType:Parainfluenza&OtherARIServiceOrStaff:Both", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Parainfluenza", + "display": "Parainfluenza" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Both", + "name": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Both", + "value": { + "name": "ARIInfectionType:RSV&OtherARIServiceOrStaff:Both", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Respiratory Syncytial Virus (RSV)", + "display": "Respiratory Syncytial Virus (RSV)" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Both", + "name": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Both", + "value": { + "name": "ARIInfectionType:Rhinovirus&OtherARIServiceOrStaff:Both", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Rhinovirus", + "display": "Rhinovirus" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Both", + "name": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Both", + "value": { + "name": "ARIInfectionType:Unknown&OtherARIServiceOrStaff:Both", + "conditions": [ + { + "field": { + "name": "ARIInfectionType", + "type": "CheckboxesField", + "display": "What infection are you reporting?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Other acute respiratory infection", + "display": "Other acute respiratory infection" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + }, + { + "coordinator": "and", + "field": { + "name": "OtherARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "PositiveARI:No", + "name": "PositiveARI:No", + "value": { + "name": "PositiveARI:No", + "conditions": [ + { + "field": { + "name": "PositiveARI", + "type": "RadiosField", + "display": "Do you have any positive test results for an acute respiratory infection?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "false", + "display": "false" + } + } + ] + } + }, + { + "displayName": "TwoOrMoreARI:No", + "name": "TwoOrMoreARI:No", + "value": { + "name": "TwoOrMoreARI:No", + "conditions": [ + { + "field": { + "name": "TwoOrMoreARI", + "type": "RadiosField", + "display": "Are you reporting 2 or more cases of an acute respiratory infection?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "false", + "display": "false" + } + } + ] + } + }, + { + "displayName": "TwoOrMoreCovid:No", + "name": "TwoOrMoreCovid:No", + "value": { + "name": "TwoOrMoreCovid:No", + "conditions": [ + { + "field": { + "name": "TwoOrMoreCovid", + "type": "RadiosField", + "display": "Are you reporting 2 or more cases?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "false", + "display": "false" + } + } + ] + } + }, + { + "displayName": "WhichARI:FLU", + "name": "WhichARI:FLU", + "value": { + "name": "WhichARI:FLU", + "conditions": [ + { + "field": { + "name": "WhichARI", + "type": "RadiosField", + "display": "Which acute respiratory infection do you have a positive test result for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Flu", + "display": "Flu" + } + } + ] + } + }, + { + "displayName": "WhichARI:COVID19", + "name": "WhichARI:COVID19", + "value": { + "name": "WhichARI:COVID19", + "conditions": [ + { + "field": { + "name": "WhichARI", + "type": "RadiosField", + "display": "Which acute respiratory infection do you have a positive test result for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "COVID-19", + "display": "COVID-19" + } + } + ] + } + }, + { + "displayName": "WhichARI:Other", + "name": "WhichARI:Other", + "value": { + "name": "WhichARI:Other", + "conditions": [ + { + "field": { + "name": "WhichARI", + "type": "RadiosField", + "display": "Which acute respiratory infection do you have a positive test result for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Any other acute respiratory infection", + "display": "Any other acute respiratory infection" + } + } + ] + } + }, + { + "displayName": "ReportCovid:No", + "name": "ReportCovid:No", + "value": { + "name": "ReportCovid:No", + "conditions": [ + { + "field": { + "name": "TwoOrMoreCovid5days", + "type": "RadiosField", + "display": "Did symptoms in 2 or more cases of COVID-19 start within 5 days of each other?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "No", + "display": "No" + } + }, + { + "coordinator": "or", + "field": { + "name": "TwoOrMoreCovidSpread", + "type": "RadiosField", + "display": "Is it possible that at least 2 of the cases of COVID-19 are linked by spread in your setting?​" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "No", + "display": "No" + } + } + ] + } + }, + { + "displayName": "WhichARI:Covid&ARIServiceOrStaff:ServiceUsers", + "name": "WhichARI:Covid&ARIServiceOrStaff:ServiceUsers", + "value": { + "name": "WhichARI:Covid&ARIServiceOrStaff:ServiceUsers", + "conditions": [ + { + "field": { + "name": "WhichARI", + "type": "RadiosField", + "display": "Which acute respiratory infection do you have a positive test result for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "COVID-19", + "display": "COVID-19" + } + }, + { + "coordinator": "and", + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "WhichARI:Covid&ARIServiceOrStaff:Staff", + "name": "WhichARI:Covid&ARIServiceOrStaff:Staff", + "value": { + "name": "WhichARI:Covid&ARIServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "WhichARI", + "type": "RadiosField", + "display": "Which acute respiratory infection do you have a positive test result for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "COVID-19", + "display": "COVID-19" + } + }, + { + "coordinator": "and", + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "WhichARI:Flu&ARIServiceOrStaff:ServiceUsers", + "name": "WhichARI:Flu&ARIServiceOrStaff:ServiceUsers", + "value": { + "name": "WhichARI:Flu&ARIServiceOrStaff:ServiceUsers", + "conditions": [ + { + "field": { + "name": "WhichARI", + "type": "RadiosField", + "display": "Which acute respiratory infection do you have a positive test result for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Flu", + "display": "Flu" + } + }, + { + "coordinator": "and", + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "WhichARI:Flu&ARIServiceOrStaff:Staff", + "name": "WhichARI:Flu&ARIServiceOrStaff:Staff", + "value": { + "name": "WhichARI:Flu&ARIServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "WhichARI", + "type": "RadiosField", + "display": "Which acute respiratory infection do you have a positive test result for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Flu", + "display": "Flu" + } + }, + { + "coordinator": "and", + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + + { + "displayName": "TwoOrMoreCasesNotCovidFlu:YES", + "name": "TwoOrMoreCasesNotCovidFlu:YES", + "value": { + "name": "TwoOrMoreCasesNotCovidFlu:YES", + "conditions": [ + { + "field": { + "name": "TwoOrMoreCasesNotCovidFlu", + "type": "RadiosField", + "display": "Are you reporting 2 or more cases of an acute respiratory infection that is not COVID-19 or flu?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "true", + "display": "true" + } + } + ] + } + }, + { + "displayName": "SingleCaseOfFluServiceOrStaff:ServiceUser", + "name": "SingleCaseOfFluServiceOrStaff:ServiceUser", + "value": { + "name": "SingleCaseOfFluServiceOrStaff:ServiceUser", + "conditions": [ + { + "field": { + "name": "SingleCaseOfFluServiceOrStaff", + "type": "RadiosField", + "display": "Who has the case of flu?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Service user", + "display": "Service user" + } + } + ] + } + }, + { + "displayName": "NumberOfCasesOfFlu:One", + "name": "NumberOfCasesOfFlu:One", + "value": { + "name": "NumberOfCasesOfFlu:One", + "conditions": [ + { + "field": { + "name": "NumberOfCasesOfFlu", + "type": "RadiosField", + "display": "How many cases of flu are you reporting?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "One", + "display": "1" + } + } + ] + } + }, + { + "displayName": "ARIServiceOrStaff:ServiceUsers", + "name": "ARIServiceOrStaff:ServiceUsers", + "value": { + "name": "ARIServiceOrStaff:ServiceUsers", + "conditions": [ + { + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + } + ] + } + }, + { + "displayName": "ARIServiceOrStaff:Staff", + "name": "ARIServiceOrStaff:Staff", + "value": { + "name": "ARIServiceOrStaff:Staff", + "conditions": [ + { + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "ARIServiceOrStaff:Both", + "name": "ARIServiceOrStaff:Both", + "value": { + "name": "ARIServiceOrStaff:Both", + "conditions": [ + { + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Service users", + "display": "Service users" + } + }, + { + "coordinator": "and", + "field": { + "name": "ARIServiceOrStaff", + "type": "CheckboxesField", + "display": "Who are you reporting cases or symptoms of an acute respiratory infection in?" + }, + "operator": "contains", + "value": { + "type": "Value", + "value": "Staff", + "display": "Staff" + } + } + ] + } + }, + { + "displayName": "AGPs:yes", + "name": "AGPs:yes", + "value": { + "name": "AGPs:yes", + "conditions": [ + { + "field": { + "name": "AGPs", + "type": "RadiosField", + "display": "Does your setting undertake aerosol generating procedures (AGPs)?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "true", + "display": "true" + } + } + ] + } + }, + { + "displayName": "AgencyStaff:No", + "name": "AgencyStaff:No", + "value": { + "name": "AgencyStaff:No", + "conditions": [ + { + "field": { + "name": "AgencyStaff", + "type": "RadiosField", + "display": "Do you use agency staff or share staff with other care settings?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "false", + "display": "false" + } + } + ] + } + } + ], + "fees": [], + "outputs": [ + { + "name": "WEBHOOOK", + "title": "CareOBRA SalesForce", + "type": "webhook", + "outputConfiguration": { + "url": "${Webhook.URL}" + } + } + ], + "version": 2, + "skipSummary": false, + "name": "Report an outbreak", + "feedback": { + "feedbackForm": true, + "url": "/feedback" + }, + "phaseBanner": { + "phase": "beta" + }, + "specialPages": { + "confirmationPage": { + "customText": { + "nextSteps": "

    What happens next

    We will send 2 automated emails to {{ MainContactEmailAddress }}.

    An acknowledgement email will give you your reference number and a copy of the information you've provided. The email will tell you if you have a low-risk COVID-19 outbreak, a medium-risk COVID-19 outbreak, a high-priority outbreak, or a single case of flu.

    An advice email will give you information specific to your situation to help you prevent the spread of infection. It explains what to expect from your local UKHSA health protection team or the community infection control team.

    If these emails do not arrive within one hour, or you need urgent advice, telephone your local UKHSA health protection team (opens in a new tab) or community infection control team.

    If your outbreak is high priority on a weekend or bank holiday

    If your acknowledgement or advice email tells you that your outbreak is assessed as high priority on a weekend or a bank holiday, you also need to telephone your local UKHSA health protection team (opens in a new tab). Call during the daytime if possible. If you do not call the health protection team, a member of the health protection team will only call you on the next working day.

    If you need urgent medical advice

    If you need urgent medical advice, you can call NHS 111 or visit 111.nhs.uk (opens in a new tab). For life-threatening emergencies, call 999.

    Give feedback on this service

    This is a new service. Help us improve it and give your feedback (opens in new tab).

    ", + "title": "Report sent", + "referenceTitle": "Your outbreak reference number", + "referenceContent": "Use this number if you need to contact the UKHSA health protection team about your outbreak." + } + } + }, + "jwtKey": "${jwtKey}" +} diff --git a/runner/src/server/forms/close-contact-feedback.json b/runner/src/server/forms/close-contact-feedback.json new file mode 100644 index 0000000000..932a27df05 --- /dev/null +++ b/runner/src/server/forms/close-contact-feedback.json @@ -0,0 +1,129 @@ +{ + "metadata": {}, + "startPage": "/feedback", + "pages": [ + { + "title": "Give feedback on Surge Response Service", + "path": "/feedback", + "components": [ + { + "name": "czEhuv", + "options": { + "customValidationMessages": { + "any.required": "Select how you feel about this service" + } + }, + "type": "RadiosField", + "title": "Overall, how do you feel about this service?", + "list": "bJAhcr", + "schema": {} + }, + { + "name": "JDcVLN", + "options": { + "customValidationMessages": { + "string.empty": "Enter details about how we could improve this service", + "string.pattern.base": "Enter details about how we could improve this service" + } + }, + "type": "MultilineTextField", + "title": "How could we improve this service?", + "hint": "Do not include any personal or sensitive information.", + "schema": {} + }, + { + "name": "nlsnaO", + "options": {}, + "type": "Html", + "content": "

    If you want a reply (optional)

    " + }, + { + "name": "nXASKT", + "options": {}, + "type": "Para", + "content": "If you'd like us to get back to you, please leave your details below.\n", + "schema": {} + }, + { + "name": "wVLIXA", + "options": { + "required": false, + "optionalText": false + }, + "type": "TextField", + "title": "Your name", + "schema": {} + }, + { + "name": "FjmgiN", + "options": { + "required": false, + "optionalText": false + }, + "type": "EmailAddressField", + "title": "Your email address", + "hint": "We'll only use this to reply to your message", + "schema": {} + } + ], + "next": [{ "path": "/summary" }] + }, + { + "title": "Summary", + "path": "/summary", + "controller": "./pages/summary.js", + "components": [], + "next": [] + } + ], + "lists": [ + { + "title": "Overall, how do you feel about this service?", + "name": "bJAhcr", + "type": "string", + "items": [ + { "text": "Very satisfied", "value": "very-satisfied" }, + { "text": "Satisfied", "value": "satisfied" }, + { + "text": "Neither satisfied nor dissatisfied", + "value": "neither-satisfied-nor-dissatisfied" + }, + { "text": "Dissatisfied", "value": "dissatisfied" }, + { "text": "Very dissatisfied", "value": "very-dissatisfied" } + ] + } + ], + "sections": [], + "conditions": [], + "fees": [], + "outputs": [ + { + "name": "FeedbackForm", + "title": "Close contact FeedbackForm", + "type": "email", + "outputConfiguration": { + "apiKey": "${closeContactFeedbackAPI}", + "emailAddress": "${closeContactFeedbackEmail}", + "notifyTemplateId": "2218d301-9005-472c-8116-cb5e533a8bf1" + } + } + ], + "version": 2, + "skipSummary": true, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "name": "Give feedback on Surge Response Service", + "feedback": { "feedbackForm": true, "url": "" }, + "phaseBanner": {}, + "specialPages": { + "confirmationPage": { + "customText": { + "nextSteps": "

    Thank you for submitting feedback

    If you gave us your name and email, we will respond within 5 working days.

    Return to the homepage

    ", + "hidePanel": true + } + } + } +} diff --git a/runner/src/server/forms/close-contact-form-cca-nl1-dev.json b/runner/src/server/forms/close-contact-form-cca-nl1-dev.json new file mode 100644 index 0000000000..e78450b630 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-cca-nl1-dev.json @@ -0,0 +1,4205 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Record close contact details for a member of the public", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "This service is for agents to contact members of the public in order to record their close contact details after they have tested positive for bird (avian) flu.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service for both inbound and outbound calls.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You will ask this person about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help completing this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Have you received a positive test result for bird (avian) flu?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { + "hideTitle": true, + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you have received a positive test result for bird (avian) flu" + } + }, + "type": "RadiosField", + "title": "Have you received a positive test result for bird (avian) flu?", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Provide at least one contact detail

    " + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person they are completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they over 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people they live with", + "value": "the name and contact details of people they live with" + }, + { + "text": "the name and contact details of other people they were in close contact with in the last 7 days", + "value": "the name and contact details of other people they were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Yes", "value": "you" }, + { + "text": "They are completing it on behalf of someone who has", + "value": "they" + } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Yes, contact them directly", "value": "Yes" }, + { + "text": "No, contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl1.dev.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-cca-nl1-test.json b/runner/src/server/forms/close-contact-form-cca-nl1-test.json new file mode 100644 index 0000000000..d7a266e985 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-cca-nl1-test.json @@ -0,0 +1,4205 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Record close contact details for a member of the public", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "This service is for agents to contact members of the public in order to record their close contact details after they have tested positive for bird (avian) flu.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service for both inbound and outbound calls.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You will ask this person about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help completing this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Have you received a positive test result for bird (avian) flu?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { + "hideTitle": true, + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you have received a positive test result for bird (avian) flu" + } + }, + "type": "RadiosField", + "title": "Have you received a positive test result for bird (avian) flu?", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Provide at least one contact detail

    " + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person they are completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they over 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people they live with", + "value": "the name and contact details of people they live with" + }, + { + "text": "the name and contact details of other people they were in close contact with in the last 7 days", + "value": "the name and contact details of other people they were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Yes", "value": "you" }, + { + "text": "They are completing it on behalf of someone who has", + "value": "they" + } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Yes, contact them directly", "value": "Yes" }, + { + "text": "No, contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl1.test.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-cca-nl4.json b/runner/src/server/forms/close-contact-form-cca-nl4.json new file mode 100644 index 0000000000..b7b13b5d63 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-cca-nl4.json @@ -0,0 +1,4205 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Record close contact details for a member of the public", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "This service is for agents to contact members of the public in order to record their close contact details after they have tested positive for bird (avian) flu.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service for both inbound and outbound calls.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You will ask this person about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help completing this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Have you received a positive test result for bird (avian) flu?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { + "hideTitle": true, + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you have received a positive test result for bird (avian) flu" + } + }, + "type": "RadiosField", + "title": "Have you received a positive test result for bird (avian) flu?", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Provide at least one contact detail

    " + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person they are completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they over 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people they live with", + "value": "the name and contact details of people they live with" + }, + { + "text": "the name and contact details of other people they were in close contact with in the last 7 days", + "value": "the name and contact details of other people they were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Yes", "value": "you" }, + { + "text": "They are completing it on behalf of someone who has", + "value": "they" + } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Yes, contact them directly", "value": "Yes" }, + { + "text": "No, contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl4.dev.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-cca-nl5.json b/runner/src/server/forms/close-contact-form-cca-nl5.json new file mode 100644 index 0000000000..bf61fb82d2 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-cca-nl5.json @@ -0,0 +1,4205 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Record close contact details for a member of the public", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "This service is for agents to contact members of the public in order to record their close contact details after they have tested positive for bird (avian) flu.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service for both inbound and outbound calls.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You will ask this person about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help completing this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Have you received a positive test result for bird (avian) flu?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { + "hideTitle": true, + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you have received a positive test result for bird (avian) flu" + } + }, + "type": "RadiosField", + "title": "Have you received a positive test result for bird (avian) flu?", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Provide at least one contact detail

    " + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person they are completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they over 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people they live with", + "value": "the name and contact details of people they live with" + }, + { + "text": "the name and contact details of other people they were in close contact with in the last 7 days", + "value": "the name and contact details of other people they were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Yes", "value": "you" }, + { + "text": "They are completing it on behalf of someone who has", + "value": "they" + } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Yes, contact them directly", "value": "Yes" }, + { + "text": "No, contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl5.test.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-cca-nl7.json b/runner/src/server/forms/close-contact-form-cca-nl7.json new file mode 100644 index 0000000000..10f898ffa1 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-cca-nl7.json @@ -0,0 +1,4205 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Record close contact details for a member of the public", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "This service is for agents to contact members of the public in order to record their close contact details after they have tested positive for bird (avian) flu.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service for both inbound and outbound calls.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You will ask this person about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help completing this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Have you received a positive test result for bird (avian) flu?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { + "hideTitle": true, + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you have received a positive test result for bird (avian) flu" + } + }, + "type": "RadiosField", + "title": "Have you received a positive test result for bird (avian) flu?", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Provide at least one contact detail

    " + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person they are completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they over 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people they live with", + "value": "the name and contact details of people they live with" + }, + { + "text": "the name and contact details of other people they were in close contact with in the last 7 days", + "value": "the name and contact details of other people they were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Yes", "value": "you" }, + { + "text": "They are completing it on behalf of someone who has", + "value": "they" + } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Yes, contact them directly", "value": "Yes" }, + { + "text": "No, contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl7.dev.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-cca-nl8.json b/runner/src/server/forms/close-contact-form-cca-nl8.json new file mode 100644 index 0000000000..28e9398aab --- /dev/null +++ b/runner/src/server/forms/close-contact-form-cca-nl8.json @@ -0,0 +1,4205 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Record close contact details for a member of the public", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "This service is for agents to contact members of the public in order to record their close contact details after they have tested positive for bird (avian) flu.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service for both inbound and outbound calls.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You will ask this person about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help completing this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Have you received a positive test result for bird (avian) flu?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { + "hideTitle": true, + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you have received a positive test result for bird (avian) flu" + } + }, + "type": "RadiosField", + "title": "Have you received a positive test result for bird (avian) flu?", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Provide at least one contact detail

    " + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person they are completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they over 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people they live with", + "value": "the name and contact details of people they live with" + }, + { + "text": "the name and contact details of other people they were in close contact with in the last 7 days", + "value": "the name and contact details of other people they were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Yes", "value": "you" }, + { + "text": "They are completing it on behalf of someone who has", + "value": "they" + } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Yes, contact them directly", "value": "Yes" }, + { + "text": "No, contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl8.test.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-cca-uat.json b/runner/src/server/forms/close-contact-form-cca-uat.json new file mode 100644 index 0000000000..41eb91b264 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-cca-uat.json @@ -0,0 +1,4205 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Record close contact details for a member of the public", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "This service is for agents to contact members of the public in order to record their close contact details after they have tested positive for bird (avian) flu.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service for both inbound and outbound calls.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You will ask this person about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help completing this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Have you received a positive test result for bird (avian) flu?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { + "hideTitle": true, + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you have received a positive test result for bird (avian) flu" + } + }, + "type": "RadiosField", + "title": "Have you received a positive test result for bird (avian) flu?", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Provide at least one contact detail

    " + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person they are completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they over 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one person. They will be asked if they want to add another person after they've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "They can add more than one close contact. They will be asked if they want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    Are they 18 and able to speak for themselves?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If not, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people they live with", + "value": "the name and contact details of people they live with" + }, + { + "text": "the name and contact details of other people they were in close contact with in the last 7 days", + "value": "the name and contact details of other people they were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Yes", "value": "you" }, + { + "text": "They are completing it on behalf of someone who has", + "value": "they" + } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Yes, contact them directly", "value": "Yes" }, + { + "text": "No, contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl3.uat.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-hpt-nl1-dev.json b/runner/src/server/forms/close-contact-form-hpt-nl1-dev.json new file mode 100644 index 0000000000..2c039dcfe2 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-hpt-nl1-dev.json @@ -0,0 +1,4203 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + } + ], + "next": [{ "path": "/case-id" }], + "controller": "./pages/start.js" + }, + { + "title": "Enter the case ID of the person who needs contact tracing", + "path": "/case-id", + "components": [ + { + "name": "case_id", + "options": {}, + "type": "TextField", + "title": "Case ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "section": "CaseID" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl1.dev.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-hpt-nl1-test.json b/runner/src/server/forms/close-contact-form-hpt-nl1-test.json new file mode 100644 index 0000000000..3cd5501e40 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-hpt-nl1-test.json @@ -0,0 +1,4203 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + } + ], + "next": [{ "path": "/case-id" }], + "controller": "./pages/start.js" + }, + { + "title": "Enter the case ID of the person who needs contact tracing", + "path": "/case-id", + "components": [ + { + "name": "case_id", + "options": {}, + "type": "TextField", + "title": "Case ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "section": "CaseID" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl1.test.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-hpt-nl4.json b/runner/src/server/forms/close-contact-form-hpt-nl4.json new file mode 100644 index 0000000000..05e5c36111 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-hpt-nl4.json @@ -0,0 +1,4203 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + } + ], + "next": [{ "path": "/case-id" }], + "controller": "./pages/start.js" + }, + { + "title": "Enter the case ID of the person who needs contact tracing", + "path": "/case-id", + "components": [ + { + "name": "case_id", + "options": {}, + "type": "TextField", + "title": "Case ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "section": "CaseID" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl4.dev.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-hpt-nl5.json b/runner/src/server/forms/close-contact-form-hpt-nl5.json new file mode 100644 index 0000000000..07651b6c97 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-hpt-nl5.json @@ -0,0 +1,4203 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + } + ], + "next": [{ "path": "/case-id" }], + "controller": "./pages/start.js" + }, + { + "title": "Enter the case ID of the person who needs contact tracing", + "path": "/case-id", + "components": [ + { + "name": "case_id", + "options": {}, + "type": "TextField", + "title": "Case ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "section": "CaseID" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl5.test.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-hpt-nl7.json b/runner/src/server/forms/close-contact-form-hpt-nl7.json new file mode 100644 index 0000000000..cb75b2d140 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-hpt-nl7.json @@ -0,0 +1,4203 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + } + ], + "next": [{ "path": "/case-id" }], + "controller": "./pages/start.js" + }, + { + "title": "Enter the case ID of the person who needs contact tracing", + "path": "/case-id", + "components": [ + { + "name": "case_id", + "options": {}, + "type": "TextField", + "title": "Case ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "section": "CaseID" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl7.dev.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-hpt-nl8.json b/runner/src/server/forms/close-contact-form-hpt-nl8.json new file mode 100644 index 0000000000..eadd4b6059 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-hpt-nl8.json @@ -0,0 +1,4203 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + } + ], + "next": [{ "path": "/case-id" }], + "controller": "./pages/start.js" + }, + { + "title": "Enter the case ID of the person who needs contact tracing", + "path": "/case-id", + "components": [ + { + "name": "case_id", + "options": {}, + "type": "TextField", + "title": "Case ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "section": "CaseID" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl8.test.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-hpt-uat.json b/runner/src/server/forms/close-contact-form-hpt-uat.json new file mode 100644 index 0000000000..e8966e4b69 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-hpt-uat.json @@ -0,0 +1,4203 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + } + ], + "next": [{ "path": "/case-id" }], + "controller": "./pages/start.js" + }, + { + "title": "Enter the case ID of the person who needs contact tracing", + "path": "/case-id", + "components": [ + { + "name": "case_id", + "options": {}, + "type": "TextField", + "title": "Case ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "section": "CaseID" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl3.uat.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-nl1-dev.json b/runner/src/server/forms/close-contact-form-nl1-dev.json new file mode 100644 index 0000000000..66275c7ead --- /dev/null +++ b/runner/src/server/forms/close-contact-form-nl1-dev.json @@ -0,0 +1,4202 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl1.dev.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-nl1-test.json b/runner/src/server/forms/close-contact-form-nl1-test.json new file mode 100644 index 0000000000..61c563ff07 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-nl1-test.json @@ -0,0 +1,4202 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl1.test.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-nl4.json b/runner/src/server/forms/close-contact-form-nl4.json new file mode 100644 index 0000000000..c4f6c6eeae --- /dev/null +++ b/runner/src/server/forms/close-contact-form-nl4.json @@ -0,0 +1,4202 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl4.dev.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-nl5.json b/runner/src/server/forms/close-contact-form-nl5.json new file mode 100644 index 0000000000..502119bdd1 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-nl5.json @@ -0,0 +1,4202 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl5.test.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-nl7.json b/runner/src/server/forms/close-contact-form-nl7.json new file mode 100644 index 0000000000..105019ae00 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-nl7.json @@ -0,0 +1,4202 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl7.dev.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-nl8.json b/runner/src/server/forms/close-contact-form-nl8.json new file mode 100644 index 0000000000..4b63907660 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-nl8.json @@ -0,0 +1,4202 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl8.test.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/close-contact-form-uat.json b/runner/src/server/forms/close-contact-form-uat.json new file mode 100644 index 0000000000..2d46aec2d7 --- /dev/null +++ b/runner/src/server/forms/close-contact-form-uat.json @@ -0,0 +1,4202 @@ +{ + "metadata": {}, + "startPage": "/start", + "pages": [ + { + "title": "Tell us about people you've been in close contact with", + "path": "/start", + "components": [ + { + "name": "para1", + "options": {}, + "type": "Para", + "content": "To help us reduce the spread of bird (avian) flu, it's important for us to know who you live with and who you've been in close contact with.", + "schema": {} + }, + { + "name": "para2", + "options": {}, + "type": "Para", + "content": "This is so we can provide the right advice and guidance to those that need it.", + "schema": {} + }, + { + "name": "para3", + "options": {}, + "type": "Para", + "content": "You can use this service on behalf of someone else.", + "schema": {} + }, + { + "name": "ifAKep", + "options": {}, + "type": "Html", + "content": "

    Before you start

    ", + "schema": {} + }, + { + "name": "tKEFcw", + "options": {}, + "type": "Para", + "content": "You'll be asked about:", + "schema": {} + }, + { + "name": "NYuNvb", + "options": {}, + "type": "List", + "title": "Close contacts", + "list": "yRnBmv", + "schema": {} + }, + { + "name": "QlWuFo", + "options": {}, + "type": "Para", + "content": "This form should take about 10 minutes to complete.", + "schema": {} + }, + { + "name": "TqEyQM", + "options": {}, + "type": "Para", + "content": "Any information you provide will be handled in strict confidence and will only be kept and used in line with data protection laws.", + "schema": {} + }, + { + "name": "gfOVOL", + "options": {}, + "type": "Html", + "content": "

    If you need help completing this form

    ", + "schema": {} + }, + { + "name": "jmslVl", + "options": {}, + "type": "Para", + "content": "If you need help to complete this form, contact 111.", + "schema": {} + }, + { + "name": "disease_name", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Disease", + "schema": {} + }, + { + "name": "reference_id", + "options": { + "allowPrePopulation": true, + "allowPrePopulationOverwrite": true, + "classes": "govuk-visually-hidden", + "hideTitle": true, + "disableChangingFromSummary": true, + "required": false + }, + "type": "TextField", + "title": "Reference ID", + "schema": {} + } + ], + "next": [{ "path": "/completing-form-for" }], + "controller": "./pages/start.js" + }, + { + "title": "Who are you completing this form for?", + "path": "/completing-form-for", + "components": [ + { + "name": "for", + "options": { "hideTitle": true, "exposeToContext": true }, + "type": "RadiosField", + "title": "Who this form is for", + "list": "ApjoNd" + } + ], + "next": [ + { "path": "/your-personal-details", "condition": "atPVdy" }, + { "path": "/other-persons-details", "condition": "Dpirys" } + ], + "section": "PersonalInformation" + }, + { + "path": "/your-personal-details", + "title": "Your personal details", + "components": [ + { + "name": "VnYxYj", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Your first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Your last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "VnYxYi", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide a mobile number, email or both" + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-your-details" }], + "section": "PersonalInformation" + }, + { + "path": "/other-persons-details", + "title": "Details of the person I am completing this form on behalf of", + "components": [ + { + "name": "CIzhtp", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Their first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Their last (family) name" + }, + { + "name": "VnYxYja", + "options": {}, + "type": "Html", + "content": "

    Date of birth

    " + }, + { + "name": "date_of_birth", + "options": { "hideTitle": true }, + "type": "DatePartsField", + "title": "Your date of birth", + "hint": "For example, 27 3 2005" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "type": "RadiosField", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/check-their-details" }], + "section": "PersonalInformation" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-your-details", + "components": [], + "next": [{ "path": "/do-you-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "title": "Check these details are correct before continuing", + "path": "/check-their-details", + "components": [], + "next": [{ "path": "/do-they-live-with-other-people" }], + "controller": "MiniSummaryPageController" + }, + { + "path": "/do-you-live-with-other-people", + "title": "Do you live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivE", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you live with other people" + } + }, + "type": "YesNoField", + "title": "Do you live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people you live with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleYouLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleYouLiveWith" } + ], + "section": "PeopleYouLiveWith" + }, + { + "path": "/do-they-live-with-other-people", + "title": "Do they live with other people?", + "components": [ + { + "name": "AdEVNK", + "options": {}, + "type": "Para", + "content": "This includes:" + }, + { + "name": "kjpRbq", + "options": {}, + "type": "List", + "title": "This includes:", + "list": "BfWivF", + "values": { "type": "listRef" } + }, + { + "name": "live_with_others", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if they live with other people" + } + }, + "type": "YesNoField", + "title": "Do they live with other people?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people the person you're completing this form for lives with who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { + "path": "/person-live-with-1", + "condition": "IfPeopleTheyLiveWith" + }, + { "path": "/close-contact", "condition": "IfNoPeopleTheyLiveWith" } + ], + "section": "PeopleTheyLiveWith" + }, + { + "path": "/person-live-with-1", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-1" }], + "section": "PersonYouLiveWith1" + }, + { + "path": "/person-live-with-added-1", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-2", + "condition": "AddAnotherPersonYouLiveWithYes1" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo1" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-2", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-2" }], + "section": "PersonYouLiveWith2" + }, + { + "path": "/person-live-with-added-2", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-3", + "condition": "AddAnotherPersonYouLiveWithYes2" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo2" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-3", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-3" }], + "section": "PersonYouLiveWith3" + }, + { + "path": "/person-live-with-added-3", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-4", + "condition": "AddAnotherPersonYouLiveWithYes3" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo3" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-4", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-4" }], + "section": "PersonYouLiveWith4" + }, + { + "path": "/person-live-with-added-4", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-5", + "condition": "AddAnotherPersonYouLiveWithYes4" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo4" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-5", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-5" }], + "section": "PersonYouLiveWith5" + }, + { + "path": "/person-live-with-added-5", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-6", + "condition": "AddAnotherPersonYouLiveWithYes5" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo5" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-6", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-6" }], + "section": "PersonYouLiveWith6" + }, + { + "path": "/person-live-with-added-6", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-7", + "condition": "AddAnotherPersonYouLiveWithYes6" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo6" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-7", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-7" }], + "section": "PersonYouLiveWith7" + }, + { + "path": "/person-live-with-added-7", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-8", + "condition": "AddAnotherPersonYouLiveWithYes7" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo7" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-8", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-8" }], + "section": "PersonYouLiveWith8" + }, + { + "path": "/person-live-with-added-8", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-9", + "condition": "AddAnotherPersonYouLiveWithYes8" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo8" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-9", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/person-live-with-added-9" }], + "section": "PersonYouLiveWith9" + }, + { + "path": "/person-live-with-added-9", + "title": "Person", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Do {{ PersonalInformation.for }} live with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherPersonYouLiveWith9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other people to add", + "schema": {} + } + ], + "next": [ + { + "path": "/person-live-with-10", + "condition": "AddAnotherPersonYouLiveWithYes9" + }, + { + "path": "/close-contact", + "condition": "AddAnotherPersonYouLiveWithNo9" + } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/person-live-with-10", + "title": "Details of a person {{ PersonalInformation.for }} live with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one person. You will be asked if you want to add another person after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "First (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact" }], + "section": "PersonYouLiveWith10" + }, + { + "path": "/close-contact", + "title": "Have {{ PersonalInformation.for }} been in close contact with other people in the last 7 days?", + "components": [ + { + "name": "EiNVay", + "options": {}, + "type": "Para", + "content": "This does not include people {{ PersonalInformation.for }} live with. A close contact is someone {{ PersonalInformation.for }} have been near to and could have passed the virus on to. This includes anyone {{ PersonalInformation.for }} have:" + }, + { + "name": "TCnLHZ", + "options": {}, + "type": "List", + "title": "Close contact list", + "list": "yDwqlv" + }, + { + "name": "been_in_contact", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select 'yes' if you need to provide one or more close contacts" + } + }, + "type": "YesNoField", + "title": "Are there other close contacts from the last 7 days?", + "schema": {} + }, + { + "name": "SUlWLU", + "options": {}, + "type": "Details", + "title": "Why are we asking for this information?", + "content": "We ask this to identify people who may be at risk. We may contact them to offer advice and guidance on how to keep themselves and others safe." + } + ], + "next": [ + { "path": "/close-contact-1", "condition": "IfCloseContacts" }, + { "path": "/summary", "condition": "IfNoCloseContacts" } + ], + "section": "OtherContacts" + }, + { + "path": "/close-contact-1", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-1" }], + "section": "CloseContact1" + }, + { + "path": "/close-contact-added-1", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact1", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-2", + "condition": "AddAnotherCloseContactYes1" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo1" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-2", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-2" }], + "section": "CloseContact2" + }, + { + "path": "/close-contact-added-2", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact2", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-3", + "condition": "AddAnotherCloseContactYes2" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo2" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-3", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-3" }], + "section": "CloseContact3" + }, + { + "path": "/close-contact-added-3", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact3", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-4", + "condition": "AddAnotherCloseContactYes3" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo3" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-4", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-4" }], + "section": "CloseContact4" + }, + { + "path": "/close-contact-added-4", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact4", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-5", + "condition": "AddAnotherCloseContactYes4" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo4" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-5", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-5" }], + "section": "CloseContact5" + }, + { + "path": "/close-contact-added-5", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact5", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-6", + "condition": "AddAnotherCloseContactYes5" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo5" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-6", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-6" }], + "section": "CloseContact6" + }, + { + "path": "/close-contact-added-6", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact6", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-7", + "condition": "AddAnotherCloseContactYes6" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo6" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-7", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-7" }], + "section": "CloseContact7" + }, + { + "path": "/close-contact-added-7", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact7", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-8", + "condition": "AddAnotherCloseContactYes7" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo7" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-8", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-8" }], + "section": "CloseContact8" + }, + { + "path": "/close-contact-added-8", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact8", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-9", + "condition": "AddAnotherCloseContactYes8" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo8" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-9", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/close-contact-added-9" }], + "section": "CloseContact9" + }, + { + "path": "/close-contact-added-9", + "title": "Close contact", + "components": [ + { + "name": "AnotherPersonSubheading", + "options": {}, + "type": "Html", + "content": "

    Have {{ PersonalInformation.for }} been in close contact with anyone else?

    ", + "schema": {} + }, + { + "name": "AnotherCloseContact9", + "options": { "hideTitle": true, "disableChangingFromSummary": true }, + "type": "YesNoField", + "title": "'Yes' if there are other close contacts to add", + "schema": {} + } + ], + "next": [ + { + "path": "/close-contact-10", + "condition": "AddAnotherCloseContactYes9" + }, + { "path": "/summary", "condition": "AddAnotherCloseContactNo9" } + ], + "controller": "RepeatingSectionSummaryPageController" + }, + { + "path": "/close-contact-10", + "title": "Details of the person {{ PersonalInformation.for }}'ve been in close contact with", + "components": [ + { + "name": "iulooA", + "options": {}, + "type": "Para", + "content": "You can add more than one close contact. You will be asked if you want to add another after you've added this one." + }, + { + "name": "CIzhtn", + "options": {}, + "type": "Html", + "content": "

    Full name

    " + }, + { + "name": "first_name", + "options": {}, + "type": "TextField", + "title": "Close contact first (given) name" + }, + { + "name": "last_name", + "options": {}, + "type": "TextField", + "title": "Close contact last (family) name" + }, + { + "name": "mWvTOY", + "options": {}, + "type": "Html", + "content": "

    How should we contact this person to provide them with advice and guidance?

    " + }, + { + "name": "iulooD", + "options": {}, + "type": "Para", + "content": "If the person is under 18 or unable to speak to us themselves, provide the contact details of a parent, carer or guardian." + }, + { + "name": "contact_directly", + "options": { + "hideTitle": true, + "customValidationMessages": { + "any.required": "Select how we should contact this person" + } + }, + "type": "RadiosField", + "title": "How should we contact this person?", + "list": "TQfrjB", + "schema": {} + }, + { + "name": "CIzhto", + "options": {}, + "type": "Html", + "content": "

    Contact details

    " + }, + { + "name": "dieFHl", + "options": {}, + "type": "Html", + "content": "Provide at least one contact detail below." + }, + { + "name": "mobile_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Mobile number", + "hint": "For example, 07700 900999", + "schema": { + "regex": "^(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?#(\\d{4}|\\d{3}))?$" + } + }, + { + "name": "landline_number", + "options": { "required": false, "optionalText": false }, + "type": "TelephoneNumberField", + "title": "Landline number", + "hint": "For example, 020 7123 4567", + "schema": { + "regex": "^0([1-6][\\s\\d]{8,12})$" + } + }, + { + "name": "email_address", + "options": { + "required": false, + "optionalText": false, + "customValidationMessages": { + "string.empty": "Enter a valid email address", + "string.pattern.base": "Enter a valid email address" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "hint": "For example, sarah.philips@example.com" + }, + { + "name": "ValidationScript", + "options": {}, + "type": "Html", + "content": "" + } + ], + "next": [{ "path": "/summary" }], + "section": "CloseContact10" + }, + { + "path": "/summary", + "title": "Check all details before submitting the form", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Start list", + "name": "yRnBmv", + "type": "string", + "items": [ + { + "text": "the name and contact details of people you live with", + "value": "the name and contact details of people you live with" + }, + { + "text": "the name and contact details of other people you were in close contact with in the last 7 days", + "value": "the name and contact details of other people you were in close contact with in the last 7 days" + } + ] + }, + { + "title": "Who are you completing this form for?", + "name": "ApjoNd", + "type": "string", + "items": [ + { "text": "Myself", "value": "you" }, + { "text": "On behalf of someone else", "value": "they" } + ] + }, + { + "title": "How should we contact this person?", + "name": "TQfrjB", + "type": "string", + "items": [ + { "text": "Contact them directly", "value": "Yes" }, + { + "text": "Contact their parent, carer or legal guardian", + "value": "No" + } + ] + }, + { + "title": "Do you live with other people?", + "name": "BfWivE", + "type": "string", + "items": [ + { + "text": "people who live at the same address as you", + "value": "people who live at the same address as you" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Do they live with other people?", + "name": "BfWivF", + "type": "string", + "items": [ + { + "text": "people who live at the same address as them", + "value": "people who live at the same address as them" + }, + { + "text": "people who have stayed overnight in the last 7 days", + "value": "people who have stayed overnight in the last 7 days" + } + ] + }, + { + "title": "Close contact list", + "name": "yDwqlv", + "type": "string", + "items": [ + { + "text": "been within 1 metre of, face-to-face, for any length of time", + "value": "been within 1 metre of, face-to-face, for any length of time" + }, + { + "text": "spent more than 15 minutes with in the same indoor space", + "value": "spent more than 15 minutes with in the same indoor space" + }, + { + "text": "had direct contact with, such as caring for them", + "value": "had direct contact with, such as caring for them" + }, + { + "text": "travelled with in the same vehicle", + "value": "travelled with in the same vehicle" + } + ] + } + ], + "sections": [ + { + "name": "PersonalInformation", + "title": "Personal information", + "hideTitle": true + }, + { + "name": "PeopleYouLiveWith", + "title": "People you live with", + "hideTitle": true + }, + { + "name": "PeopleTheyLiveWith", + "title": "People they live with", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith1", + "title": "Person 1", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith2", + "title": "Person 2", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith3", + "title": "Person 3", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith4", + "title": "Person 4", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith5", + "title": "Person 5", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith6", + "title": "Person 6", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith7", + "title": "Person 7", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith8", + "title": "Person 8", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith9", + "title": "Person 9", + "hideTitle": true + }, + { + "name": "PersonYouLiveWith10", + "title": "Person 10", + "hideTitle": true + }, + { + "name": "OtherContacts", + "title": "Other close contacts in the last 7 days", + "hideTitle": true + }, + { "name": "CloseContact1", "title": "Close contact 1", "hideTitle": true }, + { "name": "CloseContact2", "title": "Close contact 2", "hideTitle": true }, + { "name": "CloseContact3", "title": "Close contact 3", "hideTitle": true }, + { "name": "CloseContact4", "title": "Close contact 4", "hideTitle": true }, + { "name": "CloseContact5", "title": "Close contact 5", "hideTitle": true }, + { "name": "CloseContact6", "title": "Close contact 6", "hideTitle": true }, + { "name": "CloseContact7", "title": "Close contact 7", "hideTitle": true }, + { "name": "CloseContact8", "title": "Close contact 8", "hideTitle": true }, + { "name": "CloseContact9", "title": "Close contact 9", "hideTitle": true }, + { "name": "CloseContact10", "title": "Close contact 10", "hideTitle": true } + ], + "conditions": [ + { + "displayName": "If myself", + "name": "atPVdy", + "value": { + "name": "If myself", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { "type": "Value", "value": "you", "display": "Myself" } + } + ] + } + }, + { + "displayName": "If someone else", + "name": "Dpirys", + "value": { + "name": "If someone else", + "conditions": [ + { + "field": { + "name": "PersonalInformation.for", + "type": "RadiosField", + "display": "Who this form is for" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "they", + "display": "Someone else" + } + } + ] + } + }, + { + "displayName": "If people you live with", + "name": "IfPeopleYouLiveWith", + "value": { + "name": "If people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people you live with", + "name": "IfNoPeopleYouLiveWith", + "value": { + "name": "If no people you live with", + "conditions": [ + { + "field": { + "name": "PeopleYouLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do you live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If people they live with", + "name": "IfPeopleTheyLiveWith", + "value": { + "name": "If people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no people they live with", + "name": "IfNoPeopleTheyLiveWith", + "value": { + "name": "If no people they live with", + "conditions": [ + { + "field": { + "name": "PeopleTheyLiveWith.live_with_others", + "type": "YesNoField", + "display": "Do they live with other people?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If close contacts", + "name": "IfCloseContacts", + "value": { + "name": "If close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no close contacts", + "name": "IfNoCloseContacts", + "value": { + "name": "If no close contacts", + "conditions": [ + { + "field": { + "name": "OtherContacts.been_in_contact", + "type": "YesNoField", + "display": "Have you been in close contact with other people in the last 7 days?" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherPersonYouLiveWithYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherPersonYouLiveWithNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherPersonYouLiveWith9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes1", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo1", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact1", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes2", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo2", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact2", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes3", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo3", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact3", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes4", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo4", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact4", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes5", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo5", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact5", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes6", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo6", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact6", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes7", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo7", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact7", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes8", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo8", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact8", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + }, + { + "displayName": "If more people needed", + "name": "AddAnotherCloseContactYes9", + "value": { + "name": "If more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "true", "display": "true" } + } + ] + } + }, + { + "displayName": "If no more people needed", + "name": "AddAnotherCloseContactNo9", + "value": { + "name": "If no more people needed", + "conditions": [ + { + "field": { + "name": "AnotherCloseContact9", + "type": "YesNoField", + "display": "'Yes' if there is another person" + }, + "operator": "is", + "value": { "type": "Value", "value": "false", "display": "false" } + } + ] + } + } + ], + "declaration": "

    By submitting this form you're confirming that, to the best of your knowledge, the answers you have provided are correct.

    ", + "fees": [], + "outputs": [ + { + "name": "BsGFLT", + "title": "Execute API", + "type": "webhook", + "outputConfiguration": { + "url": "https://api.nl3.uat.srs.test-and-trace.nhs.uk/v1/forms", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": false, + "url": "/close-contact-feedback" + } +} diff --git a/runner/src/server/forms/feedback.json b/runner/src/server/forms/feedback.json new file mode 100644 index 0000000000..47d5e475a3 --- /dev/null +++ b/runner/src/server/forms/feedback.json @@ -0,0 +1,141 @@ +{ + "metadata": {}, + "startPage": "/start", + "name": "Report an outbreak", + "skipSummary": true, + "pages": [ + { + "path": "/start", + "title": "Give feedback on Report an outbreak", + "components": [ + { + "name": "Feedback", + "options": { + "customValidationMessages": { + "any.required": "Select how you would describe Report an outbreak" + } + }, + "type": "CheckboxesField", + "title": "How would you describe Report an outbreak?", + "hint": "Select all that apply", + "list": "FeedbackOptions" + }, + { + "name": "OtherFeedbackTextBox", + "options": { + "customValidationMessages": { + "string.empty": "Enter your feedback about any difficulties or highlights you experienced, and how we could improve the service", + "string.max": "Your feedback about any difficulties or highlights you experienced, and how we could improve the service, must be 2000 characters or less" + } + }, + "type": "MultilineTextField", + "schema": { + "maxlength": 2000 + }, + "title": "Tell us about any difficulties or highlights you experienced, and how we could improve the service.", + "hint": "Do not include any personal information here, for example patient or disease details." + }, + { + "name": "FeedbackPara", + "options": {}, + "type": "Para", + "content": "
    We would like to discuss your experience or test new features with you.

    Provide your email address if we can contact you for research. We will store your email address as explained in our UKHSA privacy notice (opens in a new tab)

    " + }, + { + "name": "FeedbackEmailAddress", + "options": { + "required": false, + "customValidationMessages": { + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "title": "Email address for a researcher to contact you", + "type": "EmailAddressField" + } + ], + "next": [ + { + "path": "/summary" + } + ] + }, + { + "path": "/summary", + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "feedback-options", + "name": "FeedbackOptions", + "type": "string", + "items": [ + { + "text": "Useful resource", + "value": "Useful resource" + }, + { + "text": "Easy to understand", + "value": "Easy to understand" + }, + { + "text": "Easy to complete", + "value": "Easy to complete" + }, + { + "text": "Quick to complete", + "value": "Quick to complete" + }, + { + "text": "Some questions were unclear", + "value": "Some questions were unclear" + }, + { + "text": "Not detailed enough", + "value": "Not detailed enough" + }, + { + "text": "Too detailed", + "value": "Too detailed" + }, + { + "text": "Too time consuming", + "value": "Too time consuming" + }, + { + "text": "Other (specify below)", + "value": "Other (specify below)" + } + ] + } + ], + "outputs": [ + { + "name": "FeedbackForm", + "title": "CareOBRA FeedbackForm", + "type": "email", + "outputConfiguration": { + "apiKey": "${notifyApiKey}", + "emailAddress": "${feedbackEmail}", + "notifyTemplateId": "83d1c036-dfeb-4d5b-b4e3-e8125810c663" + } + } + ], + "sections": [], + "conditions": [], + "phaseBanner": { + "phase": "beta" + }, + "feedback": { + "feedbackForm": true, + "url": "/feedback" + }, + "specialPages": { + "confirmationPage": { + "customText": { + "nextSteps": "

    Thank you for completing this survey

    You can now close this page.

    ", + "hidePanel": true + } + } + } +} diff --git a/runner/src/server/forms/kls-enquiries.json b/runner/src/server/forms/kls-enquiries.json new file mode 100644 index 0000000000..3a9fe87af2 --- /dev/null +++ b/runner/src/server/forms/kls-enquiries.json @@ -0,0 +1,2548 @@ +{ + "metadata": {}, + "startPage": "/start", + "fullStartPage": "https://gov.uk/guidance/ukhsa-knowledge-and-library-services", + "authentication": true, + "toggle": true, + "serviceName": "UKHSA Knowledge and Library Services (KLS)", + "analytics": { + "gtmId1": "GTM-WLKKLMQB" + }, + "webhookHmacSharedKey": "${KLSkey}", + "fileUploadHmacSharedKey": "${KLSFileUploadKey}", + "magicLinkConfig": "kls-magic-link", + "name": "UKHSA Knowledge and Library Services (KLS)", + "pages": [ + { + "title": "Contact the Knowledge and Library Services team", + "path": "/start", + "unauthenticated": true, + "components": [ + { + "name": "mainContent", + "options": {}, + "type": "Para", + "content": "

    If you have recently submitted an enquiry using this form, please ensure you clear your cookies before starting a new enquiry.

    " + } + ], + "next": [ + { + "path": "/which-organisation-do-you-work-for" + } + ], + "controller": "./pages/start.js" + }, + { + "path": "/which-organisation-do-you-work-for", + "unauthenticated": true, + "title": "Which organisation do you work for?", + "components": [ + { + "name": "ZpmVWP", + "options": { + "customValidationMessages": { + "any.required": "Select the organisation you work for", + "any.only": "Select the organisation you work for", + "string.empty": "Select the organisation you work for" + } + }, + "type": "RadiosField", + "title": "Organisation", + "hint": "The KLS service is available to staff from: UK Health Security Agency, Office for Health Improvement and Disparities, NHS England Public Health, and Local Authority Public Health. \n\nIf you do not belong to one of these organisations you can still contact the KLS team by selecting the 'Other' option to find the team's email address.", + "list": "uIwkHV", + "schema": {}, + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/please-contact-us-via-email", + "condition": "BOkxIN" + }, + { + "path": "/magic-link-redirect", + "condition": "dhBTmP" + } + ] + }, + { + "path": "/please-contact-us-via-email", + "unauthenticated": true, + "title": "Please contact us via email", + "components": [ + { + "name": "ryhwUr", + "options": {}, + "type": "Html", + "content": "

    You are not eligible to use this service, however you can still contact the KLS team via the following email libraries@kls.ukhsa.gov.uk

    " + } + ], + "next": [] + }, + { + "path": "/magic-link-redirect", + "unauthenticated": true, + "controller": "MagicLinkRedirectController", + "next": [ + { + "path": "/which-organisation-do-you-work-for-DUPE" + } + ] + }, + { + "path": "/about-you", + "title": "About you", + "components": [ + { + "name": "xnYXNM", + "options": {}, + "type": "Para", + "content": "Please complete as many fields as you can so that the KLS team will be able to contact you about your enquiry.", + "schema": {} + }, + { + "name": "WWpyux", + "options": { + "autocomplete":"name" + }, + "type": "TextField", + "title": "Full name", + "schema": {} + }, + { + "name": "RpctHr", + "options": { + "required": true, + "autocomplete": "organization-title", + "customValidationMessages": { + "any.required": "Enter job title", + "any.only": "Enter job title", + "string.empty": "Enter job title" + } + }, + "type": "TextField", + "title": "Job title", + "schema": {} + }, + { + "name": "afZPpL", + "options": { + "customValidationMessages": { + "any.required": "Enter email address", + "any.only": "Enter email address", + "string.empty": "Enter email address", + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "schema": {} + }, + { + "name": "ZjyQtC", + "options": { + "required": false, + "customValidationMessages": { + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "If you would like someone else to be included in emails about this enquiry, enter their email address below ", + "schema": {} + } + ], + "next": [ + { + "path": "/summary" + } + ] + }, + { + "path": "/type-of-enquiry", + "title": "Type of enquiry", + "components": [ + { + "name": "iAFhFY", + "options": {}, + "type": "Details", + "title": "Click here to learn about the types of enquiry that the KLS team support", + "content": "
    Literature search
    A detailed, comprehensive and systematic search of the literature from a variety of quality sources. Literature searches take between 1 and 2 weeks to complete.
    Systematic review
    The provision of complex literature searches to help in the production of a systematic review, with associated guidance on the stages of conducting a review. The time taken to deliver the search and advice will be dependent on the type of review.
    Evidence briefing
    Outlines the main messages taken from evidence that has been identified and selected using systematic methods and strict inclusion criteria. It usually takes at least 3 weeks to produce an Evidence Briefing and they are subject to certain eligibility criteria.
    Current awareness alerts
    Support to access a range of current awareness products to be kept regularly up to date with the latest research in your field of work.
    General enquiry
    Select this option for support with any other queries.
    ", + "schema": {} + }, + { + "name": "tUKBgj", + "options": { + "customValidationMessages":{ + "any.required": "Select the option that best matches your enquiry", + "any.only": "Select the option that best matches your enquiry", + "string.empty": "Select the option that best matches your enquiry" + }, + "exposeToContext": false + }, + "type": "RadiosField", + "title": "Which option best matches your enquiry?", + "list": "eKfmVf", + "values": { + "type": "listRef" + }, + "schema": {} + } + ], + "next": [ + { + "path": "/current-awareness", + "condition": "OchNDo" + }, + { + "path": "/how-can-we-help", + "condition": "mZdZMC" + }, + { + "path": "/evidence-briefing-information", + "condition": "eiTtgM" + }, + { + "path": "/about-your-enquiry", + "condition": "XvwdpX" + } + ] + }, + { + "path": "/additional-information", + "title": "Additional information", + "components": [ + { + "name": "YIrnKT", + "options": { + "required": false + }, + "type": "MultilineTextField", + "title": "If there is any more information that you think will help the team in dealing with your enquiry, please enter it below", + "schema": {} + }, + { + "name": "KefoiX", + "options": {}, + "type": "TextField", + "hint": "We will use this title as the subject line if we need to contact you by email", + "title": "Enquiry title", + "schema": {} + }, + { + "name":"bYWcrH", + "options":{ + "multiple": true, + "required": false, + "accept": "image/png,image/jpeg,image/gif,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel.sheet.macroEnabled.12,text/csv,application/xml,text/xml,application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/rtf,text/rtf,application/msword,application/x-research-info-systems,text/plain,application/vnd.ms-outlook,application/vnd.openxmlformats-officedocument.presentationml.presentation,.ris,application/vnd.ms-excel,.msg" + }, + "type":"FileUploadField", + "title":"If you need to upload a file to help us deal with your enquiry, do so here.", + "hint": "You can upload up to 10 files but the combined size must not exceed 4.95 megabytes. To remove uploaded files, click 'Choose Files' again, select nothing and close the window." + } + + + ], + "next": [ + { + "path": "/about-you" + }, + { + "path": "/about-you-GXSFdb", + "condition": "EgJCgx" + }, + { + "path": "/about-you-dHykmu", + "condition": "IbKdRK" + } + ] + }, + { + "path": "/current-awareness", + "title": "About your current awareness alerts query", + "components": [ + { + "name": "voCgKn", + "options": {}, + "type": "InsetText", + "content": "Sign up to comprehensive alerts that bring together the latest research from peer-reviewed publications about important public health priorities. Select the topics you want to sign up for below." + }, + { + "name": "Nuedpc", + "options": { + "customValidationMessages": { + "any.required": "Select the alert(s) you want to subscribe to", + "any.only": "Select the alert(s) you want to subscribe to", + "string.empty": "Select the alert(s) you want to subscribe to" + } + }, + "type": "CheckboxesField", + "title": "Which alerts do you want to subscribe to?", + "list": "gTPicc" + }, + { + "name": "QiohsW", + "options": { + "required": false + }, + "type": "MultilineTextField", + "title": "If you selected 'Other', describe the topic on which you wish to be alerted", + "hint": "Any new alert request will be considered on a case-by-case basis. A member of the KLS team will be in touch to discuss the best option to meet your requirements." + } + ], + "next": [ + { + "path": "/about-you" + }, + { + "path": "/about-you-GXSFdb", + "condition": "EgJCgx" + }, + { + "path": "/about-you-dHykmu", + "condition": "IbKdRK" + } + ] + }, + { + "path": "/about-your-enquiry", + "title": "About your enquiry", + "components": [ + { + "name": "yYKOmJ", + "options": {}, + "type": "Para", + "content": "Please share as much information as possible to help the KLS team deal with your enquiry", + "schema": {} + }, + { + "name": "LuoKqU", + "options": { + "customValidationMessages": { + "any.required": "Provide your focussed question", + "any.only": "Provide your focussed question", + "string.empty": "Provide your focussed question" + } + }, + "type": "MultilineTextField", + "title": "What is your focussed question?", + "schema": {} + }, + { + "name": "bhBuDQ", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Enter relevant concepts", + "any.only": "Enter relevant concepts", + "string.empty": "Enter relevant concepts" + } + }, + "type": "MultilineTextField", + "title": "Explain any relevant concepts", + "schema": {}, + "hint": "Consider the questions: Who? What? Where? Why? When? How?" + }, + { + "name": "uBPfQS", + "options": { + "required": false + }, + "type": "MultilineTextField", + "title": "Give an example of a paper that should be included in the output", + "schema": {}, + "hint": "Enter a relevant publication or key author you would expect to be included" + }, + { + "name": "VbhnXH", + "options": {}, + "type": "RadiosField", + "title": "Publication date range", + "list": "OGYVAD", + "hint": "Indicate the time period from which evidence should be sourced", + "values": { + "type": "listRef" + }, + "schema": {} + }, + { + "name": "MArgxL", + "options": { + "required": false + }, + "type": "TextField", + "title": "If you selected ‘Other’, indicate the specific desired publication date range", + "schema": {} + }, + { + "name": "etcpxo", + "options": { + "customValidationMessages": { + "any.required": "Select the geographic scope of the research" + } + }, + "type": "RadiosField", + "title": "Do you want UK only or international research?", + "hint": "Indicate the geographic scope for which the evidence should be sourced", + "list": "zDtSLo", + "schema": {} + }, + { + "name": "thfczP", + "options": { + "required": false + }, + "type": "TextField", + "title": "If you selected ‘Other’, provide further details of the desired geographical scope", + "schema": {} + }, + { + "name": "RCdnGJ", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select whether we can share the results with other public health professionals", + "any.only": "Select whether we can share the results with other public health professionals", + "string.empty": "Select whether we can share the results with other public health professionals" + } + }, + "type": "RadiosField", + "title": "Can we share the results with other public health professionals?", + "list": "IQAoJu" + }, + { + "name": "oNDRUt", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select whether we can share your contact details with other public health professionals", + "any.only": "Select whether we can share your contact details with other public health professionals", + "string.empty": "Select whether we can share your contact details with other public health professionals" + } + }, + "type": "RadiosField", + "title": "Can we share your contact details so other public health professionals can contact you with queries about the work you are doing?", + "list": "IQAoJu" + } + ], + "next": [ + { + "path": "/systematic-review-questions", + "condition": "dCqSKz" + }, + { + "path": "/literature-search-questions", + "condition": "fNTYcH" + }, + { + "path": "/evidence-briefing-questions", + "condition": "eiTtgM" + } + ] + }, + { + "path": "/literature-search-questions", + "title": "Literature search questions", + "components": [ + { + "name": "BPoIas", + "options": {}, + "type": "Details", + "title": "What is a literature search?", + "content": "

    A literature search is a detailed, comprehensive and systematic search of the literature (published and unpublished) from a variety of quality sources about specific topics or conditions.

    \n\n

    The search yields a set of results on the topic in question – usually a list of journal articles and reports, each containing a summary (known as an abstract). Reading the results enables you to get an overview of what is known about the topic. This is often referred to as the ‘evidence base’ and is an integral part of the methodology for any UKHSA project.

    ", + "schema": {} + }, + { + "name": "PrVeBZ", + "options": {}, + "type": "RadiosField", + "title": "Literature search type", + "list": "aGVTgz", + "schema": {} + }, + { + "name": "WNVZzn", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select the primary use for the results", + "any.only": "Select the primary use for the results", + "string.empty": "Select the primary use for the results" + } + }, + "type": "SelectField", + "title": "What will you primarily use the results of this search for?", + "list": "PxpncX", + "schema": {}, + "hint": "If more than one option applies, please select the most relevant", + "values": { + "type": "listRef" + } + }, + { + "name": "nPBXNt", + "options": { + "required": false + }, + "type": "MultilineTextField", + "title": "If you selected ‘Other’, provide further details on the primary use of the search results", + "schema": {} + }, + { + "name": "qwQlWP", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select your preferred results format(s)", + "any.only": "Select your preferred results format(s)", + "string.empty": "Select your preferred results format(s)" + } + }, + "type": "CheckboxesField", + "title": "How would you like to receive your results?", + "list": "LgzPJy", + "schema": {} + }, + { + "name": "hQXIgL", + "options": { + "bold": true, + "required": true, + "maxDaysInPast": "0", + "customValidationMessages": { + "nonNumeric": "The date must be in the format of DD/MM/YYYY", + "date.min": "Desired completion date must be in the future" + } + }, + "type": "DatePartsField", + "title": "Desired completion date", + "hint": "The completion time will be at least 1-2 working weeks depending on your chosen search type. Please provide a future date.", + "schema": {} + } + ], + "next": [ + { + "path": "/additional-information" + } + ] + }, + { + "path": "/systematic-review-questions", + "title": "Systematic review questions", + "components": [ + { + "name": "tXsvXF", + "options": {}, + "type": "Details", + "title": "Types of systematic review", + "content": "

    The main types of evidence synthesis products are systematic reviews, rapid reviews, mapping reviews, scoping reviews and umbrella reviews. They all follow explicit, systematic methods to collate and synthesise findings of studies that address a clear question.

    \n \n

    Systematic reviews are the gold standard in evidence synthesis. However, they are time-consuming and resource-intensive. Rapid systematic methodologies use modified systematic review methods to accelerate the review process, and can be applied to all the types of reviews listed here.

    \n \n

    Systematic review
    \nSystematic reviews should have a clearly defined question and eligibility criteria. Study data is summarised using narrative text and tables; or sometimes as a meta-analysis, a statistical technique that provides an overall summary measure of effect.

    \n \n

    Scoping review
    \nScoping reviews are concerned with the ‘state of the evidence’. They are appropriate when exploring a topic to inform future research or policy development by clarifying key concepts or methods, using a broad review question. They usually have in-depth data extraction. Synthesis can include qualitative analysis, narrative synthesis, maps or a table.

    \n \n

    Mapping review
    \nMapping reviews are used to map out and categorise the literature. They are appropriate when information is required on where the evidence is, usually through a visual summary known as an evidence gap map, to inform research priorities. Study data is coded for use in the evidence gap map. Data extraction tends to be more limited than for a scoping review.

    \n \n

    Umbrella review
    \nAn umbrella review or “review of reviews” identifies multiple systematic reviews on related research questions and analyses their results across agreed outcomes. Umbrella reviews normally address a broad scope. Meta-analysis may be performed in order to provide an overall summary measure of effect.

    ", + "schema": {} + }, + { + "name": "lIUPMw", + "options": { + "customValidationMessages": { + "any.required": "Select the type of review you are doing", + "any.only": "Select the type of review you are doing", + "string.empty": "Select the type of review you are doing" + } + }, + "type": "SelectField", + "title": "What type of review are you doing?", + "list": "cZlqVP", + "hint": "", + "values": { + "type": "listRef" + }, + "schema": {} + }, + { + "name": "IdTRkf", + "options": { + "required": false + }, + "type": "MultilineTextField", + "title": "If you selected ‘Other’, provide further details on the type of review you are doing", + "schema": {} + }, + { + "name": "byRMpb", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select the reason for conducting this review", + "any.only": "Select the reason for conducting this review", + "string.empty": "Select the reason for conducting this review" + } + }, + "type": "SelectField", + "title": "What is the reason for conducting this review?", + "list": "tOKEMX", + "values": { + "type": "listRef" + }, + "schema": {} + }, + { + "name": "mBSuvI", + "options": { + "required": false + }, + "type": "MultilineTextField", + "title": "If you selected ‘Other’, explain the reason for conducting this review", + "schema": {} + }, + { + "name": "diftRU", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select where you intend to publish your review", + "any.only": "Select where you intend to publish your review", + "string.empty": "Select where you intend to publish your review" + } + }, + "type": "SelectField", + "title": "Where do you intend to publish your review?", + "list": "Zappeq", + "values": { + "type": "listRef" + }, + "schema": {} + }, + { + "name": "NeCvDK", + "options": { + "required": false + }, + "type": "MultilineTextField", + "title": "If you selected ‘Other’, provide further details on where you intend to publish your review", + "schema": {} + }, + { + "name": "dmgVPY", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select whether you have written a protocol", + "any.only": "Select whether you have written a protocol", + "string.empty": "Select whether you have written a protocol" + } + }, + "type": "YesNoField", + "title": "Have you written a protocol?", + "values": { + "type": "listRef" + }, + "schema": {}, + "hint": "A protocol describes the planned methods for your review. It should be written before your review begins and followed when you conduct the review. Guidance on writing a protocol is available in PRISMA for systematic review protocols or contact us for help." + }, + { + "name": "hQXIgL", + "options": { + "required": true, + "maxDaysInPast": "0", + "customValidationMessages": { + "nonNumeric": "The date must be in the format of DD/MM/YYYY", + "date.min": "Desired completion date must be in the future" + } + }, + "type": "DatePartsField", + "title": "Desired completion date", + "hint": "Timeframe for completion will vary based on the review's complexity, and will be discussed on a case-by-case basis. Please provide a future date.", + "schema": {} + } + ], + "next": [ + { + "path": "/additional-information" + } + ] + }, + { + "path": "/evidence-briefing-questions", + "title": "Evidence briefing questions", + "components": [ + { + "name": "XxwIGa", + "options": {}, + "type": "InsetText", + "content": "In order for the KLS team to undertake the evidence briefing you must have a focused question which is feasible for KLS to answer in the form of a briefing within the standard timeframe of 3 weeks. Your request must also meet one of the criteria below in order to be eligible.", + "schema": {} + }, + { + "name": "ZKqQHi", + "options": { + "customValidationMessages": { + "any.required": "Select evidence briefing eligibility", + "any.only": "Select evidence briefing eligibility", + "string.empty": "Select evidence briefing eligibility" + } + }, + "type": "RadiosField", + "title": "Evidence briefing eligibility", + "list": "VPAkeH", + "schema": {} + }, + { + "name": "rcGqoK", + "options": { + "required": false + }, + "type": "TextField", + "title": "If you selected ‘Other’, explain why this evidence briefing request is essential for your work", + "schema": {} + }, + { + "name": "TNXqpA", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Enter your inclusion criteria for population", + "any.only": "Enter your inclusion criteria for population", + "string.empty": "Enter your inclusion criteria for population" + } + }, + "type": "MultilineTextField", + "title": "What are your inclusion criteria for population?", + "schema": {} + }, + { + "name": "KXXNzf", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Enter your inclusion criteria for intervention or exposure", + "any.only": "Enter your inclusion criteria for intervention or exposure", + "string.empty": "Enter your inclusion criteria for intervention or exposure" + } + }, + "type": "MultilineTextField", + "title": "What are your inclusion criteria for intervention or exposure?", + "schema": {} + }, + { + "name": "GjCFLx", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Enter your inclusion criteria for setting/location", + "any.only": "Enter your inclusion criteria for setting/location", + "string.empty": "Enter your inclusion criteria for setting/location" + } + }, + "type": "MultilineTextField", + "title": "What are your inclusion criteria for setting/location?", + "schema": {} + }, + { + "name": "MgKlsM", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Enter your inclusion criteria for outcomes", + "any.only": "Enter your inclusion criteria for outcomes", + "string.empty": "Enter your inclusion criteria for outcomes" + } + }, + "type": "MultilineTextField", + "title": "What are your inclusion criteria for outcomes?", + "schema": {} + }, + { + "name": "iYKvoN", + "options": { + "required": false + }, + "type": "MultilineTextField", + "title": "Should anything be excluded?", + "schema": {} + }, + { + "name": "hQXIgL", + "options": { + "required": true, + "maxDaysInPast": "0", + "customValidationMessages": { + "nonNumeric": "The date must be in the format of DD/MM/YYYY", + "date.min": "Desired completion date must be in the future" + } + }, + "type": "DatePartsField", + "title": "Desired completion date", + "hint": "Standard time to produce an Evidence Briefing is at least 3 working weeks. Please provide a future date.", + "schema": {} + } + ], + "next": [ + { + "path": "/additional-information" + } + ] + }, + { + "path": "/how-can-we-help", + "title": "How can we help?", + "components": [ + { + "name": "CKlngs", + "options": { + "customValidationMessages": { + "any.required": "Provide information on how the KLS team can help you", + "any.only": "Provide information on how the KLS team can help you", + "string.empty": "Provide information on how the KLS team can help you" + } + }, + "type": "MultilineTextField", + "title": "Please share as much information as possible to help the KLS team deal with your enquiry", + "schema": {} + }, + { + "name": "OYYaPc", + "options": {}, + "type": "TextField", + "hint": "We will use this title as the subject line if we need to contact you by email", + "title": "Enquiry title", + "schema": {} + }, +{ + "name": "FIvjTg", + "type": "FileUploadField", + "title": "If you need to upload a file to help us deal with your enquiry, do so here.", + "hint": "You can upload up to 10 files but the combined size must not exceed 4.95 megabytes. To remove uploaded files, click 'Choose Files' again, select nothing and close the window.", + "schema": {}, + "options": { + "multiple": true, + "required": false, + "accept": "image/png,image/jpeg,image/gif,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel.sheet.macroEnabled.12,text/csv,application/xml,text/xml,application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/rtf,text/rtf,application/msword,application/x-research-info-systems,text/plain,application/vnd.ms-outlook,application/vnd.openxmlformats-officedocument.presentationml.presentation,.ris,application/vnd.ms-excel,.msg" + } +} + ], + "next": [ + { + "path": "/about-you" + }, + { + "path": "/about-you-GXSFdb", + "condition": "EgJCgx" + }, + { + "path": "/about-you-dHykmu", + "condition": "IbKdRK" + } + ] + }, + { + "path": "/which-organisation-do-you-work-for-DUPE", + "title": "Which organisation do you work for?", + "disableBackLink": true, + "components": [ + { + "name": "wyvXTj", + "options": { + "customValidationMessages": { + "any.required": "Select the organisation you work for", + "any.only": "Select the organisation you work for", + "string.empty": "Select the organisation you work for" + } + }, + "type": "RadiosField", + "title": "Which organisation do you work for?", + "hint": "", + "list": "ULmwPo", + "schema": {}, + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/type-of-enquiry" + }, + { + "path": "/how-can-we-help", + "condition": "CRsuUh" + }, + { + "path": "/type-of-enquiry-JpEYIe", + "condition": "IbKdRK" + } + ] + }, + { + "path": "/type-of-enquiry-JpEYIe", + "title": "Type of enquiry", + "components": [ + { + "name": "RlHHWZ", + "options": {}, + "type": "Details", + "title": "Click here to learn about the types of enquiry that the KLS team support", + "content": "
    Literature search
    A detailed, comprehensive and systematic search of the literature from a variety of quality sources. Literature searches take between 1 and 2 weeks to complete.
    Current awareness alerts
    Support to access a range of current awareness products to be kept regularly up to date with the latest research in your field of work.
    General enquiry
    Select this option for support with any other queries.
    ", + "schema": {} + }, + { + "name": "VeQCVM", + "options": { + "customValidationMessages":{ + "any.required": "Select the option that best matches your enquiry", + "any.only": "Select the option that best matches your enquiry", + "string.empty": "Select the option that best matches your enquiry" + } + }, + "type": "RadiosField", + "list": "AUYYCW", + "title": "Which option best matches your enquiry?", + "values": { + "type": "listRef" + }, + "schema": {} + } + ], + "next": [ + { + "path": "/how-can-we-help", + "condition": "lsHzLP" + }, + { + "path": "/current-awareness", + "condition": "MQeZyE" + }, + { + "path": "/about-your-enquiry-RPOaaR" + } + ] + }, + { + "path": "/about-your-enquiry-RPOaaR", + "title": "About your enquiry", + "components": [ + { + "name": "fXvmRh", + "options": {}, + "type": "Para", + "content": "Please share as much information as possible to help the KLS team deal with your enquiry", + "schema": {} + }, + { + "name": "qvJHYP", + "options": { + "customValidationMessages": { + "any.required": "Provide your focussed question", + "any.only": "Provide your focussed question", + "string.empty": "Provide your focussed question" + } + }, + "type": "MultilineTextField", + "title": "What is your focussed question?", + "schema": {} + }, + { + "name": "WYbcGt", + "options": {}, + "type": "MultilineTextField", + "title": "Explain any relevant concepts", + "hint": "Consider the questions: Who? What? Where? Why? When? How?", + "schema": {} + }, + { + "name": "Ercwfj", + "options": { + "required": false + }, + "type": "MultilineTextField", + "title": "Give an example of a paper that should be included in the output", + "hint": "Enter a relevant publication or key author you would expect to be included", + "schema": {} + }, + { + "name": "scPrBh", + "options": {}, + "type": "RadiosField", + "hint": "Indicate the time period from which evidence should be sourced", + "title": "Publication date range", + "list": "OGYVAD", + "schema": {} + }, + { + "name": "zVphJY", + "options": { + "required": false + }, + "type": "TextField", + "title": "If you selected ‘Other’, indicate the specific desired publication date range", + "schema": {} + }, + { + "name": "UjGoiE", + "options": { + "customValidationMessages": { + "any.required": "Select the geographic scope of the research" + } + }, + "type": "RadiosField", + "hint": "Indicate the geographic scope for which the evidence should be sourced", + "title": "Do you want UK only or international research?", + "list": "zDtSLo", + "schema": {} + }, + { + "name": "thfczP", + "options": { + "required": false + }, + "type": "TextField", + "title": "If you selected ‘Other’, provide further details of the desired geographical scope", + "schema": {} + }, + { + "name": "GxImes", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select whether we can share the results with other public health professionals", + "any.only": "Select whether we can share the results with other public health professionals", + "string.empty": "Select whether we can share the results with other public health professionals" + } + }, + "type": "RadiosField", + "title": "Can we share the results with other public health professionals?", + "list": "IQAoJu" + }, + { + "name": "DdsEuf", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select whether we can share your contact details with other public health professionals", + "any.only": "Select whether we can share your contact details with other public health professionals", + "string.empty": "Select whether we can share your contact details with other public health professionals" + } + }, + "type": "RadiosField", + "title": "Can we share your contact details so other public health professionals can contact you with queries about the work you are doing?", + "list": "IQAoJu" + } + ], + "next": [ + { + "path": "/literature-search-questions" + } + ] + }, + { + "path": "/evidence-briefing-information", + "title": "Evidence briefing information", + "components": [ + { + "name": "jojhvk", + "options": {}, + "type": "Para", + "content": "Before proceeding with your request, please review the following criteria and expectations to ensure your request is suitable for an evidence briefing.", + "schema": {} + }, + { + "name": "ADkeed", + "options": {}, + "type": "Para", + "content": "To be eligible for an evidence briefing, the purpose of your request must fall into at least one of the following categories:", + "schema": {} + }, + { + "name": "sLYgMF", + "options": {}, + "type": "List", + "title": "EB purpose", + "list": "GNXXmY", + "schema": {} + }, + { + "name": "BrQyCZ", + "options": {}, + "type": "Para", + "content": "In addition, your request should have a clear, focused question that is feasible to address within the standard 3-week timeframe.", + "schema": {} + }, + { + "name": "lhetvO", + "options": {}, + "type": "Para", + "content": "Please note that if your request is too broad, outside the eligibility criteria, or time-sensitive, it may be more appropriate to conduct a literature search instead. ", + "schema": {} + } + ], + "next": [ + { + "path": "/about-your-enquiry" + } + ] + }, + { + "path": "/about-you-GXSFdb", + "title": "About you", + "components": [ + { + "name": "nwLDox", + "options": {}, + "type": "Para", + "content": "Please complete as many fields as you can so that the KLS team will be able to contact you about your enquiry." + }, + { + "name": "dagbPo", + "options": { + "required": true, + "autocomplete": "name" + }, + "type": "TextField", + "title": "Full name" + }, + { + "name": "uksayz", + "options": { + "required": true, + "autocomplete": "organization-title" + }, + "type": "TextField", + "title": "Job title" + }, + { + "name": "nmlFzr", + "options": { + "customValidationMessages": { + "any.required": "Select the UKHSA group to which you belong", + "any.only": "Select the UKHSA group to which you belong", + "string.empty": "Select the UKHSA group to which you belong" + } + }, + "type": "SelectField", + "title": "UKHSA Group", + "list": "sYQQmN", + "values": { + "type": "listRef" + } + }, + { + "name": "oUmeSI", + "options": { + "customValidationMessages": { + "any.required": "Select the UKHSA directorate to which you belong", + "any.only": "Select the UKHSA directorate to which you belong", + "string.empty": "Select the UKHSA directorate to which you belong" + } + }, + "type": "SelectField", + "title": "UKHSA Directorate", + "list": "pTYDbB", + "schema": { + "required": true + } + }, + { + "name": "EkwRix", + "options": { + "customValidationMessages": { + "any.required": "Select location", + "any.only": "Select location", + "string.empty": "Select location" + } + }, + "type": "SelectField", + "title": "Location", + "list": "wrhJNi", + "values": { + "type": "listRef" + } + }, + { + "name": "SPKrpE", + "options": { + "customValidationMessages": { + "any.required": "Enter email address", + "any.only": "Enter email address", + "string.empty": "Enter email address", + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "Email address" + }, + { + "name": "rqzRcc", + "options": { + "required": false, + "customValidationMessages": { + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "If you would like someone else to be included in emails about this enquiry, enter their email address below " + } + ], + "next": [ + { + "path": "/summary" + } + ] + }, + { + "path": "/about-you-dHykmu", + "title": "About you", + "components": [ + { + "name": "nBYObd", + "options": { + "autocomplete": "name" + }, + "type": "TextField", + "title": "Full name" + }, + { + "name": "CNbJUr", + "options": { + "autocomplete": "organization-title" + }, + "type": "TextField", + "title": "Job title" + }, + { + "name": "PIjqqt", + "options": { + "customValidationMessages": { + "any.required": "Enter email address", + "any.only": "Enter email address", + "string.empty": "Enter email address", + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "Email address" + }, + { + "name": "YeDsms", + "options": { + "required": false, + "customValidationMessages": { + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "If you would like someone else to be included in emails about this enquiry, enter their email address below " + }, + { + "name": "oCVslj", + "options": { + "customValidationMessages": { + "any.required": "Select location", + "any.only": "Select location", + "string.empty": "Select location" + } + }, + "type": "SelectField", + "title": "Location", + "list": "iTBoCy", + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/summary" + } + ] + }, + { + "path": "/summary", + "title": "Check the details before submitting", + "components": [], + "next": [], + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "Organisation", + "name": "uIwkHV", + "type": "string", + "items": [ + { + "text": "UK Health Security Agency", + "value": "UKHSA" + }, + { + "text": "Office for Health Improvement and Disparities", + "value": "Office for Health Improvement and Disparities (OHID)" + }, + { + "text": "NHS England Public Health", + "value": "NHS England Public Health" + }, + { + "text": "Local Authority Public Health", + "value": "Local Authority Public Health" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Preferred contact method", + "name": "slVZMW", + "type": "string", + "items": [ + { + "text": "email", + "value": "email" + }, + { + "text": "telephone", + "value": "telephone" + } + ] + }, + { + "title": "UKHSA Group", + "name": "sYQQmN", + "type": "string", + "items": [ + { + "description": "", + "text": "Chief Scientific Officer (CSO)", + "value": "Chief Scientific Officer (CSO)" + }, + { + "description": "", + "text": "Chief Medical Advisor (CMA)", + "value": "Chief Medical Advisor (CMA)" + }, + { + "description": "", + "text": "Chief Data Officer (CDO)", + "value": "Chief Data Officer (CDO)" + }, + { + "description": "", + "text": "Chief Operating Officer (COO)", + "value": "Chief Operating Officer (COO)" + } + ] + }, + { + "title": "UKHSA Directorate", + "name": "pTYDbB", + "type": "string", + "items": [ + { + "description": "", + "text": "CSO: Public Health Microbiology", + "value": "CSO: Public Health Microbiology" + }, + { + "description": "", + "text": "CSO: Radiation, Chemicals, Climate and Environmental Hazards", + "value": "CSO: Radiation, Chemicals, Climate and Environmental Hazards" + }, + { + "value": "CSO: Scientific Facilities and Performance", + "description": "", + "text": "CSO: Scientific Facilities and Performance" + }, + { + "value": "CSO: Science Strategy and Evidence", + "description": "", + "text": "CSO: Science Strategy and Evidence" + }, + { + "value": "CMA: Emergency Preparedness, Resilience and Response (EPRR) and Response Operations", + "description": "", + "text": "CMA: Emergency Preparedness, Resilience and Response (EPRR) and Response Operations" + }, + { + "description": "", + "text": "CMA: Epidemic and Emerging Infections", + "value": "CMA: Epidemic and Emerging Infections" + }, + { + "value": "CMA: Global Health Protection", + "description": "", + "text": "CMA: Global Health Protection" + }, + { + "description": "", + "value": "CMA: Health Equity and Clinical Governance", + "text": "CMA: Health Equity and Clinical Governance" + }, + { + "value": "CMA: Health Protection in Regions", + "description": "", + "text": "CMA: Health Protection in Regions" + }, + { + "value": "CMA: Public Health Programmes", + "description": "", + "text": "CMA: Public Health Programmes" + }, + { + "value": "CDO: Analysis and Intelligence Assessment", + "description": "", + "text": "CDO: Analysis and Intelligence Assessment" + }, + { + "value": "CDO: Data Protection, Security and Technology Services", + "description": "", + "text": "CDO: Data Protection, Security and Technology Services" + }, + { + "value": "CDO: Digital and Data", + "description": "", + "text": "CDO: Digital and Data" + }, + { + "value": "CDO: Digital and Technology Transition", + "description": "", + "text": "CDO: Digital and Technology Transition" + }, + { + "value": "COO: Commercial, Vaccines and Countermeasures Supply", + "description": "", + "text": "COO: Commercial, Vaccines and Countermeasures Supply" + }, + { + "value": "COO: Communications", + "description": "", + "text": "COO: Communications" + }, + { + "value": "COO: Finance, Performance, Risk and Assurance", + "description": "", + "text": "COO: Finance, Performance, Risk and Assurance" + }, + { + "value": "COO: People and Workplace", + "description": "", + "text": "COO: People and Workplace" + }, + { + "value": "COO: Public Inquiry", + "description": "", + "text": "COO: Public Inquiry" + }, + { + "value": "COO: Strategy and Policy", + "description": "", + "text": "COO: Strategy and Policy" + }, + { + "value": "COO: Transformation", + "text": "COO: Transformation" + } + ] + }, + { + "title": "Location", + "name": "wrhJNi", + "type": "string", + "items": [ + { + "description": "", + "text": "Chilton", + "value": "Chilton" + }, + { + "description": "", + "text": "Colindale", + "value": "Colindale" + }, + { + "description": "", + "text": "Porton", + "value": "Porton" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Enquiry type", + "name": "eKfmVf", + "type": "string", + "items": [ + { + "text": "Literature search", + "value": "Literature Searches" + }, + { + "text": "Systematic review", + "value": "Systematic Reviews" + }, + { + "text": "Evidence briefing", + "value": "Evidence Briefings" + }, + { + "text": "Current awareness alerts", + "value": "Current Awareness" + }, + { + "text": "General enquiry", + "value": "General", + "description": "Select this for all other enquiries" + } + ] + }, + { + "title": "Preferred results format", + "name": "LgzPJy", + "type": "string", + "items": [ + { + "description": "", + "text": "Endnote", + "value": "Endnote" + }, + { + "description": "", + "text": "Word", + "value": "Word" + }, + { + "description": "", + "text": "Excel", + "value": "Excel" + }, + { + "description": "", + "text": "RIS (for reference management software)", + "value": "RIS (for reference management software)" + }, + { + "description": "", + "text": "Regular email alert", + "value": "Regular email alert" + } + ] + }, + { + "title": "Priority or strategic objective", + "name": "RMetHZ", + "type": "string", + "items": [ + { + "description": "", + "text": "Achieve more equitable outcomes", + "value": "Achieve more equitable outcomes" + }, + { + "description": "", + "text": "Covid-19 response", + "value": "Covid-19 response" + }, + { + "description": "", + "text": "Drive international efforts to strengthen global surveillance and systems", + "value": "Drive international efforts to strengthen global surveillance and systems" + }, + { + "description": "", + "text": "Drive the development of countermeasures", + "value": "Drive the development of countermeasures" + }, + { + "description": "", + "text": "Eliminate Hepatitis C as a public health threat", + "value": "Eliminate Hepatitis C as a public health threat" + }, + { + "description": "", + "text": "Enhance the resilience and scalability of national and local public health systems", + "value": "Enhance the resilience and scalability of national and local public health systems" + }, + { + "description": "", + "text": "Ensure robust response capacity and capability to respond to Chemical, Biological, Radiological and Nuclear (CBRN) incidents", + "value": "Ensure robust response capacity and capability to respond to Chemical, Biological, Radiological and Nuclear (CBRN) incidents" + }, + { + "description": "", + "text": "Reduce the health harm from air pollution", + "value": "Reduce the health harm from air pollution" + }, + { + "description": "", + "text": "Reduce the impact of Antimicrobial Resistance (AMR)", + "value": "Reduce the impact of Antimicrobial Resistance (AMR)" + }, + { + "description": "", + "text": "Reduce vaccine preventable diseases", + "value": "Reduce vaccine preventable diseases" + }, + { + "description": "", + "text": "Strengthen preparedness across UKHSA for all hazards to health", + "value": "Strengthen preparedness across UKHSA for all hazards to health" + }, + { + "description": "", + "text": "Strengthen surveillance of health hazards", + "value": "Strengthen surveillance of health hazards" + }, + { + "description": "", + "text": "Support communities and services to adapt to and respond to climate and environmental change health", + "value": "Support communities and services to adapt to and respond to climate and environmental change health" + }, + { + "description": "If you select this item, please enter details below.", + "text": "OHID priority or objective", + "value": "OHID priority or objective - enter details" + }, + { + "text": "NHSE Public Health priority or objective", + "value": "NHSE Public Health priority or objective", + "description": "If you select this item, please enter details below" + } + ] + }, + { + "title": "Lit search type", + "name": "aGVTgz", + "type": "string", + "items": [ + { + "description": "It usually takes the KLS team at least 1 working week to complete this work.", + "text": "A list of relevant literature search results in either chronological or author order.", + "value": "Search option 1: a list of the relevant results of a literature search, in chronological or author order. Usually takes at least 1 working week." + }, + { + "description": "It usually takes the KLS team at least 2 working weeks to complete this request.", + "text": "A list of the relevant literature search results, organised or annotated by theme or study type.", + "value": "Search option 2: a list of relevant results of a literature search, organised or annotated, by theme or study type. Usually takes at least 2 working weeks." + } + ] + }, + { + "title": "Literature search results purpose", + "name": "PxpncX", + "type": "string", + "items": [ + { + "description": "", + "text": "Collaborative project", + "value": "Collaborative project" + }, + { + "description": "", + "text": "Evidence summary", + "value": "Evidence summary" + }, + { + "description": "", + "text": "Guidelines", + "value": "Guidelines" + }, + { + "description": "", + "text": "Incident support", + "value": "Incident support" + }, + { + "description": "", + "text": "Keeping up to date", + "value": "Keeping up to date" + }, + { + "text": "Other", + "value": "Other" + }, + { + "description": "", + "text": "Policy and strategy development", + "value": "Policy and strategy development" + }, + { + "description": "", + "text": "Report writing", + "value": "Report writing" + }, + { + "description": "", + "text": "Research and development", + "value": "Research and development" + }, + { + "description": "", + "text": "Service development", + "value": "Service development" + } + ] + }, + { + "title": "Type of systematic review", + "name": "cZlqVP", + "type": "string", + "items": [ + { + "description": "", + "text": "Systematic review", + "value": "Systematic review" + }, + { + "description": "", + "text": "Rapid review", + "value": "Rapid review" + }, + { + "description": "", + "text": "Scoping review", + "value": "Scoping review" + }, + { + "description": "", + "text": "Mapping review", + "value": "Mapping review" + }, + { + "text": "Umbrella review", + "value": "Umbrella review" + }, + { + "description": "", + "text": "Unsure/to be confirmed", + "value": "Unsure/to be confirmed" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Yes, No, Unsure", + "name": "wYJotW", + "type": "string", + "items": [ + { + "text": "Yes", + "value": "Yes" + }, + { + "text": "No", + "value": "No" + }, + { + "text": "Unsure", + "value": "Unsure" + } + ] + }, + { + "title": "Publication location", + "name": "Zappeq", + "type": "string", + "items": [ + { + "text": "Peer reviewed journal", + "value": "Peer reviewed journal" + }, + { + "description": "", + "text": "GOV.UK", + "value": "GOV.UK" + }, + { + "description": "", + "text": "Internal only", + "value": "Internal only" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Language", + "name": "rZyXKL", + "type": "string", + "items": [ + { + "text": "English language only", + "value": "English language only" + }, + { + "text": "English and other", + "value": "English and other" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Type of information requested", + "name": "bROvBS", + "type": "string", + "items": [ + { + "description": "", + "text": "Direction/Guidance", + "value": "Direction/Guidance" + }, + { + "description": "", + "text": "Secondary Evidence", + "value": "Secondary Evidence" + }, + { + "description": "", + "text": "Primary Research", + "value": "Primary Research" + }, + { + "description": "", + "text": "Ongoing Trials and Research", + "value": "Ongoing Trials and Research" + }, + { + "description": "", + "text": "Implementation Support", + "value": "Implementation Support" + }, + { + "text": "Information for the Public", + "value": "Information for the Public" + } + ] + }, + { + "title": "Affiliation", + "name": "ULmwPo", + "type": "string", + "items": [ + { + "text": "UK Health Security Agency", + "value": "UKHSA" + }, + { + "text": "Office for Health Improvement and Disparities", + "value": "Office for Health Improvement and Disparities (OHID)" + }, + { + "text": "NHS England Public Health", + "value": "NHS England Public Health" + }, + { + "text": "Local Authority Public Health", + "value": "Local Authority Public Health" + } + ] + }, + { + "title": "Reason for conducting review", + "name": "tOKEMX", + "type": "string", + "items": [ + { + "text": "Evidence gap", + "description": "", + "value": "Evidence gap" + }, + { + "description": "", + "text": "Updating previous evidence", + "value": "Updating previous evidence" + }, + { + "description": "", + "text": "Personal interest", + "value": "Personal interest" + }, + { + "description": "", + "text": "UKHSA priority topic", + "value": "UKHSA priority topic" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Publication date range", + "name": "OGYVAD", + "type": "string", + "items": [ + { + "text": "last 3 years", + "value": "3 years" + }, + { + "text": "last 5 years", + "value": "5 years" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Evidence briefing criteria", + "name": "VPAkeH", + "type": "string", + "items": [ + { + "description": "", + "text": "Strategy, policy or guideline development", + "value": "Strategy, policy or guideline development" + }, + { + "description": "", + "text": "Immediate action to improve or implement services", + "value": "Immediate action to improve or implement services" + }, + { + "description": "", + "text": "To contribute to an organisational priority or strategic objective", + "value": "To contribute to an organisational priority or strategic objective" + }, + { + "description": "", + "text": "Incident response", + "value": "Incident response" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Enquiry type LAPH", + "name": "AUYYCW", + "type": "string", + "items": [ + { + "text": "Literature search", + "value": "Literature Searches" + }, + { + "text": "Current awareness alerts", + "value": "Current Awareness" + }, + { + "text": "General enquiry", + "value": "General", + "description": "Select this for all other enquiries" + } + ] + }, + { + "title": "EB purpose list", + "name": "GNXXmY", + "type": "string", + "items": [ + { + "text": "Strategy, policy, or guideline development", + "value": "Strategy, policy, or guideline development" + }, + { + "text": "Immediate action to improve or implement services", + "value": "Immediate action to improve or implement services" + }, + { + "text": "Contribution to an organisational priority or strategic objective", + "value": "Contribution to an organisational priority or strategic objective" + }, + { + "text": "An incident response", + "value": "An incident response" + } + ] + }, + { + "title": "Location: LAPH", + "name": "iTBoCy", + "type": "string", + "items": [ + { + "description": "", + "text": "North East", + "value": "North East" + }, + { + "description": "", + "text": "North West", + "value": "North West" + }, + { + "text": "Yorkshire & Humber", + "value": "Yorkshire & Humber" + }, + { + "text": "East Midlands", + "value": "East Midlands" + }, + { + "text": "West Midlands", + "value": "West Midlands" + }, + { + "description": "", + "text": "East of England", + "value": "East of England" + }, + { + "description": "", + "text": "London", + "value": "London" + }, + { + "description": "", + "text": "South East", + "value": "South East" + }, + { + "description": "", + "text": "South West", + "value": "South West" + } + ] + }, + { + "title": "Yes", + "name": "IQAoJu", + "type": "string", + "items": [ + { + "text": "Yes", + "value": "Yes" + }, + { + "text": "No", + "value": "No" + } + ] + }, + { + "title":"Geographic scope", + "name": "zDtSLo", + "type": "string", + "items": [ + { + "text": "UK only", + "value": "UK only" + }, + { + "text": "International", + "value": "International" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Current awareness alerts options", + "name": "gTPicc", + "type": "string", + "items": [ + { + "text": "Adverse Weather and Health", + "value": "Adverse Weather and Health" + }, + { + "text": "Antimicrobial Resistance", + "value": "Antimicrobial Resistance" + }, + { + "text": "Global Public Health Security", + "value": "Global Public Health Security" + }, + { + "text": "Healthy Ageing", + "value": "Healthy Ageing" + }, + { + "text": "Infection", + "value": "Infection" + }, + { + "text": "Long-COVID", + "value": "Long-COVID" + }, + { + "text": "Mental Health", + "value": "Mental Health" + }, + { + "text": "Musculoskeletal Health", + "value": "Musculoskeletal Health" + }, + { + "text": "Nutrition, Diet & Obesity", + "value": "Nutrition, Diet & Obesity" + }, + { + "text": "Vector Borne Disease", + "value": "Vector Borne Disease" + }, + { + "text": "Other", + "value": "Other" + } + ] + } + ], + "sections": [], + "conditions": [ + { + "displayName": "Other", + "name": "BOkxIN", + "value": { + "name": "Other", + "conditions": [ + { + "field": { + "name": "ZpmVWP", + "type": "RadiosField", + "display": "Organisation" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Other", + "display": "Other" + } + } + ] + } + }, + { + "displayName": "Not other", + "name": "dhBTmP", + "value": { + "name": "Not other", + "conditions": [ + { + "field": { + "name": "ZpmVWP", + "type": "RadiosField", + "display": "Organisation" + }, + "operator": "is not", + "value": { + "type": "Value", + "value": "Other", + "display": "Other" + } + } + ] + } + }, + { + "displayName": "General route", + "name": "mZdZMC", + "value": { + "name": "General route", + "conditions": [ + { + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your query?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "General", + "display": "General" + } + } + ] + } + }, + { + "displayName": "Current awareness route", + "name": "OchNDo", + "value": { + "name": "Current awareness route", + "conditions": [ + { + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your query?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Current Awareness", + "display": "Current awareness alerts" + } + } + ] + } + }, + { + "displayName": "Literature search", + "name": "fNTYcH", + "value": { + "name": "Literature search", + "conditions": [ + { + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your query?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Literature Searches", + "display": "Literature search" + } + } + ] + } + }, + { + "displayName": "Evidence briefing", + "name": "eiTtgM", + "value": { + "name": "Evidence briefing", + "conditions": [ + { + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your query?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Evidence Briefings", + "display": "Evidence briefing" + } + } + ] + } + }, + { + "displayName": "Systematic review", + "name": "dCqSKz", + "value": { + "name": "Systematic review", + "conditions": [ + { + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your query?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Systematic Reviews", + "display": "Systematic review" + } + } + ] + } + }, + { + "displayName": "Not general or current awareness", + "name": "DsFDDA", + "value": { + "name": "Not general or current awareness", + "conditions": [ + { + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your query?" + }, + "operator": "is not", + "value": { + "type": "Value", + "value": "General", + "display": "General" + } + }, + { + "coordinator": "or", + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your query?" + }, + "operator": "is not", + "value": { + "type": "Value", + "value": "Current Awareness", + "display": "Current awareness alerts" + } + } + ] + } + }, + { + "displayName": "LAPH user", + "name": "IbKdRK", + "value": { + "name": "LAPH user", + "conditions": [ + { + "field": { + "name": "wyvXTj", + "type": "RadiosField", + "display": "Which organisation do you work for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Local Authority Public Health", + "display": "LAPH" + } + } + ] + } + }, + { + "displayName": "Other user", + "name": "CRsuUh", + "value": { + "name": "Other user", + "conditions": [ + { + "field": { + "name": "wyvXTj", + "type": "RadiosField", + "display": "Which organisation do you work for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Other", + "display": "Other" + } + } + ] + } + }, + { + "displayName": "LAPH general enquiry", + "name": "lsHzLP", + "value": { + "name": "LAPH general enquiry", + "conditions": [ + { + "field": { + "name": "VeQCVM", + "type": "RadiosField", + "display": "Which option best matches your enquiry? - LAPH user" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "General", + "display": "General" + } + } + ] + } + }, + { + "displayName": "LAPH lit search", + "name": "lxGNAu", + "value": { + "name": "LAPH lit search", + "conditions": [ + { + "field": { + "name": "VeQCVM", + "type": "RadiosField", + "display": "Which option best matches your enquiry? - LAPH user" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Literature Searches", + "display": "Literature search" + } + } + ] + } + }, + { + "displayName": "LAPH current awareness enquiry", + "name": "MQeZyE", + "value": { + "name": "LAPH current awareness enquiry", + "conditions": [ + { + "field": { + "name": "VeQCVM", + "type": "RadiosField", + "display": "Which option best matches your enquiry? - LAPH user" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Current Awareness", + "display": "Current awareness alerts" + } + } + ] + } + }, + { + "displayName": "Lit search 2", + "name": "CHaqWw", + "value": { + "name": "Lit search 2", + "conditions": [ + { + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your enquiry?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Literature Searches", + "display": "Literature search" + } + }, + { + "coordinator": "or", + "field": { + "name": "VeQCVM", + "type": "RadiosField", + "display": "Which option best matches your enquiry? - LAPH user" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Literature Searches", + "display": "Literature search" + } + } + ] + } + }, + { + "displayName": "Not G, EB, CA", + "name": "XvwdpX", + "value": { + "name": "Not G, EB, CA", + "conditions": [ + { + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your enquiry?" + }, + "operator": "is not", + "value": { + "type": "Value", + "value": "General", + "display": "General" + } + }, + { + "coordinator": "or", + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your enquiry?" + }, + "operator": "is not", + "value": { + "type": "Value", + "value": "Evidence Briefings", + "display": "Evidence briefing" + } + }, + { + "coordinator": "or", + "field": { + "name": "tUKBgj", + "type": "RadiosField", + "display": "Which option best matches your enquiry?" + }, + "operator": "is not", + "value": { + "type": "Value", + "value": "Current Awareness", + "display": "Current awareness alerts" + } + } + ] + } + }, + { + "displayName": "UKHSA staff", + "name": "EgJCgx", + "value": { + "name": "UKHSA staff", + "conditions": [ + { + "field": { + "name": "wyvXTj", + "type": "RadiosField", + "display": "Which organisation do you work for?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "UKHSA", + "display": "UKHSA" + } + } + ] + } + } + ], + "specialPages": { + "confirmationPage": { + "customText": { + "hidePanel": false, + "nextSteps": "You will receive an email to confirm that your enquiry has been received. You may need to check your mailbox’s junk folder to retrieve the email." + } + } + }, + "fees": [], + "outputs": [ + { + "name": "eBBQeD", + "title": "test-output", + "type": "webhook", + "outputConfiguration": { + "url": "${KLSwebhook}", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "phaseBanner": { + "phase": "beta" + }, + "feedback": { + "feedbackForm": true, + "url": "https://submit.forms.service.gov.uk/form/7932/give-feedback-on-knowledge-and-library-services-kls/30055" + }, + "jwtKey": "${KLSJwtKey}" +} \ No newline at end of file diff --git a/runner/src/server/forms/kls-feedback.json b/runner/src/server/forms/kls-feedback.json new file mode 100644 index 0000000000..383916c012 --- /dev/null +++ b/runner/src/server/forms/kls-feedback.json @@ -0,0 +1,140 @@ +{ + "metadata": {}, + "startPage": "/start", + "name": "Report an outbreak", + "skipSummary": true, + "pages": [ + { + "path": "/start", + "title": "Give feedback on Knowledge and Library Services", + "components": [ + { + "name": "Feedback", + "options": { + "customValidationMessages": { + "any.required": "Select how you would describe Knowledge and Library Services" + } + }, + "type": "CheckboxesField", + "title": "How would you describe Knowledge and Library Services?", + "hint": "Select all that apply", + "list": "FeedbackOptions" + }, + { + "name": "OtherFeedbackTextBox", + "options": { + "customValidationMessages": { + "string.empty": "Enter your feedback about any difficulties or highlights you experienced, and how we could improve the service", + "string.max": "Your feedback about any difficulties or highlights you experienced, and how we could improve the service, must be 2000 characters or less" + } + }, + "type": "MultilineTextField", + "schema": { + "maxlength": 2000 + }, + "title": "Tell us about any difficulties or highlights you experienced, and how we could improve the service.", + "hint": "Do not include any personal information here (What should we add here Jahdiel/Colin/Team...)." + }, + { + "name": "FeedbackPara", + "options": {}, + "type": "Para", + "content": "
    We would like to discuss your experience or test new features with you.

    Provide your email address if we can contact you for research. We will store your email address as explained in our UKHSA privacy notice (opens in a new tab)

    " + }, + { + "name": "FeedbackEmailAddress", + "options": { + "required": false, + "customValidationMessages": { + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "title": "Email address for a researcher to contact you", + "type": "EmailAddressField" + } + ], + "next": [ + { + "path": "/summary" + } + ] + }, + { + "path": "/summary", + "controller": "./pages/summary.js" + } + ], + "lists": [ + { + "title": "feedback-options", + "name": "FeedbackOptions", + "type": "string", + "items": [ + { + "text": "Useful resource", + "value": "Useful resource" + }, + { + "text": "Easy to understand", + "value": "Easy to understand" + }, + { + "text": "Easy to complete", + "value": "Easy to complete" + }, + { + "text": "Quick to complete", + "value": "Quick to complete" + }, + { + "text": "Some questions were unclear", + "value": "Some questions were unclear" + }, + { + "text": "Not detailed enough", + "value": "Not detailed enough" + }, + { + "text": "Too detailed", + "value": "Too detailed" + }, + { + "text": "Too time consuming", + "value": "Too time consuming" + }, + { + "text": "Other (specify below)", + "value": "Other (specify below)" + } + ] + } + ], + "outputs": [ + { + "name": "FeedbackForm", + "title": "KLS FeedbackForm", + "type": "webhook", + "outputConfiguration": { + "url": "https://webhook.site/e87402d7-a93e-406c-bf13-ca72f3973bbc", + "allowRetry": true + } + } + ], + "sections": [], + "conditions": [], + "phaseBanner": { + "phase": "beta" + }, + "feedback": { + "feedbackForm": false, + "url": "/kls-feedback" + }, + "specialPages": { + "confirmationPage": { + "customText": { + "nextSteps": "

    Thank you for completing this survey

    You can now close this page.

    ", + "hidePanel": true + } + } + } +} diff --git a/runner/src/server/forms/kls-magic-link.json b/runner/src/server/forms/kls-magic-link.json new file mode 100644 index 0000000000..f35e99057e --- /dev/null +++ b/runner/src/server/forms/kls-magic-link.json @@ -0,0 +1,247 @@ +{ + "startPage": "/start", + "skipSummary": true, + "authentication": true, + "toggle": true, + "toggleRedirect": "/kls-enquiries/which-organisation-do-you-work-for-DUPE", + "retryTimeoutSeconds": 300, + "analytics": { + "gtmId1": "GTM-WLKKLMQB" + }, + "magicLinkConfig": "kls-magic-link", + "allowedDomains": ["ukhsa.gov.uk", "dhsc.gov.uk", "nhs.net", "nhs.uk", "gov.uk", "nccpentest.com", "nccgroup.com", "digitalaccessibilitycentre.org"], + "invalidDomainRedirect": "/kls-magic-link/your-email-is-not-on-our-approved-list", + "serviceName": "UKHSA Knowledge and Library Services (KLS)", + "name": "UKHSA Knowledge and Library Services (KLS)", + "fullStartPage": "https://gov.uk/guidance/ukhsa-knowledge-and-library-services", + "pages": [ + { + "path": "/start", + "controller": "MagicLinkStartPageController", + "unauthenticated": true + }, + { + "title": "What is your email address?", + "path": "/email", + "unauthenticated": true, + "continueButtonText": "Continue", + "showContinueButton": true, + "backLinkFallback": "/kls-enquiries/which-organisation-do-you-work-for", + "components": [ + { + "name": "EmailIntro", + "options": {}, + "type": "Para", + "content": "We need to email you a secure link to the service.

    The link expires after 20 minutes.
    ", + "schema": {} + }, + { + "type": "EmailAddressField", + "title": "Email address", + "name": "email", + "options": { + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Enter email address", + "any.only": "Enter email address", + "string.empty": "Enter email address", + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + } + }, + { + "name": "alert", + "type": "ContentWithState", + "options": { + "exposeToContext": true, + "stateVariable": "minutesRemaining" + }, + "content": "{% if minutesRemaining %}
    WarningYou must wait {% if minutesRemaining == 1 %}1 minute{% else %}{{ minutesRemaining }} minutes{% endif %} before resubmitting the email
    {% endif %}" + }, + { + "name": "PrivacyNotice", + "options": {}, + "type": "Para", + "content": "By continuing, you agree to our privacy notice (opens in a new tab).", + "schema": {} + } + ], + "next": [ + { + "path": "/submit1" + } + ] + }, + { + "path": "/submit1", + "controller": "MagicLinkFirstSubmitPageController" + }, + { + "path": "/submit2", + "controller": "MagicLinkSecondSubmitPageController" + }, + { + "path": "/check-your-email", + "title": "Check your email", + "unauthenticated": true, + "backLinkFallback": "/start", + "components": [ + { + "name": "SentAnotherEmail", + "options": {}, + "type": "Para", + "content": "We’ve sent an email to {{ email }}.

    Click the link in the email to continue to access the Knowledge and Library Services form.



    If you've not received an email

    Check your spam or junk folder.

    If you’ve not received the email, you can resubmit the email in 5 minutes.

    ", + "schema": {} + }, + { + "name": "alert", + "type": "ContentWithState", + "options": { + "exposeToContext": true, + "stateVariable": "minutesRemaining" + }, + "content": "{% if minutesRemaining %}
    WarningYou must wait {% if minutesRemaining == 1 %}1 minute{% else %}{{ minutesRemaining }} minutes{% endif %} before resubmitting the email
    {% endif %}" + }, + { + "name": "SentAnotherEmailButton", + "options": {}, + "type": "Para", + "content": "Send a new email", + "schema": {} + } + ] + }, + { + "backLinkFallback": "/kls-magic-link", + "path": "/your-email-is-not-on-our-approved-list", + "title": "Your email is not on our approved list", + "unauthenticated": true, + "components": [ + { + "name": "GVrjNV", + "options": {}, + "type": "Para", + "content": "We only accept email addresses from organisations eligible to use our services (UKHSA, OHID, Local Authority Public Health teams and NHS England Public Health staff).
    You can still contact the Knowledge and Library Services team via their email:
    libraries@kls.ukhsa.gov.uk", + "schema": {} + } + ] + + }, + + { + + "path": "/resubmit-email", + "title": "We've sent you another email", + "unauthenticated": true, + "backLinkFallback": "/check-your-email", + "components": [ + { + "name": "SentAnotherEmail", + "options": {}, + "type": "Para", + "content": "We’ve sent another email to {{ email }}.

    Click the link in the email to continue with your enquiry.

    ", + "schema": {} + }, + { + "name": "NotReceivedEmail", + "options": {}, + "type": "Para", + "title": "If you've not received an email", + "content": "

    If you've not received an email

    Check your spam or junk folder.

    If you’ve still not received the email in 5 minutes, you need to request a new link.

    Request a new link", + "schema": {} + } + ], + "next": [] + }, + { + "title": "summary", + "path": "/summary", + "controller": "./pages/summary.js", + "components": [] + }, + { + "path": "/email-confirmed", + "title": "Thank you for verifying your email", + "disableBackLink": true, + "components": [ + { + "name": "EmailConfirmed", + "options": {}, + "type": "Para", + "content": "You will now be asked a series of questions. Please provide as much information as possible as this will help the UKHSA Knowledge and Library Services team deal with your enquiry promptly and accurately.

    Continue", + "schema": {} + } + ] + }, + { + "title": "return", + "path": "/return", + "controller": "MagicLinkController", + "components": [] + }, + { + "path": "/incorrect-email", + "title": "Incorrect email link", + "components": [ + { + "name": "IncorrectEmail", + "options": {}, + "type": "Para", + "content": "The email you used does not match the email associated with this link.

    Request a new link", + "schema": {} + } + ] + }, + { + "path": "/expired", + "title": "This link has expired", + "components": [ + { + "type": "Para", + "title": "This link has expired", + "content": "Request a new link", + "name": "blarGGH", + "options": {}, + "schema": {} + } + ] + } + ], + "specialPages": { + "confirmationPage": { + "customText": { + "hidePanel": true, + "nextSteps": "Back

    We've sent you another email

    We’ve sent another email to {{ email }}.

    Click the link in the email to continue to with your enquiry.

    If you've not received an email

    Check your spam or junk folder.

    If you’ve still not received the email in 5 minutes, you need to request a new link.

    Request a new link" + } + } + }, + "lists": [], + "sections": [], + "phaseBanner": { + "phase": "beta" + }, + "metadata": {}, + "fees": [], + "outputs": [ + { + "name": "magiclink", + "title": "KLS MagicLink", + "type": "notify", + "outputConfiguration": { + "apiKey": "${KLSnotifyApiKey}", + "templateId": "${KLSNotifyTemplateId}", + "emailField": "email", + "addReferencesToPersonalisation": false, + "personalisation": ["email", "hmacSignature", "hmacExpiryTime"], + "hmacKey": "${KLSMagicLinkHmacKey}" + } + } + ], + "jwtKey": "${KLSJwtKey}", + "feedback": { + "feedbackForm": true, + "url": "https://submit.forms.service.gov.uk/form/7932/give-feedback-on-knowledge-and-library-services-kls/30055" + }, + "version": 2, + "conditions": [] +} \ No newline at end of file diff --git a/runner/src/server/forms/kls-training-magic-link.json b/runner/src/server/forms/kls-training-magic-link.json new file mode 100644 index 0000000000..290ed6dc6f --- /dev/null +++ b/runner/src/server/forms/kls-training-magic-link.json @@ -0,0 +1,256 @@ +{ + "metadata": {}, + "startPage": "/start", + "skipSummary": true, + "authentication": true, + "toggle": true, + "analytics": { + "gtmId1": "GTM-WLKKLMQB" + }, + "serviceName": "UKHSA Knowledge and Library Services (KLS)", + "name": "UKHSA Knowledge and Library Services (KLS)", + "toggleRedirect": "/kls-training-request/training-request-part-1", + "magicLinkConfig": "kls-training-magic-link", + "allowedDomains": [ + "ukhsa.gov.uk", + "dhsc.gov.uk", + "nhs.net", + "nhs.uk", + "gov.uk", + "digitalaccessibilitycentre.org" + ], + "invalidDomainRedirect": "/kls-training-magic-link/your-email-is-not-on-our-approved-list", + "fullStartPage": "https://gov.uk/guidance/ukhsa-knowledge-and-library-services", + "pages": [ + { + "path": "/start", + "controller": "MagicLinkStartPageController", + "unauthenticated": true + }, + { + "title": "Enter your email address", + "path": "/email", + "unauthenticated": true, + "continueButtonText": "Continue", + "showContinueButton": true, + "backLinkFallback": "/kls-training-request/training-request-part-1", + "components": [ + { + "name": "EmailIntro", + "options": {}, + "type": "Para", + "content": "We need to email you a secure link to the service.

    The link expires after 20 minutes.
    ", + "schema": {} + }, + { + "type": "EmailAddressField", + "title": "Enter your email address", + "name": "email", + "options": { + "exposeToContext": true, + "customValidationMessages": { + "any.required": "Enter email address", + "any.only": "Enter email address", + "string.empty": "Enter email address", + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "hint": "Only email addresses that end in .gov.uk, nhs.uk, or nhs.net can be accepted." + }, + { + "name": "alert", + "type": "ContentWithState", + "options": { + "exposeToContext": true, + "stateVariable": "minutesRemaining" + }, + "content": "{% if minutesRemaining %}
    WarningYou must wait {% if minutesRemaining == 1 %}1 minute{% else %}{{ minutesRemaining }} minutes{% endif %} before resubmitting the email
    {% endif %}" + }, + { + "name": "PrivacyNotice", + "options": {}, + "type": "Para", + "content": "By continuing, you agree to our privacy notice (opens in a new tab).", + "schema": {} + } + ], + "next": [ + { + "path": "/submit1" + } + ] + }, + { + "path": "/submit1", + "controller": "MagicLinkFirstSubmitPageController" + }, + { + "path": "/submit2", + "controller": "MagicLinkSecondSubmitPageController" + }, + { + "path": "/check-your-email", + "title": "Check your email", + "unauthenticated": true, + "backLinkFallback": "/start", + "components": [ + { + "name": "SentAnotherEmail", + "options": {}, + "type": "Para", + "content": "We’ve sent an email to {{ email }}.

    Click the link in the email to continue to access the Knowledge and Library Services form.



    If you've not received an email

    Check your spam or junk folder.

    If you’ve not received the email, you can resubmit the email in 5 minutes.

    ", + "schema": {} + }, + { + "name": "alert", + "type": "ContentWithState", + "options": { + "exposeToContext": true, + "stateVariable": "minutesRemaining" + }, + "content": "{% if minutesRemaining %}
    WarningYou must wait {% if minutesRemaining == 1 %}1 minute{% else %}{{ minutesRemaining }} minutes{% endif %} before resubmitting the email
    {% endif %}" + }, + { + "name": "SentAnotherEmailButton", + "options": {}, + "type": "Para", + "content": "Send a new email", + "schema": {} + } + ] + }, + { + "backLinkFallback": "/kls-training-magic-link", + "path": "/your-email-is-not-on-our-approved-list", + "title": "Your email is not on our approved list", + "unauthenticated": true, + "components": [ + { + "name": "GVrjNV", + "options": {}, + "type": "Para", + "content": " The email you provided does not match our approved email criteria. We only accept emails from goverment orgainsation limited to UKHSA, OHID, Local Authorities and the NHS (nhs.uk and nhs.net).
    You can still contact the Knowledge and Library Services team via their email:
    libraries@kls.ukhsa.gov.uk ", + "schema": {} + } + ] + }, + { + "path": "/resubmit-email", + "title": "We've sent you another email", + "unauthenticated": true, + "backLinkFallback": "/check-your-email", + "components": [ + { + "name": "SentAnotherEmail", + "options": {}, + "type": "Para", + "content": "We’ve sent another email to {{ email }}.

    Click the link in the email to continue to report an access the Knowledge and Library Services.

    ", + "schema": {} + }, + { + "name": "NotReceivedEmail", + "options": {}, + "type": "Para", + "title": "If you've not received an email", + "content": "

    If you've not received an email

    Check your spam or junk folder.

    If you’ve still not received the email in 5 minutes, you need to request a new link.

    Request a new link", + "schema": {} + } + ], + "next": [] + }, + { + "title": "Summary", + "path": "/summary", + "controller": "./pages/summary.js", + "components": [] + }, + { + "title": "Thank you for verifying your email", + "path": "/email-confirmed", + "disableBackLink": true, + "components": [ + { + "name": "EmailConfirmed", + "options": {}, + "type": "Para", + "content": "You will now be asked a series of questions. Please provide as much information as possible as this will help the UKHSA Knowledge and Library Services team deal with your enquiry promptly and accurately.

    Continue", + "schema": {} + } + ] + }, + { + "title": "return", + "path": "/return", + "controller": "MagicLinkController", + "components": [] + }, + { + "path": "/incorrect-email", + "title": "Incorrect email link", + "components": [ + { + "name": "IncorrectEmail", + "options": {}, + "type": "Para", + "content": "The email you used does not match the email associated with this link.

    Request a new link", + "schema": {} + } + ] + }, + { + "path": "/expired", + "title": "This link has expired", + "components": [ + { + "type": "Para", + "title": "This link has expired", + "content": "Request a new link", + "name": "blarGGH", + "options": {}, + "schema": {} + } + ] + } + ], + "specialPages": { + "confirmationPage": { + "customText": { + "hidePanel": true, + "nextSteps": "Back

    We've sent you another email

    We’ve sent another email to {{ email }}.

    Click the link in the email to continue to access the Knowledge and Library Services.

    If you've not received an email

    Check your spam or junk folder.

    If you’ve still not received the email in 5 minutes, you need to request a new link.

    Request a new link" + } + } + }, + "lists": [], + "sections": [], + "phaseBanner": { + "phase": "beta" + }, + "conditions": [], + "fees": [], + "outputs": [ + { + "name": "magiclink", + "title": "KLS Training MagicLink", + "type": "notify", + "outputConfiguration": { + "apiKey": "${KLSTrainingNotifyApiKey}", + "templateId": "${KLSTrainingNotifyTemplateId}", + "emailField": "email", + "addReferencesToPersonalisation": false, + "personalisation": ["email", "hmacSignature", "hmacExpiryTime"], + "hmacKey": "${KLSTrainingMagicLinkHmacKey}" + } + } + ], + "feedback": { + "feedbackForm": true, + "url": "https://submit.forms.service.gov.uk/form/7932/give-feedback-on-knowledge-and-library-services-kls/30055" + }, + "version": 2, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "jwtKey": "${KLSTrainingJwtKey}" +} \ No newline at end of file diff --git a/runner/src/server/forms/kls-training-request.json b/runner/src/server/forms/kls-training-request.json new file mode 100644 index 0000000000..a0b9779039 --- /dev/null +++ b/runner/src/server/forms/kls-training-request.json @@ -0,0 +1,984 @@ +{ + "metadata": {}, + "startPage": "/start", + "fullStartPage": "https://gov.uk/guidance/ukhsa-knowledge-and-library-services", + "authentication": true, + "toggle": true, + "analytics": { + "gtmId1": "GTM-WLKKLMQB" + }, + "serviceName": "UKHSA Knowledge and Library Services (KLS)", + "name": "UKHSA Knowledge and Library Services (KLS)", + "magicLinkConfig": "kls-training-magic-link", + "webhookHmacSharedKey": "${KLSTrainingKey}", + "pages": [ + { + "title": "Contact the Knowledge and Library Services team", + "path": "/start", + "components": [ + { + "name": "mainContent", + "options": {}, + "type": "Para", + "content": "

    If you have recently submitted an enquiry using this form, please ensure you clear your cookies before starting a new enquiry.

    " + } + ], + "next": [ + { + "path": "/which-organisation-do-you-work-for" + } + ], + "controller": "./pages/start.js" + }, + { + "path": "/which-organisation-do-you-work-for", + "unauthenticated": true, + "title": "Which organisation do you work for?", + "components": [ + { + "name": "ZpmVWP", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select the organisation you work for", + "any.only": "Select the organisation you work for", + "string.empty": "Select the organisation you work for" + } + }, + "type": "RadiosField", + "title": "Organisation", + "hint": "The KLS service is available to staff from: UK Health Security Agency, Office for Health Improvement and Disparities, NHS England Public Health, and Local Authority Public Health. \n\nIf you do not belong to one of these organisations you can still contact the KLS team by selecting the 'Other' option to find the team's email address.", + "list": "uIwkHV", + "schema": {}, + "values": { + "type": "listRef" + } + } + ], + "next": [ + { + "path": "/please-contact-us-via-email", + "condition": "BOkxIN" + }, + { + "path": "/magic-link-redirect", + "condition": "dhBTmP" + } + ] + }, + { + "path": "/please-contact-us-via-email", + "unauthenticated": true, + "title": "Please contact us via email", + "components": [ + { + "name": "ryhwUr", + "options": {}, + "type": "Html", + "content": "

    You are not eligible to use this service, however you can still contact the KLS team via the following email: libraries@kls.ukhsa.gov.uk

    " + } + ], + "next": [] + }, + { + "path": "/magic-link-redirect", + "unauthenticated": true, + "controller": "MagicLinkRedirectController", + "next": [ + { + "path": "/training-request-part-1" + } + ] + }, + { + "path": "/training-request-part-1", + "title": "Training request part 1", + "disableBackLink": true, + "components": [ + { + "name": "sqQXGM", + "options": {}, + "type": "Details", + "title": "What types of training sessions are available?", + "content": "

    1:1 Session: A personalised session tailored to your individual needs.

    \n\n\n

    Small Group Session: Training for 2–6 participants tailored to the needs of the group.

    \n\n\n

    Team Session: Selecting elements from our core programme this session can be tailored to the needs of the team and will support the team in developing essential information literacy skills. The session can be developed to help the team find reliable and relevant information efficiently, understand and evaluate sources critically and to use information effectively in research and decision making.

    ", + "schema": {} + }, + { + "name": "dQAIPE", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select a training format", + "any.only": "Select a training format", + "string.empty": "Select a training format" + } + }, + "type": "RadiosField", + "title": "What training session would you like us to provide?", + "list": "oegZub", + "values": { + "type": "listRef" + }, + "schema": {} + }, + { + "name": "WIIAQE", + "options": { + "required": true, + "customValidationMessages": { + "number.base": "Enter number of participants", + "number.min": "Number of participants must be greater than 0", + "number.empty": "Enter number of participants" + } + }, + "hint": "Enter number of participants", + "type": "NumberField", + "title": "What is the approximate number of participants?", + "schema": { + "min": 1 + } + }, + { + "name": "FaHtQr", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select your preferred delivery type", + "any.only": "Select your preferred delivery type", + "string.empty": "Select your preferred delivery typee" + } + }, + "type": "RadiosField", + "title": "What is your preferred delivery type?", + "list": "eVlDbd", + "values": { + "type": "listRef" + } + }, + { + "name": "CncFtZ", + "options": { + "required": false + }, + "type": "TextField", + "title": "If you selected \"In person\", please indicate a region or site" + } + ], + "next": [ + { + "path": "/training-request-part-2" + } + ] + }, + { + "title": "Enquiry summary", + "path": "/summary", + "controller": "./pages/summary.js", + "components": [ + { + "name": "PdoDpO", + "options": {}, + "type": "Para", + "content": "Please check your details and click the 'Submit' button." + } + ], + "next": [] + }, + { + "path": "/training-request-part-2", + "title": "Training request part 2", + "components": [ + { + "name": "BpuPgW", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select the organisation you belong to", + "any.only": "Select the organisation you belong to", + "string.empty": "Select the organisation you belong to" + } + }, + "type": "RadiosField", + "title": "Which organisation do you belong to?", + "list": "UzXxgh" + }, + { + "name": "hMxELK", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select the topic(s) you would like to cover", + "any.only": "Select the topic(s) you would like to cover", + "string.empty": "Select the topic(s) you would like to cover" + } + }, + "type": "CheckboxesField", + "title": "What topic(s) would you like to cover?", + "hint": "Select all that apply", + "list": "mwdJGV", + "schema": {} + }, + { + "name": "ftUkbz", + "options": { + "required": false + }, + "type": "TextField", + "title": "If you selected ‘Other’, provide further details on the topic you would like to cover" + }, + { + "name": "gpIAot", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Describe your team’s area of specialism and any specific topic you would like the training to focus on", + "any.only": "Describe your team’s area of specialism and any specific topic you would like the training to focus on", + "string.empty": "Describe your team’s area of specialism and any specific topic you would like the training to focus on" + } + }, + "type": "MultilineTextField", + "title": "Please let us know your team’s area of specialism and any specific topic you would like the training to focus on. Alternatively, indicate if you would prefer a more generic training session." + }, + { + "name": "ojkYsn", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Enter suggested date(s) for the session", + "any.only": "Enter suggested date(s) for the session", + "string.empty": "Enter suggested date(s) for the session" + } + }, + "type": "TextField", + "title": "Suggested date(s) for the session:" + } + ], + "next": [ + { + "path": "/about-you", + "condition": "jXoEVp" + }, + { + "path": "/about-you-kyBsdt", + "condition": "bzXkMZ" + }, + { + "path": "/about-you-bHKmvx" + } + ] + }, + { + "path": "/about-you", + "title": "About you", + "components": [ + { + "name": "zmJhdG", + "options": { + "required": true, + "autocomplete": "name", + "customValidationMessages": { + "any.required": "Enter full name", + "any.only": "Enter full name", + "string.empty": "Enter full name" + } + }, + "type": "TextField", + "title": "Full name" + }, + { + "name": "XpqMGU", + "options": { + "required": true, + "autocomplete": "organization-title", + "customValidationMessages": { + "any.required": "Enter job title", + "any.only": "Enter job title", + "string.empty": "Enter job title" + } + }, + "type": "TextField", + "title": "Job title" + }, + { + "name": "UlQfrt", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select the UKHSA group to which you belong", + "any.only": "Select the UKHSA group to which you belong", + "string.empty": "Select the UKHSA group to which you belong" + } + }, + "type": "SelectField", + "title": "UKHSA Group", + "list": "TjWRyC", + "values": { + "type": "listRef" + } + }, + { + "name": "DMyqPG", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select the UKHSA directorate to which you belong", + "any.only": "Select the UKHSA directorate to which you belong", + "string.empty": "Select the UKHSA directorate to which you belong" + } + }, + "type": "SelectField", + "title": "UKHSA Directorate", + "list": "likBcc", + "values": { + "type": "listRef" + } + }, + { + "name": "QUKKlr", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Select location", + "any.only": "Select location", + "string.empty": "Select location" + } + }, + "type": "SelectField", + "title": "Location", + "list": "TqrOXp" + }, + { + "name": "YkNqCD", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Enter email address", + "any.only": "Enter email address", + "string.empty": "Enter email address", + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "Email address", + "nameHasError": false + }, + { + "name": "lZOKDY", + "options": { + "required": false, + "customValidationMessages": { + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "If you would like someone else to be included in emails about this enquiry, enter their email address below" + } + ], + "next": [ + { + "path": "/summary" + } + ] + }, + { + "path": "/about-you-kyBsdt", + "title": "About you", + "components": [ + { + "name": "kGNuQf", + "options": { + "required": true, + "autocomplete": "name", + "customValidationMessages": { + "any.required": "Enter full name", + "any.only": "Enter full name", + "string.empty": "Enter full name" + } + }, + "type": "TextField", + "title": "Full name" + }, + { + "name": "IqdqPY", + "options": { + "required": true, + "autocomplete": "organization-title", + "customValidationMessages": { + "any.required": "Enter job title", + "any.only": "Enter job title", + "string.empty": "Enter job title" + } + }, + "type": "TextField", + "title": "Job title" + }, + { + "name": "YkNqCD", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Enter email address", + "any.only": "Enter email address", + "string.empty": "Enter email address", + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "Email address" + }, + { + "name": "AOadZe", + "options": { + "required": false, + "customValidationMessages": { + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "If you would like someone else to be included in emails about this enquiry, enter their email address below" + }, + { + "name": "GjKMBs", + "options": { + "customValidationMessages": { + "any.required": "Select location", + "any.only": "Select location", + "string.empty": "Select location" + } + }, + "type": "SelectField", + "title": "Location", + "list": "WyDhtv" + } + ], + "next": [ + { + "path": "/summary" + } + ] + }, + { + "path": "/about-you-bHKmvx", + "title": "About you", + "components": [ + { + "name": "eRUvFD", + "options": { + "required": true, + "autocomplete": "name", + "customValidationMessages": { + "any.required": "Enter full name", + "any.only": "Enter full name", + "string.empty": "Enter full name" + } + }, + "type": "TextField", + "title": "Full name" + }, + { + "name": "fPTkAc", + "options": { + "required": true, + "autocomplete": "organization-title", + "customValidationMessages": { + "any.required": "Enter job title", + "any.only": "Enter job title", + "string.empty": "Enter job title" + } + }, + "type": "TextField", + "title": "Job title" + }, + { + "name": "UpNOKZ", + "options": { + "required": true, + "customValidationMessages": { + "any.required": "Enter email address", + "any.only": "Enter email address", + "string.empty": "Enter email address", + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "Email address" + }, + { + "name": "cEhUTE", + "options": { + "required": false, + "customValidationMessages": { + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + }, + "type": "EmailAddressField", + "title": "If you would like someone else to be included in emails about this enquiry, enter their email address below" + } + ], + "next": [ + { + "path": "/summary" + } + ] + } + ], + "lists": [ + { + "title": "Training session options", + "name": "oegZub", + "type": "string", + "items": [ + { + "text": "1:1 session", + "description": "", + "value": "1:1 session" + }, + { + "text": "Small group session ", + "description": "", + "value": "Small group session " + }, + { + "description": "", + "text": "Team session", + "value": "Team session" + } + ] + }, + { + "title": "Delivery type", + "name": "eVlDbd", + "type": "string", + "items": [ + { + "text": "Online via Teams", + "value": "Online via Teams" + }, + { + "text": "In person", + "description": "", + "value": "In person" + } + ] + }, + { + "title": "Topic list", + "name": "mwdJGV", + "type": "string", + "items": [ + { + "text": "KLS overview", + "value": "KLS overview" + }, + { + "text": "Literature searching: finding the evidence", + "value": "Literature searching: finding the evidence" + }, + { + "text": "Searching for grey literature", + "value": "Searching for grey literature" + }, + { + "text": "EndNote: an introduction", + "value": "EndNote: an introduction" + }, + { + "text": "EndNote: cite while you write", + "value": "EndNote: cite while you write" + }, + { + "text": "Endnote: collaboration and sharing", + "value": "Endnote: collaboration and sharing" + }, + { + "text": "Accessing resources", + "value": "Accessing resources" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "user group", + "name": "UzXxgh", + "type": "string", + "items": [ + { + "text": "UK Health Security Agency", + "value": "UKHSA" + }, + { + "text": "Office for Health Improvement and Disparities", + "value": "OHID" + }, + { + "text": "NHS England Public Health", + "value": "NHSE" + }, + { + "text": "Local Authority Public Health", + "value": "LAPH" + } + ] + }, + { + "title": "user groups", + "name": "tlYKzK", + "type": "string", + "items": [ + { + "text": "UKHSA", + "value": "UKHSA" + }, + { + "text": "OHID", + "value": "OHID" + }, + { + "text": "NHSE", + "value": "NHSE" + }, + { + "text": "LAPH", + "value": "LAPH" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Organisation", + "name": "uIwkHV", + "type": "string", + "items": [ + { + "text": "UK Health Security Agency", + "value": "UKHSA" + }, + { + "text": "Office for Health Improvement and Disparities", + "value": "Office for Health Improvement and Disparities (OHID)" + }, + { + "text": "NHS England Public Health", + "value": "NHS England Public Health" + }, + { + "text": "Local Authority Public Health", + "value": "Local Authority Public Health" + }, + { + "text": "Other", + "value": "Other" + } + ] + }, + { + "title": "Location: LAPH", + "name": "WyDhtv", + "type": "string", + "items": [ + { + "text": "North East", + "value": "North East" + }, + { + "text": "North West", + "value": "North West" + }, + { + "text": "Yorkshire & Humber", + "value": "Yorkshire & Humber" + }, + { + "text": "East Midlands", + "value": "East Midlands" + }, + { + "text": "West Midlands", + "value": "West Midlands" + }, + { + "text": "East of England", + "value": "East of England" + }, + { + "text": "London", + "value": "London" + }, + { + "text": "South East", + "value": "South East" + }, + { + "text": "South West", + "value": "South West" + } + ] + }, + { + "title": "UKHSA Group", + "name": "TjWRyC", + "type": "string", + "items": [ + { + "text": "Chief Scientific Officer (CSO)", + "value": "Chief Scientific Officer (CSO)" + }, + { + "text": "Chief Medical Advisor (CMA)", + "value": "Chief Medical Advisor (CMA)" + }, + { + "text": "Chief Data Officer (CDO)", + "value": "Chief Data Officer (CDO)" + }, + { + "text": "Chief Operating Officer (COO)", + "value": "Chief Operating Officer (COO)" + } + ] + }, + { + "title": "UKHSA Directorate", + "name": "likBcc", + "type": "string", + "items": [ + { + "text": "CDO: Analysis and Intelligence Assessment", + "value": "CDO: Analysis and Intelligence Assessment" + }, + { + "text": "CDO: Data Protection, Security and Technology Services", + "value": "CDO: Data Protection, Security and Technology Services" + }, + { + "text": "CDO: Digital and Data", + "value": "CDO: Digital and Data" + }, + { + "text": "CDO: Digital and Technology Transition", + "value": "CDO: Digital and Technology Transition" + }, + { + "text": "CMA: Emergency Preparedness, Resilience and Response (EPRR) and Response Operations", + "value": "CMA: Emergency Preparedness, Resilience and Response (EPRR) and Response Operations" + }, + { + "text": "CMA: Epidemic and Emerging Infections", + "value": "CMA: Epidemic and Emerging Infections" + }, + { + "text": "CMA: Global Health Protection", + "value": "CMA: Global Health Protection" + }, + { + "text": "CMA: Health Equity and Clinical Governance", + "value": "CMA: Health Equity and Clinical Governance" + }, + { + "text": "CMA: Health Protection in Regions", + "value": "CMA: Health Protection in Regions" + }, + { + "text": "CMA: Public Health Programmes", + "value": "CMA: Public Health Programmes" + }, + { + "text": "COO: Commercial, Vaccines and Countermeasures Supply", + "value": "COO: Commercial, Vaccines and Countermeasures Supply" + }, + { + "text": "COO: Communications", + "value": "COO: Communications" + }, + { + "text": "COO: Finance, Performance, Risk and Assurance", + "value": "COO: Finance, Performance, Risk and Assurance" + }, + { + "text": "COO: People and Workplace", + "value": "COO: People and Workplace" + }, + { + "text": "COO: Public Inquiry", + "value": "COO: Public Inquiry" + }, + { + "text": "COO: Strategy and Policy", + "value": "COO: Strategy and Policy" + }, + { + "text": "COO: Transformation", + "value": "COO: Transformation" + }, + { + "text": "CSO: Public Health Microbiology", + "value": "CSO: Public Health Microbiology" + }, + { + "text": "CSO: Radiation, Chemicals, Climate and Environmental Hazards", + "value": "CSO: Radiation, Chemicals, Climate and Environmental Hazards" + }, + { + "text": "CSO: Science Strategy and Evidence", + "value": "CSO: Science Strategy and Evidence" + }, + { + "text": "CSO: Scientific Facilities and Performance", + "value": "CSO: Scientific Facilities and Performance" + } + ] + }, + { + "title": "Location: UKHSA", + "name": "TqrOXp", + "type": "string", + "items": [ + { + "text": "Chilton", + "value": "Chilton" + }, + { + "text": "Colindale", + "value": "Colindale" + }, + { + "text": "Porton", + "value": "Porton" + }, + { + "text": "Other", + "value": "Other" + } + ] + } + ], + "sections": [], + "conditions": [ + { + "displayName": "UKHSA path", + "name": "jXoEVp", + "value": { + "name": "UKHSA path", + "conditions": [ + { + "field": { + "name": "BpuPgW", + "type": "RadiosField", + "display": "Which organisation do you belong to?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "UKHSA", + "display": "UKHSA" + } + } + ] + } + }, + { + "displayName": "LAPH path", + "name": "bzXkMZ", + "value": { + "name": "LAPH path", + "conditions": [ + { + "field": { + "name": "BpuPgW", + "type": "RadiosField", + "display": "Which organisation do you belong to?" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "LAPH", + "display": "LAPH" + } + } + ] + } + }, + { + "displayName": "Other", + "name": "BOkxIN", + "value": { + "name": "Other", + "conditions": [ + { + "field": { + "name": "ZpmVWP", + "type": "RadiosField", + "display": "Organisation" + }, + "operator": "is", + "value": { + "type": "Value", + "value": "Other", + "display": "Other" + } + } + ] + } + }, + { + "displayName": "Not other", + "name": "dhBTmP", + "value": { + "name": "Not other", + "conditions": [ + { + "field": { + "name": "ZpmVWP", + "type": "RadiosField", + "display": "Organisation" + }, + "operator": "is not", + "value": { + "type": "Value", + "value": "Other", + "display": "Other" + } + } + ] + } + } + ], + "specialPages": { + "confirmationPage": { + "customText": { + "hidePanel": false, + "nextSteps": "You will receive an email to confirm that your enquiry has been received. You may need to check your mailbox’s junk folder to retrieve the email." + } + } + }, + "fees": [], + "outputs": [ + { + "name": "eBBQeD", + "title": "test-output", + "type": "webhook", + "outputConfiguration": { + "url": "${KLSTrainingWebhook}", + "allowRetry": true + } + } + ], + "version": 2, + "skipSummary": false, + "feeOptions": { + "allowSubmissionWithoutPayment": true, + "maxAttempts": 3, + "showPaymentSkippedWarningPage": false + }, + "feedback": { + "feedbackForm": true, + "url": "https://submit.forms.service.gov.uk/form/7932/give-feedback-on-knowledge-and-library-services-kls/30055" + }, + "jwtKey": "${KLSTrainingJwtKey}" +} diff --git a/runner/src/server/forms/magic-link.json b/runner/src/server/forms/magic-link.json new file mode 100644 index 0000000000..a500547030 --- /dev/null +++ b/runner/src/server/forms/magic-link.json @@ -0,0 +1,217 @@ +{ + "startPage": "/start", + "skipSummary": true, + "toggle": "${magicLinkToggle}", + "toggleRedirect": "/ReportAnOutbreak/setting", + "retryTimeoutSeconds": 300, + "pages": [ + { + "path": "/start", + "controller": "MagicLinkStartPageController", + "unauthenticated": true + }, + { + "title": "What is your email address?", + "path": "/email", + "unauthenticated": true, + "continueButtonText": "Continue", + "showContinueButton": true, + "backLinkFallback": "/ReportAnOutbreak/hpt-region", + "components": [ + { + "name": "EmailIntro", + "options": {}, + "type": "Para", + "content": "We need to email you a secure link to the service.

    The link expires after 20 minutes.

    If you're returning to a report that you started in the last 3 days, use the same email address.
    ", + "schema": {} + }, + { + "type": "EmailAddressField", + "title": "Email address", + "name": "email", + "options": { + "exposeToContext": true, + "customValidationMessages": { + "string.empty": "Enter an email address", + "string.pattern.base": "Enter an email address in the correct format, like name@example.com" + } + } + }, + { + "name": "alert", + "type": "ContentWithState", + "options": { + "exposeToContext": true, + "stateVariable": "minutesRemaining" + }, + "content": "{% if minutesRemaining %}
    WarningYou must wait {% if minutesRemaining == 1 %}1 minute{% else %}{{ minutesRemaining }} minutes{% endif %} before resubmitting the email
    {% endif %}" + }, + { + "name": "PrivacyNotice", + "options": {}, + "type": "Para", + "content": "By continuing, you agree to our privacy notice.", + "schema": {} + } + ], + "next": [ + { + "path": "/submit1" + } + ] + }, + { + "path": "/submit1", + "controller": "MagicLinkFirstSubmitPageController" + }, + { + "path": "/submit2", + "controller": "MagicLinkSecondSubmitPageController" + }, + { + "path": "/check-your-email", + "title": "Check your email", + "unauthenticated": true, + "backLinkFallback": "/magic-link/magic-link", + "components": [ + { + "name": "SentAnotherEmail", + "options": {}, + "type": "Para", + "content": "We’ve sent an email to {{ email }}.

    Click the link in the email to continue to report an outbreak.



    If you've not received an email

    Check your spam or junk folder.

    If you’ve not received the email, you can resubmit the email in 5 minutes.

    ", + "schema": {} + }, + { + "name": "alert", + "type": "ContentWithState", + "options": { + "exposeToContext": true, + "stateVariable": "minutesRemaining" + }, + "content": "{% if minutesRemaining %}
    WarningYou must wait {% if minutesRemaining == 1 %}1 minute{% else %}{{ minutesRemaining }} minutes{% endif %} before resubmitting the email
    {% endif %}" + }, + { + "name": "SentAnotherEmailButton", + "options": {}, + "type": "Para", + "content": "Send a new email", + "schema": {} + } + ] + }, + { + "path": "/resubmit-email", + "title": "We've sent you another email", + "unauthenticated": true, + "backLinkFallback": "/check-your-email", + "components": [ + { + "name": "SentAnotherEmail", + "options": {}, + "type": "Para", + "content": "We’ve sent another email to {{ email }}.

    Click the link in the email to continue to report an outbreak.

    ", + "schema": {} + }, + { + "name": "NotReceivedEmail", + "options": {}, + "type": "Para", + "title": "If you've not received an email", + "content": "

    If you've not received an email

    Check your spam or junk folder.

    If you’ve still not received the email in 5 minutes, you need to request a new link.

    Request a new link", + "schema": {} + } + ], + "next": [] + }, + { + "title": "summary", + "path": "/summary", + "controller": "./pages/summary.js", + "components": [] + }, + { + "path": "/email-confirmed", + "title": "Email confirmed", + "components": [ + { + "name": "EmailConfirmed", + "options": {}, + "type": "Para", + "content": "You have successfully confirmed your email address. You can continue to Report an outbreak.

    Continue", + "schema": {} + } + ] + }, + { + "title": "return", + "path": "/return", + "controller": "MagicLinkController", + "components": [] + }, + { + "path": "/incorrect-email", + "title": "Incorrect email link", + "components": [ + { + "name": "IncorrectEmail", + "options": {}, + "type": "Para", + "content": "The email you used does not match the email associated with this link.

    Request a new link", + "schema": {} + } + ] + }, + { + "path": "/expired", + "title": "This link has expired", + "components": [ + { + "type": "Para", + "title": "This link has expired", + "content": "Request a new link", + "name": "blarGGH", + "options": {}, + "schema": {} + } + ] + } + ], + "specialPages": { + "confirmationPage": { + "customText": { + "hidePanel": true, + "nextSteps": "Back

    We've sent you another email

    We’ve sent another email to {{ email }}.

    Click the link in the email to continue to report an outbreak.

    If you've not received an email

    Check your spam or junk folder.

    If you’ve still not received the email in 5 minutes, you need to request a new link.

    Request a new link" + } + } + }, + "lists": [], + "sections": [], + "name": "Report an outbreak", + "phaseBanner": { + "phase": "beta" + }, + "metadata": {}, + "fees": [], + "outputs": [ + { + "name": "magiclink", + "title": "CareOBRA MagicLink", + "type": "notify", + "outputConfiguration": { + "apiKey": "${notifyApiKey}", + "templateId": "${NotifyTemplateId}", + "emailField": "email", + "addReferencesToPersonalisation": false, + "personalisation": ["email", "hmacSignature", "hmacExpiryTime"], + "hmacKey": "${HmacKey}" + } + } + ], + "jwtKey": "${jwtKey}", + "feedback": { + "feedbackForm": true, + "url": "/feedback" + }, + "version": 2, + "conditions": [] +} diff --git a/runner/src/server/plugins/applicationStatus/index.ts b/runner/src/server/plugins/applicationStatus/index.ts index 95cf414eae..f5d28f67a1 100644 --- a/runner/src/server/plugins/applicationStatus/index.ts +++ b/runner/src/server/plugins/applicationStatus/index.ts @@ -70,12 +70,30 @@ const index = { form, newReference ); + viewModel.name = form.name; + viewModel.feedbackLink = form.def.feedback.url; await cacheService.setConfirmationState(request, { confirmation: viewModel, }); await cacheService.clearState(request); + h.unstate("magicLinkRetry", { + path: "/", + isSecure: true, + isHttpOnly: true, + encoding: "base64json", + strictHeader: true, + }); + + h.unstate("auth_token", { + path: "/", + isSecure: true, + isHttpOnly: true, + encoding: "none", + isSameSite: "Lax", + }); + return h.view("confirmation", viewModel); }, }, diff --git a/runner/src/server/plugins/crumb.ts b/runner/src/server/plugins/crumb.ts index b9ec45596a..80483a0c05 100644 --- a/runner/src/server/plugins/crumb.ts +++ b/runner/src/server/plugins/crumb.ts @@ -13,7 +13,7 @@ export const configureCrumbPlugin = ( enforce: routeConfig?.enforceCsrf ?? config?.enforceCsrf, cookieOptions: { path: "/", - isSecure: !config.isDev, + isSecure: config.httpsCookieSecureAttribute, isHttpOnly: true, isSameSite: "Strict", }, diff --git a/runner/src/server/plugins/engine/components/CheckboxesField.ts b/runner/src/server/plugins/engine/components/CheckboxesField.ts index 607d9f085e..8298f139a4 100644 --- a/runner/src/server/plugins/engine/components/CheckboxesField.ts +++ b/runner/src/server/plugins/engine/components/CheckboxesField.ts @@ -12,15 +12,20 @@ export class CheckboxesField extends SelectionControlField { let schema = joi.array().single().label(def.title.toLowerCase()); + schema = schema.items(joi[this.listType]().allow(...this.values)); + if (options.required === false) { - // null or empty string is valid for optional fields - schema = schema - .empty(null) - .items(joi[this.listType]().allow(...this.values, "")); + schema = schema.empty(null).allow(""); } else { - schema = schema - .items(joi[this.listType]().allow(...this.values)) - .required(); + schema = schema.required(); + } + + if (options.finalValue) { + schema = schema.custom((value, helpers) => + value.includes(options.finalValue) && value.length > 1 + ? helpers.error("any.invalid") + : value + ); } if (options.customValidationMessages) { @@ -51,9 +56,18 @@ export class CheckboxesField extends SelectionControlField { formDataItems = (formData[this.name] ?? "").split(","); } - viewModel.items = (viewModel.items ?? []).map((item) => ({ + // Get the original items array + const items = viewModel.items ?? []; + + // Uses https://github.com/alphagov/govuk-design-system/blob/main/src/components/checkboxes/with-none-option/index.njk + // to handle divider and "None" option + viewModel.items = (viewModel.items ?? items).map((item, index, arr) => ({ ...item, - checked: !!formDataItems.find((i) => `${item.value}` === i), + checked: formDataItems.includes(`${item.value}`), + ...(this.options.divider && + index === arr.length - 1 && { behaviour: "exclusive" }), + ...(this.options.divider && + index === arr.length - 2 && { divider: "or" }), })); return viewModel; diff --git a/runner/src/server/plugins/engine/components/ContentWithState.ts b/runner/src/server/plugins/engine/components/ContentWithState.ts new file mode 100644 index 0000000000..c0bb8fdf82 --- /dev/null +++ b/runner/src/server/plugins/engine/components/ContentWithState.ts @@ -0,0 +1,55 @@ +import { FormData, FormSubmissionErrors, FormSubmissionState } from "../types"; +import config from "../../../config"; +import nunjucks from "nunjucks"; +import { FormComponent } from "./FormComponent"; +import _ from "lodash"; + +export class ContentWithState extends FormComponent { + getFormDataFromState(state: FormSubmissionState) { + const name = this.name; + const section = this.section; + let path = ""; + const result = {}; + const options: any = this.options || {}; + const stateVariable = options.stateVariable; + + if (section && section in state) { + path = `${section}.`; + state = { + ...state[section], + }; + } + + if (name in state) { + _.set(result, `${path}${name}`, this.getFormValueFromState(state)); + } + + // Use the configurable stateVariable from options + if (stateVariable in state) { + _.set(result, `${path}${stateVariable}`, state[stateVariable].toString()); + } + + return result; + } + + getViewModel(formData: FormData, errors: FormSubmissionErrors) { + const options: any = this.options; + + let content = this.content; + if (config.allowUserTemplates) { + content = nunjucks.renderString(content, { + ...formData, + }); + } + + const viewModel = { + ...super.getViewModel(formData, errors), + content: content, + }; + + if (options.condition) { + viewModel.condition = options.condition; + } + return viewModel; + } +} diff --git a/runner/src/server/plugins/engine/components/DatePartsField.ts b/runner/src/server/plugins/engine/components/DatePartsField.ts index 7237cae218..f516589818 100644 --- a/runner/src/server/plugins/engine/components/DatePartsField.ts +++ b/runner/src/server/plugins/engine/components/DatePartsField.ts @@ -1,4 +1,4 @@ -import { add, sub, parseISO, format } from "date-fns"; +import { parseISO, format } from "date-fns"; import { InputFieldsComponentsDef } from "@xgovformbuilder/model"; import { FormComponent } from "./FormComponent"; @@ -31,15 +31,21 @@ export class DatePartsField extends FormComponent { type: "NumberField", name: `${name}__day`, title: "Day", - schema: { min: 1, max: 31 }, + schema: { min: 1, max: 31, integer: true }, options: { required: isRequired, optionalText: optionalText, classes: "govuk-input--width-2", customValidationMessages: { - "number.min": "{{#label}} must be between 1 and 31", - "number.max": "{{#label}} must be between 1 and 31", - "number.base": `${def.title} must include a day`, + "number.min": + def.options?.customValidationMessages?.["date.base"] || + "{{#label}} must be between 1 and 31", + "number.max": + def.options?.customValidationMessages?.["date.base"] || + "{{#label}} must be between 1 and 31", + "number.base": `${ + def.errorLabel ?? def.title + } must include a day`, }, }, hint: "", @@ -48,15 +54,21 @@ export class DatePartsField extends FormComponent { type: "NumberField", name: `${name}__month`, title: "Month", - schema: { min: 1, max: 12 }, + schema: { min: 1, max: 12, integer: true }, options: { required: isRequired, optionalText: optionalText, classes: "govuk-input--width-2", customValidationMessages: { - "number.min": "{{#label}} must be between 1 and 12", - "number.max": "{{#label}} must be between 1 and 12", - "number.base": `${def.title} must include a month`, + "number.min": + def.options?.customValidationMessages?.["date.base"] || + "{{#label}} must be between 1 and 12", + "number.max": + def.options?.customValidationMessages?.["date.base"] || + "{{#label}} must be between 1 and 12", + "number.base": `${ + def.errorLabel ?? def.title + } must include a month`, }, }, hint: "", @@ -65,13 +77,19 @@ export class DatePartsField extends FormComponent { type: "NumberField", name: `${name}__year`, title: "Year", - schema: { min: 1000, max: 3000 }, + schema: { min: 1000, max: 3000, integer: true }, options: { required: isRequired, optionalText: optionalText, classes: "govuk-input--width-4", customValidationMessages: { - "number.base": `${def.title} must include a year`, + "number.min": `${ + def.options?.customValidationMessages?.["date.min"] || + "year must be 1000 or higher" + }`, + "number.base": `${ + def.errorLabel ?? def.title + } must include a year`, }, }, hint: "", @@ -95,6 +113,7 @@ export class DatePartsField extends FormComponent { schema = schema.custom( helpers.getCustomDateValidator(maxDaysInPast, maxDaysInFuture) ); + if (options.customValidationMessages) { schema = schema.messages(options.customValidationMessages); } @@ -118,6 +137,27 @@ export class DatePartsField extends FormComponent { getStateValueFromValidForm(payload: FormPayload) { const name = this.name; + const day = payload[`${name}__day`]; + const month = payload[`${name}__month`]; + const year = payload[`${name}__year`]; + + // If any of the date parts are missing, return null + if (!day || !month || !year) { + return null; + } + + // Convert to Date object (month is 0-indexed) + const date = new Date(year, month - 1, day); + + // Check if the reconstructed date matches the input + if ( + date.getFullYear() !== year || + date.getMonth() !== month - 1 || // Convert back to 1-indexed + date.getDate() !== day + ) { + console.error("Invalid date detected:", { day, month, year }); + return null; // Invalid date + } return payload[`${name}__year`] ? new Date( diff --git a/runner/src/server/plugins/engine/components/EmailAddressField.ts b/runner/src/server/plugins/engine/components/EmailAddressField.ts index 159bfaae85..4de43f6db2 100644 --- a/runner/src/server/plugins/engine/components/EmailAddressField.ts +++ b/runner/src/server/plugins/engine/components/EmailAddressField.ts @@ -3,25 +3,45 @@ import { InputFieldsComponentsDef } from "@xgovformbuilder/model"; import { FormModel } from "../models"; import { FormData, FormSubmissionErrors } from "../types"; import { FormComponent } from "./FormComponent"; -import { - getStateSchemaKeys, - getFormSchemaKeys, - addClassOptionIfNone, -} from "./helpers"; +import { addClassOptionIfNone } from "./helpers"; +import joi, { Schema } from "joi"; + +const EMAIL_REGEX = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"; export class EmailAddressField extends FormComponent { + formSchema; + stateSchema; + constructor(def: InputFieldsComponentsDef, model: FormModel) { super(def, model); this.schema["email"] = true; + addClassOptionIfNone(this.options, "govuk-input--width-20"); + + // Define Joi schema for email validation + let emailSchema = joi.string(); + + if (this.options.required === false) { + emailSchema = emailSchema.allow("").allow(null); + } + + const pattern = new RegExp(EMAIL_REGEX); + emailSchema = emailSchema.pattern(pattern); + + if (this.options.customValidationMessages) { + emailSchema = emailSchema.messages(this.options.customValidationMessages); + } + + this.formSchema = emailSchema; + this.stateSchema = emailSchema; } getFormSchemaKeys() { - return getFormSchemaKeys(this.name, "string", this); + return { [this.name]: this.formSchema as Schema }; } getStateSchemaKeys() { - return getStateSchemaKeys(this.name, "string", this); + return { [this.name]: this.stateSchema as Schema }; } getViewModel(formData: FormData, errors: FormSubmissionErrors) { @@ -34,7 +54,7 @@ export class EmailAddressField extends FormComponent { }; } - viewModel.type = "email"; + viewModel.type = "text"; viewModel.autocomplete = "email"; return viewModel; diff --git a/runner/src/server/plugins/engine/components/NumberField.ts b/runner/src/server/plugins/engine/components/NumberField.ts index 0d2e4f303f..d9ecf948f1 100644 --- a/runner/src/server/plugins/engine/components/NumberField.ts +++ b/runner/src/server/plugins/engine/components/NumberField.ts @@ -14,7 +14,7 @@ export class NumberField extends FormComponent { this.schemaOptions = schema; this.options = options; - const { min, max } = schema; + const { min, max, integer } = schema; let componentSchema = joi.number(); componentSchema = componentSchema.label(def.title.toLowerCase()); @@ -27,6 +27,11 @@ export class NumberField extends FormComponent { componentSchema = componentSchema.max(max); } + // Add this block to enforce integer validation + if (integer === true) { + componentSchema = componentSchema.integer(); + } + if (options.customValidationMessage) { componentSchema = componentSchema.rule({ message: def.options.customValidationMessage, diff --git a/runner/src/server/plugins/engine/components/Para.ts b/runner/src/server/plugins/engine/components/Para.ts index 1845583a4f..329826d9e6 100644 --- a/runner/src/server/plugins/engine/components/Para.ts +++ b/runner/src/server/plugins/engine/components/Para.ts @@ -1,12 +1,19 @@ import { ComponentBase } from "./ComponentBase"; import { FormData, FormSubmissionErrors } from "../types"; +import config from "../../../config"; +import nunjucks from "nunjucks"; export class Para extends ComponentBase { getViewModel(formData: FormData, errors: FormSubmissionErrors) { const options: any = this.options; + + let content = this.content; + if (config.allowUserTemplates) { + content = nunjucks.renderString(content, { ...formData }); + } const viewModel = { ...super.getViewModel(formData, errors), - content: this.content, + content: content, }; if (options.condition) { diff --git a/runner/src/server/plugins/engine/components/SelectionControlField.ts b/runner/src/server/plugins/engine/components/SelectionControlField.ts index ad77eba1f4..ddf87de927 100644 --- a/runner/src/server/plugins/engine/components/SelectionControlField.ts +++ b/runner/src/server/plugins/engine/components/SelectionControlField.ts @@ -1,11 +1,129 @@ +import joi from "joi"; +import nunjucks from "nunjucks"; + import { ListFormComponent } from "server/plugins/engine/components/ListFormComponent"; import { FormData, FormSubmissionErrors } from "server/plugins/engine/types"; import { ListItem } from "server/plugins/engine/components/types"; +import { ComponentCollection } from "./ComponentCollection"; + +const getSchemaKeys = Symbol("getSchemaKeys"); + /** * "Selection controls" are checkboxes and radios (and switches), as per Material UI nomenclature. */ export class SelectionControlField extends ListFormComponent { + conditionallyRevealedComponents?: any; + hasConditionallyRevealedComponents: boolean = false; + + constructor(def, model) { + super(def, model); + const { options } = def; + this.options = options; + + const { items } = this; + + if (options.conditionallyRevealedComponents) { + this.conditionallyRevealedComponents = + options.conditionallyRevealedComponents; + + for (const item of items) { + let conditionallyRevealedComponent = this + .conditionallyRevealedComponents[item.value]; + + if (conditionallyRevealedComponent != undefined) { + // Pass custom validation messages to the conditionally revealed component + if (options.customValidationMessages) { + conditionallyRevealedComponent.options = + conditionallyRevealedComponent.options || {}; + conditionallyRevealedComponent.options.customValidationMessages = + conditionallyRevealedComponent.options.customValidationMessages || + {}; + + // Merge parent validation messages with child validation messages + Object.assign( + conditionallyRevealedComponent.options.customValidationMessages, + options.customValidationMessages + ); + } + + item.hasConditionallyRevealedComponents = true; + item.conditionallyRevealedComponents = new ComponentCollection( + [conditionallyRevealedComponent], + item.model + ); + } + } + } + } + + getStateFromValidForm(payload: FormPayload) { + const state = super.getStateFromValidForm(payload); + const itemsWithConditionalComponents = this.items.filter( + (item: any) => item.conditionallyRevealedComponents + ); + const selectedItemsWithConditionalComponents = itemsWithConditionalComponents?.filter( + (item) => { + if (payload[this.name] && Array.isArray(payload[this.name])) { + return payload[this.name].find( + (nestedItem) => item.value === nestedItem + ); + } else { + return item.value === payload[this.name]; + } + } + ); + // Add selected form data associated with conditionally revealed content to the state. + selectedItemsWithConditionalComponents?.forEach((item: any) => + Object.assign( + state, + item.conditionallyRevealedComponents.getStateFromValidForm(payload) + ) + ); + // Add null values to the state for unselected form data associated with conditionally revealed content. + // This will allow changes in the visibility of conditionally revealed content to be reflected in state correctly. + const unselectedItemsWithConditionalComponents = itemsWithConditionalComponents?.filter( + (item) => !selectedItemsWithConditionalComponents?.includes(item) + ); + unselectedItemsWithConditionalComponents?.forEach((item: any) => { + const stateFromValidForm = item.conditionallyRevealedComponents.getStateFromValidForm( + payload + ); + Object.values(item.conditionallyRevealedComponents.items) + .filter( + (conditionalItem: any) => stateFromValidForm[conditionalItem.name] + ) + .forEach((key: any) => { + const conditionalItemToNull = key.name; + Object.assign(stateFromValidForm, { [conditionalItemToNull]: null }); + }); + Object.assign(state, stateFromValidForm); + }); + return state; + } + + getFormDataFromState(state: FormSubmissionState) { + const formData = super.getFormDataFromState(state); + if (formData) { + const itemsWithConditionalComponents = this.items.filter( + (item: any) => item.conditionallyRevealedComponents + ); + itemsWithConditionalComponents?.forEach((item: any) => { + const itemFormDataFromState = item.conditionallyRevealedComponents.getFormDataFromState( + state + ); + if ( + itemFormDataFromState && + Object.keys(itemFormDataFromState).length > 0 + ) { + Object.assign(formData, itemFormDataFromState); + } + }); + } + + return formData; + } + getViewModel(formData: FormData, errors: FormSubmissionErrors) { const { name, items } = this; const options: any = this.options; @@ -20,7 +138,7 @@ export class SelectionControlField extends ListFormComponent { }, }; - viewModel.items = items.map((item) => { + viewModel.items = items.map((item: any) => { const itemModel: ListItem = { text: item.text, value: item.value, @@ -39,11 +157,80 @@ export class SelectionControlField extends ListFormComponent { }; } - return itemModel; + if (options.conditionallyRevealedComponents?.[item.value]) { + // The gov.uk design system Nunjucks examples for conditional reveal reference variables from macros. There does not appear to + // to be a way to do this in JavaScript. As such, render the conditional components with Nunjucks before the main view is rendered. + // The conditional html tag used by the gov.uk design system macro will reference HTML rarther than one or more additional + // gov.uk design system macros. + + let viewModel = item.conditionallyRevealedComponents.getViewModel( + formData, + errors + ); - // FIXME:- add this back when GDS fix accessibility issues involving conditional reveal fields - //return super.addConditionalComponents(item, itemModel, formData, errors); + viewModel.forEach((component) => { + if (component.model.label) { + component.model.label.classes = "govuk-label"; + } + }); + + itemModel.conditional = { + html: nunjucks.render( + "../views/partials/conditional-components.html", + { + components: viewModel, + } + ), + }; + } + + return itemModel; }); return viewModel; } + + getStateSchemaKeys() { + return this[getSchemaKeys]("state"); + } + + getFormSchemaKeys() { + return this[getSchemaKeys]("form"); + } + + [getSchemaKeys](schemaType) { + const schemaName = `${schemaType}Schema`; + const schemaKeysFunctionName = `get${schemaType + .substring(0, 1) + .toUpperCase()}${schemaType.substring(1)}SchemaKeys`; + const filteredItems = this.items.filter( + (item: any) => item.hasConditionallyRevealedComponents + ); + const conditionalName = this.name; + const schemaKeys = { [conditionalName]: this[schemaName] }; + // const schema = this[schemaName]; + // All conditional component values are submitted regardless of their visibilty. + // As such create Joi validation rules such that: + // a) When a conditional component is visible it is required. + // b) When a conditional component is not visible it is optional. + filteredItems?.forEach((item: any) => { + const conditionalSchemaKeys = item.conditionallyRevealedComponents[ + schemaKeysFunctionName + ](); + + const conditionalMessages = + item.conditionallyRevealedComponents.items[0].options + .customValidationMessages || {}; + + Object.keys(conditionalSchemaKeys).forEach((key) => { + let schema = joi.alternatives().conditional(joi.ref(conditionalName), { + is: item.value, + then: conditionalSchemaKeys[key].messages(conditionalMessages), + otherwise: joi.optional(), + }); + schemaKeys[key] = schema; + }); + }); + + return schemaKeys; + } } diff --git a/runner/src/server/plugins/engine/components/TelephoneNumberField.ts b/runner/src/server/plugins/engine/components/TelephoneNumberField.ts index 309d418e80..06e788b9e1 100644 --- a/runner/src/server/plugins/engine/components/TelephoneNumberField.ts +++ b/runner/src/server/plugins/engine/components/TelephoneNumberField.ts @@ -47,7 +47,7 @@ export class TelephoneNumberField extends FormComponent { } this.schema = componentSchema; - addClassOptionIfNone(this.options, "govuk-input--width-10"); + addClassOptionIfNone(this.options, "govuk-input--width-20"); } getFormSchemaKeys() { diff --git a/runner/src/server/plugins/engine/components/TextField.ts b/runner/src/server/plugins/engine/components/TextField.ts index 2acf6d6a34..bc0e1067dc 100644 --- a/runner/src/server/plugins/engine/components/TextField.ts +++ b/runner/src/server/plugins/engine/components/TextField.ts @@ -19,7 +19,7 @@ export class TextField extends FormComponent { addClassOptionIfNone(this.options, "govuk-input--width-20"); - let componentSchema = joi.string().required(); + let componentSchema = joi.string(); if (options.required === false) { componentSchema = componentSchema.optional().allow("").allow(null); } diff --git a/runner/src/server/plugins/engine/components/index.ts b/runner/src/server/plugins/engine/components/index.ts index fab35d4651..55101192e8 100644 --- a/runner/src/server/plugins/engine/components/index.ts +++ b/runner/src/server/plugins/engine/components/index.ts @@ -34,3 +34,4 @@ export { WebsiteField } from "./WebsiteField"; export { YesNoField } from "./YesNoField"; export { MonthYearField } from "./MonthYearField"; export { ContextComponent } from "./ContextComponent"; +export { ContentWithState } from "./ContentWithState"; diff --git a/runner/src/server/plugins/engine/components/types.ts b/runner/src/server/plugins/engine/components/types.ts index 5597910355..504d691b0b 100644 --- a/runner/src/server/plugins/engine/components/types.ts +++ b/runner/src/server/plugins/engine/components/types.ts @@ -23,6 +23,9 @@ export type ListItem = { selected?: boolean; label?: ListItemLabel; condition?: string; + conditional?: { + html: string; + }; }; // TODO: Break this down for each component (Same as model/Component). diff --git a/runner/src/server/plugins/engine/models/FormModel.ts b/runner/src/server/plugins/engine/models/FormModel.ts index 088e49b6a0..4422f81a4e 100644 --- a/runner/src/server/plugins/engine/models/FormModel.ts +++ b/runner/src/server/plugins/engine/models/FormModel.ts @@ -22,6 +22,7 @@ import { ExecutableCondition } from "server/plugins/engine/models/types"; import { DEFAULT_FEE_OPTIONS } from "server/plugins/engine/models/FormModel.feeOptions"; import { ContextComponentCollection } from "server/plugins/engine/components/ContextComponentCollection"; import { ExitOptions } from "server/plugins/engine/models/FormModel.exitOptions"; +import config from "../../../config"; class EvaluationContext { constructor(conditions, value) { @@ -49,6 +50,7 @@ export class FormModel { sections: FormDefinition["sections"] = []; options: any; name: any; + serviceStartPage: any; values: any; DefaultPageController: any = PageController; /** the id of the form used for the first url parameter eg localhost:3009/test */ @@ -98,6 +100,7 @@ export class FormModel { this.sections = def.sections; this.options = options; this.name = def.name; + this.serviceStartPage = def.fullStartPage || config.serviceStartPage || config.serviceName || "#"; this.values = result.value; if (options.defaultPageController) { @@ -289,4 +292,4 @@ export class FormModel { return { relevantPages, endPage }; } -} +} \ No newline at end of file diff --git a/runner/src/server/plugins/engine/models/SummaryViewModel.ts b/runner/src/server/plugins/engine/models/SummaryViewModel.ts index 0dda0af9c1..755654ec96 100644 --- a/runner/src/server/plugins/engine/models/SummaryViewModel.ts +++ b/runner/src/server/plugins/engine/models/SummaryViewModel.ts @@ -212,8 +212,9 @@ export class SummaryViewModel { const selectedItem = component.items.filter( (i) => i.value === selectedValue )[0]; - if (selectedItem && selectedItem.childrenCollection) { - for (const cc of selectedItem.childrenCollection.formItems) { + if (selectedItem && selectedItem.conditionallyRevealedComponents) { + for (const cc of selectedItem.conditionallyRevealedComponents + .formItems) { const cItem = Item(request, cc, sectionState, page, model); items.push(cItem); } diff --git a/runner/src/server/plugins/engine/models/submission/EmailModel.ts b/runner/src/server/plugins/engine/models/submission/EmailModel.ts index 20a5b7ebbe..384a156709 100644 --- a/runner/src/server/plugins/engine/models/submission/EmailModel.ts +++ b/runner/src/server/plugins/engine/models/submission/EmailModel.ts @@ -1,9 +1,7 @@ import { FormModel } from "server/plugins/engine/models"; import { TEmailModel } from "./types"; -import config from "server/config"; import { EmailOutputConfiguration } from "@xgovformbuilder/model"; import { WebhookData } from "server/plugins/engine/models/types"; -const { notifyTemplateId, notifyAPIKey } = config; /** * returns an object used for sending email requests. Used by {@link SummaryViewModel} @@ -31,8 +29,8 @@ export function EmailModel( formName, formPayload: data.join("\r\n"), }, - apiKey: notifyAPIKey, - templateId: notifyTemplateId, + apiKey: outputConfiguration.apiKey, + templateId: outputConfiguration.notifyTemplateId, emailAddress: outputConfiguration.emailAddress, }; } diff --git a/runner/src/server/plugins/engine/models/submission/NotifyModel.ts b/runner/src/server/plugins/engine/models/submission/NotifyModel.ts index f005f432fc..30483f0824 100644 --- a/runner/src/server/plugins/engine/models/submission/NotifyModel.ts +++ b/runner/src/server/plugins/engine/models/submission/NotifyModel.ts @@ -37,9 +37,10 @@ export function NotifyModel( personalisationFieldCustomisation = {}, emailReplyToIdConfiguration, escapeURLs = false, - templateId, } = outputConfiguration; + let { templateId } = outputConfiguration; + // @ts-ignore - eslint does not report this as an error, only tsc const personalisation: NotifyModel["personalisation"] = personalisationConfiguration.reduce( (acc, curr) => { diff --git a/runner/src/server/plugins/engine/models/submission/WebhookModel.ts b/runner/src/server/plugins/engine/models/submission/WebhookModel.ts index efdd8488b7..f8d16664af 100644 --- a/runner/src/server/plugins/engine/models/submission/WebhookModel.ts +++ b/runner/src/server/plugins/engine/models/submission/WebhookModel.ts @@ -8,6 +8,7 @@ import { Field } from "server/schemas/types"; import { PageControllerBase } from "server/plugins/engine/pageControllers"; import { SelectionControlField } from "server/plugins/engine/components/SelectionControlField"; import nunjucks from "nunjucks"; + export function WebhookModel(model: FormModel, state: FormSubmissionState) { let englishName = `${config.serviceName} ${model.basePath}`; @@ -31,26 +32,43 @@ export function WebhookModel(model: FormModel, state: FormSubmissionState) { } function createToFieldsMap(state: FormSubmissionState) { - return function (component: FormComponent | SelectionControlField): Field { - // @ts-ignore - This block of code should not be hit since childrenCollection no - if (component.items?.childrenCollection?.formItems) { - const toField = createToFieldsMap(state); - - /** - * This is currently deprecated whilst GDS fix a known issue with accessibility and conditionally revealed fields - */ - // @ts-ignore - const nestedComponent = component?.items?.childrenCollection.formItems; - const nestedFields = nestedComponent?.map(toField); - - return nestedFields; + return function (component: FormComponent | SelectionControlField): Field[] { + if (component instanceof SelectionControlField) { + const selectedValue = state[component.name]; + const baseField = { + key: component.name, + title: component.title, + type: "list", + answer: fieldAnswerFromComponent(component, state), + }; + + // Check if there are conditional components for the selected value + const selectedItem = component.items.find( + (item) => + item.value === selectedValue && + item.hasConditionallyRevealedComponents + ); + + if (selectedItem?.conditionallyRevealedComponents) { + const toField = createToFieldsMap(state); + const nestedFields = selectedItem.conditionallyRevealedComponents.formItems.flatMap( + toField + ); + + return [baseField, ...nestedFields]; + } + + return [baseField]; } - return { - key: component.name, - title: component.title, - type: component.dataType, - answer: fieldAnswerFromComponent(component, state), - }; + + return [ + { + key: component.name, + title: component.title, + type: component.dataType, + answer: fieldAnswerFromComponent(component, state), + }, + ]; }; } @@ -59,8 +77,6 @@ function pagesToQuestions( state: FormSubmissionState, index = 0 ) { - // TODO - index should come from the current iteration of the section. - let sectionState = state; if (page.section) { sectionState = state[page.section.name]; @@ -82,7 +98,7 @@ function pagesToQuestions( } function fieldAnswerFromComponent( - component: FormComponent, + component: FormComponent | SelectionControlField, state: FormSubmissionState = {} ) { if (!component) { @@ -90,15 +106,33 @@ function fieldAnswerFromComponent( } const rawValue = state?.[component.name]; + // Handle SelectionControlField + if (component instanceof SelectionControlField) { + // If it's a selection control, we want to return both the selected value + // and any conditional component values + const selectedValue = rawValue; + + // Find the selected item to get its display text + const selectedItem = component.items.find( + (item) => item.value === selectedValue + ); + + return selectedItem ? selectedItem.text : selectedValue; + } + switch (component.dataType) { case "list": return rawValue; case "date": - return format(new Date(rawValue), "yyyy-MM-dd"); + return rawValue ? format(new Date(rawValue), "yyyy-MM-dd") : undefined; case "monthYear": + if (!rawValue) return undefined; const [month, year] = Object.values(rawValue); return format(new Date(`${year}-${month}-1`), "yyyy-MM"); default: - return component.getDisplayStringFromState(state); + if (typeof component.getDisplayStringFromState === "function") { + return component.getDisplayStringFromState(state); + } + return rawValue; } } diff --git a/runner/src/server/plugins/engine/pageControllers/CheckpointSummaryPageController.ts b/runner/src/server/plugins/engine/pageControllers/CheckpointSummaryPageController.ts new file mode 100644 index 0000000000..5dd216160c --- /dev/null +++ b/runner/src/server/plugins/engine/pageControllers/CheckpointSummaryPageController.ts @@ -0,0 +1,200 @@ +import { HapiRequest, HapiResponseToolkit } from "server/types"; +import { PageController } from "server/plugins/engine/pageControllers/PageController"; + +import { FormComponent } from "server/plugins/engine/components"; +import { PageControllerBase } from "server/plugins/engine/pageControllers/PageControllerBase"; +import { FormModel } from "server/plugins/engine/models"; +import { CheckpointSummaryPage } from "@xgovformbuilder/model"; + +const DEFAULT_OPTIONS = { + customText: {}, +}; + +export class CheckpointSummaryPageController extends PageController { + returnUrlParameter: string; + options: CheckpointSummaryPage["options"]; + + constructor(model: FormModel, pageDef: CheckpointSummaryPage) { + super(model, pageDef); + + const returnPath = `/${this.model.basePath}${this.path}`; + this.returnUrlParameter = `?returnUrl=${encodeURIComponent(returnPath)}`; + this.options = pageDef?.options ?? DEFAULT_OPTIONS; + this.options.customText ??= DEFAULT_OPTIONS.customText; + } + /** + * Returns an async function. This is called in plugin.ts when there is a GET request at `/{id}/{path*}`, + */ + makeGetRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + this.langFromRequest(request); + + const viewModel = await this.summaryViewModel(request); + + return h.view("checkpoint-summary", viewModel); + }; + } + + /** + * Returns an async function. This is called in plugin.ts when there is a POST request at `/{id}/{path*}`. + * If a form is incomplete, a user will be redirected to the start page. + */ + makePostRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + const { cacheService } = request.services([]); + const model = this.model; + const state = await cacheService.getState(request); + + request.yar.set("basePath", model.basePath); + + const nextPage = this.getNext(state); + return h.redirect(nextPage); + }; + } + + get postRouteOptions() { + return { + ext: { + onPreHandler: { + method: async (_request: HapiRequest, h: HapiResponseToolkit) => { + return h.continue; + }, + }, + }, + }; + } + + async summaryViewModel(request: HapiRequest) { + const { cacheService } = request.services([]); + const state = await cacheService.getState(request); + const { progress = [] } = state; + + const { relevantPages } = this.model.getRelevantPages(state); + + const rowsBySection = relevantPages.reduce((prev, page) => { + let displaySectionName; + if (this.options?.multiSummary) { + // Use sectionForMultiSummaryPages, otherwise use section name + displaySectionName = + page.sectionForMultiSummaryPages || page.section?.name; + } else { + // Use sectionForExitJourneySummaryPages for grouping if available, otherwise use section name + displaySectionName = + page.sectionForExitJourneySummaryPages || page.section?.name; + } + + // Always use section name for state access + const stateSectionName = page.section?.name; + + const section = prev[displaySectionName] ?? []; + let sectionState = stateSectionName + ? state[stateSectionName] || {} + : state; + + const toRow = this.formItemsToRowByPage({ + page, + sectionState, + fullState: state, + }); + + section.push(...page.components.formItems.map(toRow)); + + prev[displaySectionName] = section; + return prev; + }, {}); + + const summaryLists = Object.entries(rowsBySection).map( + ([section, rows]) => { + const modelSection = this.model.sections.find( + (mSection) => mSection.name === section + ); + + return { + sectionTitle: !modelSection?.hideTitle ? modelSection?.title : "", + section, + rows, + }; + } + ); + + return { + page: this, + pageTitle: this.title, + sectionTitle: this.section?.title, + backLink: progress[progress.length - 1] ?? this.backLinkFallback, + name: this.model.name, + summaryLists, + showTitle: true, + customText: this.options.customText, + }; + } + + findDisplayValue( + component: FormComponent, + value: string + ): string | undefined { + // Check if the component has items list + if (component.items && Array.isArray(component.items)) { + // Find the item where the text or value matches the input value + const matchedItem = component.items.find( + (item) => item.text === value || item.value === value + ); + + // Return value2 if it exists, otherwise return undefined + return matchedItem?.checkpointDisplayValue || matchedItem?.text; + } + + // If no items list or no match found, return undefined + return undefined; + } + + formItemsToRowByPage({ + page, + sectionState, + fullState, + }: { + page: PageControllerBase; + sectionState: { [key: string]: any }; + fullState: { [key: string]: any }; + }) { + const pagePath = `/${page.model.basePath}${page.path}`; + const returnPath = `${pagePath}${this.returnUrlParameter}`; + const model = this.model; + + return (component: FormComponent) => { + // Get initial display value + let valueText = component.getDisplayStringFromState(sectionState); + + if ( + component.type === "FileUploadField" && + model.showFilenamesOnSummaryPage + ) { + valueText = + fullState.originalFilenames?.[component.name]?.originalFilename; + } + + const alternateValue = this.findDisplayValue(component, valueText); + if (alternateValue) { + valueText = alternateValue; + } + + return { + key: { + text: component.options.summaryTitle ?? component.title, + }, + value: { + text: valueText || "Not supplied", + }, + actions: { + items: [ + { + text: "Change", + visuallyHiddenText: component.title, + href: returnPath, + }, + ], + }, + }; + }; + } +} diff --git a/runner/src/server/plugins/engine/pageControllers/CustomSummaryPageController.ts b/runner/src/server/plugins/engine/pageControllers/CustomSummaryPageController.ts new file mode 100644 index 0000000000..3dbd60b324 --- /dev/null +++ b/runner/src/server/plugins/engine/pageControllers/CustomSummaryPageController.ts @@ -0,0 +1,509 @@ +import { SummaryViewModel } from "../models"; +import { PageController } from "./PageController"; +import { feedbackReturnInfoKey, redirectTo, redirectUrl } from "../helpers"; +import { HapiRequest, HapiResponseToolkit } from "server/types"; +import { + decodeFeedbackContextInfo, + FeedbackContextInfo, + RelativeUrl, +} from "../feedback"; +import config from "server/config"; +import { FeesModel } from "server/plugins/engine/models/submission"; +import { isMultipleApiKey } from "@xgovformbuilder/model"; +import { FormComponent } from "../components"; +import { SelectionControlField } from "../components/SelectionControlField"; +import { PageControllerBase } from "./PageControllerBase"; + +const DEFAULT_OPTIONS = { + customText: {}, +}; + +export class CustomSummaryPageController extends PageController { + returnUrlParameter: string; + options: any; + /** + * The controller which is used when Page["controller"] is defined as "./pages/summary.js" + */ + constructor(model, pageDef) { + super(model, pageDef); + const returnPath = `/${this.model.basePath}${this.path}`; + this.returnUrlParameter = `?returnUrl=${encodeURIComponent(returnPath)}`; + this.options = pageDef?.options ?? DEFAULT_OPTIONS; + this.options.customText ??= DEFAULT_OPTIONS.customText; + } + /** + * Returns an async function. This is called in plugin.ts when there is a GET request at `/{id}/{path*}`, + */ + makeGetRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + this.langFromRequest(request); + + const { cacheService } = request.services([]); + const model = this.model; + + // @ts-ignore - ignoring so docs can be generated. Remove when properly typed + if (this.model.def.skipSummary) { + return this.makePostRouteHandler()(request, h); + } + const state = await cacheService.getState(request); + + const viewModel = await this.summaryViewModel(request); + + if (viewModel.endPage) { + return redirectTo( + request, + h, + `/${model.basePath}${viewModel.endPage.path}` + ); + } + + /** + * iterates through the errors. If there are errors, a user will be redirected to the page + * with the error with returnUrl=`/${model.basePath}/summary` in the URL query parameter. + */ + if (viewModel.errors) { + const errorToFix = viewModel.errors[0]; + const { path } = errorToFix; + const parts = path.split("."); + const section = parts[0]; + const property = parts.length > 1 ? parts[parts.length - 1] : null; + const iteration = parts.length === 3 ? Number(parts[1]) + 1 : null; + const pageWithError = model.pages.filter((page) => { + if (page.section && page.section.name === section) { + let propertyMatches = true; + let conditionMatches = true; + if (property) { + propertyMatches = + page.components.formItems.filter( + (item) => item.name === property + ).length > 0; + } + if ( + propertyMatches && + page.condition && + model.conditions[page.condition] + ) { + conditionMatches = model.conditions[page.condition].fn(state); + } + return propertyMatches && conditionMatches; + } + return false; + })[0]; + if (pageWithError) { + const params = { + returnUrl: redirectUrl(request, `/${model.basePath}/summary`), + num: iteration && pageWithError.repeatField ? iteration : null, + }; + return redirectTo( + request, + h, + `/${model.basePath}${pageWithError.path}`, + params + ); + } + } + + const declarationError = request.yar.flash("declarationError"); + if (declarationError.length) { + viewModel.declarationError = declarationError[0]; + } + return h.view("custom-summary", viewModel); + }; + } + + /** + * Returns an async function. This is called in plugin.ts when there is a POST request at `/{id}/{path*}`. + * If a form is incomplete, a user will be redirected to the start page. + */ + makePostRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + const { payService, cacheService } = request.services([]); + const model = this.model; + const state = await cacheService.getState(request); + const summaryViewModel = new SummaryViewModel( + this.title, + model, + state, + request + ); + this.setFeedbackDetails(summaryViewModel, request); + + // redirect user to start page if there are incomplete form errors + if (summaryViewModel.result.error) { + request.logger.error( + `SummaryPage Error`, + summaryViewModel.result.error + ); + /** defaults to the first page */ + // @ts-ignore - tsc reports an error here, ignoring so docs can be generated (does not cause eslint errors otherwise). Remove when properly typed + let startPageRedirect = redirectTo( + request, + h, + `/${model.basePath}${model.def.pages[0].path}` + ); + const startPage = model.def.startPage; + + // @ts-ignore - tsc reports an error here, ignoring so docs can be generated (does not cause eslint errors otherwise). Remove when properly typed + if (startPage.startsWith("http")) { + // @ts-ignore - tsc reports an error here, ignoring so docs can be generated (does not cause eslint errors otherwise). Remove when properly typed + startPageRedirect = redirectTo(request, h, startPage); + } else if (model.def.pages.find((page) => page.path === startPage)) { + // @ts-ignore - tsc reports an error here, ignoring so docs can be generated (does not cause eslint errors otherwise). Remove when properly typed + startPageRedirect = redirectTo( + request, + h, + `/${model.basePath}${startPage}` + ); + } + + return startPageRedirect; + } + + /** + * If a form is configured with a declaration, a checkbox will be rendered with the configured declaration text. + * If the user does not agree to the declaration, the page will be rerendered with a warning. + */ + if (summaryViewModel.declaration && !summaryViewModel.skipSummary) { + const { declaration } = request.payload as { + declaration?: any; + }; + + if (!declaration) { + request.yar.flash( + "declarationError", + "You must declare to be able to submit this application" + ); + const url = request.headers.referer ?? request.path; + return redirectTo(request, h, `${url}#declaration`); + } + summaryViewModel.addDeclarationAsQuestion(); + } + + await cacheService.mergeState(request, { + outputs: summaryViewModel.outputs, + userCompletedSummary: true, + }); + + // Commented out due to potential for logging PII + // request.logger.info( + // ["Webhook data", "before send", request.yar.id], + // JSON.stringify(summaryViewModel.validatedWebhookData) + // ); + + await cacheService.mergeState(request, { + webhookData: summaryViewModel.validatedWebhookData, + }); + + const feesModel = FeesModel(model, state); + + /** + * If a user does not need to pay, redirect them to /status + */ + if ((feesModel?.details ?? [])?.length === 0) { + return redirectTo(request, h, `/${request.params.id}/status`); + } + + const payReturnUrl = + this.model.feeOptions?.payReturnUrl ?? config.payReturnUrl; + + request.logger.info( + `payReturnUrl has been configured to ${payReturnUrl}` + ); + + const url = new URL( + `${payReturnUrl}/${request.params.id}/status` + ).toString(); + + const payStateMeta = payService.createPayStateMeta({ + feesModel: feesModel!, + payApiKey: this.payApiKey, + url, + }); + + const res = await payService.payRequestFromMeta(payStateMeta); + + // TODO:- refactor - this is repeated in applicationStatus + const payState = { + pay: { + payId: res.payment_id, + reference: res.reference, + self: res._links.self.href, + next_url: res._links.next_url.href, + returnUrl: url, + meta: payStateMeta, + }, + }; + + request.yar.set("basePath", model.basePath); + await cacheService.mergeState(request, payState); + summaryViewModel.webhookDataPaymentReference = res.reference; + await cacheService.mergeState(request, { + webhookData: summaryViewModel.validatedWebhookData, + }); + + const payRedirectUrl = payState.pay.next_url; + const { showPaymentSkippedWarningPage } = this.model.feeOptions; + + const { skipPayment } = request.payload; + if (skipPayment === "true" && showPaymentSkippedWarningPage) { + payState.pay.meta.attempts = 0; + await cacheService.mergeState(request, payState); + return h + .redirect(`/${request.params.id}/status/payment-skip-warning`) + .takeover(); + } + + await cacheService.mergeState(request, payState); + return h.redirect(payRedirectUrl); + }; + } + + async summaryViewModel(request: HapiRequest) { + const { cacheService } = request.services([]); + const state = await cacheService.getState(request); + const { progress = [] } = state; + + const { relevantPages } = this.model.getRelevantPages(state); + + const rowsBySection = relevantPages.reduce((prev, page) => { + let displaySectionName; + displaySectionName = page.sectionForEndSummaryPages || page.section?.name; + + // Always use section name for state access + const stateSectionName = page.section?.name; + + const section = prev[displaySectionName] ?? []; + let sectionState = stateSectionName + ? state[stateSectionName] || {} + : state; + + const toRow = this.formItemsToRowByPage({ + page, + sectionState, + fullState: state, + }); + + // Process each form item + page.components.formItems.forEach((component) => { + const result = toRow(component); + if (Array.isArray(result)) { + // If result is an array (from nested components), add each item + section.push(...result); + } else { + // Otherwise, add the single row + section.push(result); + } + }); + + prev[displaySectionName] = section; + return prev; + }, {}); + + const summaryLists = Object.entries(rowsBySection).map( + ([section, rows]) => { + const modelSection = this.model.sections.find( + (mSection) => mSection.name === section + ); + + return { + sectionTitle: !modelSection?.hideTitle ? modelSection?.title : "", + section, + rows, + }; + } + ); + + return { + page: this, + pageTitle: this.title, + sectionTitle: this.section?.title, + backLink: progress[progress.length - 1] ?? this.backLinkFallback, + name: this.model.name, + summaryLists, + showTitle: true, + customText: this.options.customText, + }; + } + + setFeedbackDetails(viewModel: SummaryViewModel, request: HapiRequest) { + const feedbackContextInfo = this.getFeedbackContextInfo(request); + + if (feedbackContextInfo) { + // set the form name to the source form name if this is a feedback form + viewModel.name = feedbackContextInfo.formTitle; + } + + // setting the feedbackLink to undefined here for feedback forms prevents the feedback link from being shown + viewModel.feedbackLink = this.feedbackUrlFromRequest(request); + } + + getFeedbackContextInfo(request: HapiRequest) { + if (this.model.def.feedback?.feedbackForm) { + if (request.url.searchParams.get(feedbackReturnInfoKey)) { + return decodeFeedbackContextInfo( + request.url.searchParams.get(feedbackReturnInfoKey) + ); + } + } + } + + feedbackUrlFromRequest(request: HapiRequest) { + const feedbackUrl = this.model.def.feedback?.url; + if (feedbackUrl) { + if (feedbackUrl.startsWith("http")) { + return feedbackUrl; + } + + const relativeFeedbackUrl = new RelativeUrl(feedbackUrl); + const returnInfo = new FeedbackContextInfo( + this.model.name, + "Summary", + `${request.url.pathname}${request.url.search}` + ); + relativeFeedbackUrl.setParam(feedbackReturnInfoKey, returnInfo.toString()); + return relativeFeedbackUrl.toString(); + } + + return undefined; + } + + get postRouteOptions() { + return { + ext: { + onPreHandler: { + method: async (_request: HapiRequest, h: HapiResponseToolkit) => { + return h.continue; + }, + }, + }, + }; + } + + formItemsToRowByPage({ + page, + sectionState, + fullState, + }: { + page: PageControllerBase; + sectionState: { [key: string]: any }; + fullState: { [key: string]: any }; + }) { + const pagePath = `/${page.model.basePath}${page.path}`; + const returnPath = `${pagePath}${this.returnUrlParameter}`; + const model = this.model; + + // Helper function to process components recursively + const processComponent = ( + component: FormComponent, + parentComponent?: FormComponent + ): any[] => { + const rows = []; + + // Process the current component if it has a name (is a form field) + if (component.name) { + // Get initial display value + let valueText = component.getDisplayStringFromState(sectionState); + + if ( + component.type === "FileUploadField" && + model.showFilenamesOnSummaryPage + ) { + valueText = + fullState.originalFilenames?.[component.name]?.originalFilename; + } + + const alternateValue = this.findDisplayValue(component, valueText); + if (alternateValue) { + valueText = alternateValue; + } + + // Use summaryTitle if available from options, otherwise fall back to title + const displayTitle = component.options?.summaryTitle ?? component.title; + + rows.push({ + key: { + text: displayTitle, + }, + value: { + text: valueText || "Not supplied", + }, + actions: { + items: [ + { + text: "Change", + visuallyHiddenText: displayTitle, + href: returnPath, + }, + ], + }, + }); + } + + // Handle SelectionControlField conditionally revealed components + if (component instanceof SelectionControlField && component.items) { + // Find selected items + const selectedValue = sectionState[component.name]; + const selectedValues = Array.isArray(selectedValue) + ? selectedValue + : [selectedValue]; + + // Process conditionally revealed components for selected items + component.items.forEach((item) => { + if ( + item.hasConditionallyRevealedComponents && + selectedValues.includes(item.value) + ) { + // Process all components in the conditionally revealed section + item.conditionallyRevealedComponents.items.forEach( + (conditionalComponent) => { + // For nested components, check if they have their own summaryTitle + const nestedRows = processComponent( + conditionalComponent, + component + ); + + rows.push(...nestedRows); + } + ); + } + }); + } + + return rows; + }; + + return (component: FormComponent) => { + const result = processComponent(component); + return result.length === 1 ? result[0] : result; + }; + } + + findDisplayValue( + component: FormComponent, + value: string + ): string | undefined { + // Check if the component has items list + if (component.items && Array.isArray(component.items)) { + // Find the item where the text or value matches the input value + const matchedItem = component.items.find( + (item) => item.text === value || item.value === value + ); + + // Return value2 if it exists, otherwise return undefined + return matchedItem?.checkpointDisplayValue || matchedItem?.text; + } + + // If no items list or no match found, return undefined + return undefined; + } + + get payApiKey(): string { + const modelDef = this.model.def; + const payApiKey = modelDef.feeOptions?.payApiKey ?? def.payApiKey; + + if (isMultipleApiKey(payApiKey)) { + return payApiKey[config.apiEnv] ?? payApiKey.test ?? payApiKey.production; + } + return payApiKey; + } +} diff --git a/runner/src/server/plugins/engine/pageControllers/DateComparisonPageController.ts b/runner/src/server/plugins/engine/pageControllers/DateComparisonPageController.ts new file mode 100644 index 0000000000..b2d8f980e1 --- /dev/null +++ b/runner/src/server/plugins/engine/pageControllers/DateComparisonPageController.ts @@ -0,0 +1,175 @@ +import joi from "joi"; +import { PageController } from "./PageController"; +import { format, parseISO } from "date-fns"; +import { FormSubmissionErrors } from "../types"; +import { subMonths } from "date-fns"; + +/** + * DateComparisonPageController validates that: + * 1. Dates are not in the future + * 2. Most recent case onset date is not before the first case onset date + */ + +export class DateComparisonPageController extends PageController { + firstDateComponent: any; + secondDateComponent: any; + firstDateName: string; + secondDateName: string; + + constructor(model: any = {}, pageDef: any = {}) { + super(model, pageDef); + + this.firstDateName = pageDef?.options?.firstDateComponent || ""; + this.secondDateName = pageDef?.options?.secondDateComponent || ""; + + this.firstDateComponent = + pageDef?.components?.find( + (component) => component.name === this.firstDateName + ) || null; + + this.secondDateComponent = + pageDef?.components?.find( + (component) => component.name === this.secondDateName + ) || null; + + this.stateSchema = this.stateSchema.append({ + [this.firstDateName]: joi + .date() + .required() + .max("now") // Prevents dates in the future + .min(subMonths(new Date(), 2)) // Prevents dates more than 2 months in the past + .messages({ + ...this.firstDateComponent?.options?.customValidationMessages, + }), + }); + + if (this.secondDateComponent) { + this.stateSchema = this.stateSchema.append({ + [this.secondDateName]: joi + .date() + .required() + .min(joi.ref(this.firstDateName)) // Ensures most recent date is not before first date + .max("now") // Prevents dates in the future + .messages({ + ...this.secondDateComponent?.options?.customValidationMessages, + }), + }); + } + } + + getErrors(validationResult): FormSubmissionErrors | undefined { + if (!validationResult?.error) { + return undefined; + } + const errors = validationResult.error.details; + const formItems = this.components.formItems; + + const formatDateMessage = (message: string) => { + return message.replace(isoRegex, (text) => + format(parseISO(text), "d MMMM yyyy") + ); + }; + + const findTitle = (fieldName: string) => { + return ( + formItems.find((item) => item.name === fieldName)?.title || + "Title not found" + ); + }; + const isoRegex = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/; + + const errorList = errors.map((err) => { + let name = err.path.join("__"); + let title = findTitle(name.split("__")[0]); + let text = formatDateMessage(err.message); + + return { + path: err.path.join("."), + href: `#${name}`, + name: name, + title: title, + text: text, + type: err.type, + value: err.context.value, + }; + }); + + const addCustomErrors = (errorList) => { + const errorMap = {}; + + // Populate the errorMap with the base name and suffix + errorList.forEach((err) => { + const baseName = err.name.split("__")[0]; + const suffix = err.name.match(/__(day|month|year)$/)?.[0]; + + if (!errorMap[baseName]) { + errorMap[baseName] = { + baseName: baseName, + day: false, + month: false, + year: false, + errors: [], + name: err.name, + }; + } + + if (suffix === "__day") errorMap[baseName].day = true; + if (suffix === "__month") errorMap[baseName].month = true; + if (suffix === "__year") errorMap[baseName].year = true; + + errorMap[baseName].errors.push(err); + }); + + // Process the errorMap to set text based on combinations and add to finalErrors + const finalErrors: any = []; + Object.values(errorMap).forEach((e: any) => { + if (e.day && e.year && e.month) { + e.errors.forEach((err) => { + if (e.name.includes(this.firstDateName)) { + err.text = this.firstDateComponent?.options?.customValidationMessages?.dayMonthYear; + } + if (this.secondDateComponent) { + if (e.name.includes(this.secondDateName)) { + err.text = this.secondDateComponent?.options?.customValidationMessages?.dayMonthYear; + } + } + }); + } + + // New condition to handle number.base errors + const numberBaseErrors = e.errors.filter( + (err) => + err.type === "number.base" && + err.value !== undefined && + err.value !== "" + ); + + if (numberBaseErrors.length > 0) { + numberBaseErrors.forEach((err) => { + if (e.name.includes(this.firstDateName)) { + err.text = this.firstDateComponent?.options?.customValidationMessages?.nonNumeric; + } + if (e.name.includes(this.secondDateName)) { + err.text = this.secondDateComponent?.options?.customValidationMessages?.nonNumeric; + } + err.type = "custom.numberBase"; + }); + } + + finalErrors.push(...e.errors); + }); + + return finalErrors; + }; + + const processedErrorList = addCustomErrors(errorList); + + return { + titleText: this.errorSummaryTitle, + errorList: processedErrorList.filter( + ({ text }, index) => + index === errorList.findIndex((err) => err.text === text) + ), + }; + } +} diff --git a/runner/src/server/plugins/engine/pageControllers/MagicLinkController.ts b/runner/src/server/plugins/engine/pageControllers/MagicLinkController.ts new file mode 100644 index 0000000000..f35136d96e --- /dev/null +++ b/runner/src/server/plugins/engine/pageControllers/MagicLinkController.ts @@ -0,0 +1,172 @@ +import { SummaryViewModel } from "../models"; +import { PageController } from "./PageController"; +import { redirectTo, redirectUrl } from "../helpers"; +import { HapiRequest, HapiResponseToolkit } from "server/types"; +import { validateHmac } from "src/server/utils/hmac"; +import Jwt from "@hapi/jwt"; +import config from "server/config"; +import { configureEnginePlugin } from "../configureEnginePlugin"; + +export class MagicLinkController extends PageController { + constructor(model, pageDef) { + super(model, pageDef); + } + + makeGetRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + const email = request.query.email; + const hmac = request.query.signature; + const requestTime = request.query.request_time; + const hmacKey = this.model.def.outputs[0].outputConfiguration.hmacKey; + + debugger; + + const validation = await validateHmac(email, hmac, requestTime, hmacKey); + + //Outlook safelink consumes magic link - This bypasses it + if (!request.headers["user-agent"]) { + return h.response("Ignored bot request").code(200); + } + + const { cacheService } = request.services([]); + + const state = await cacheService.getState(request); + + //💣 Issue: As the program scales, this will need updating on a per-form basis. + // Otherwise active on one form, will mark them active on all. + const isMagicLinkRecordActive = await cacheService.searchForMagicLinkRecord( + email + ); + + if (!isMagicLinkRecordActive) { + return h.redirect(`/${this.model.basePath}/expired`).code(302); + } + + await cacheService.deleteMagicLinkRecord(email); + + if (!validation.isValid) { + // Handle different invalid token cases + switch (validation.reason) { + case "expired": + return h.redirect(`/${this.model.basePath}/expired`).code(302); + case "invalid_signature": + return h.redirect(`/${this.model.basePath}/incorrect-email`).code(302); + default: + return h.redirect(`/${this.model.basePath}/error`).code(302); + } + } + + this.langFromRequest(request); + + const model = this.model; + + if (this.model.def.skipSummary) { + return this.makePostRouteHandler()(request, h); + } + + const viewModel = new SummaryViewModel(this.title, model, state, request); + + if (viewModel.endPage) { + return redirectTo( + request, + h, + `/${model.basePath}${viewModel.endPage.path}` + ); + } + + /** + * iterates through the errors. If there are errors, a user will be redirected to the page + * with the error with returnUrl=`/${model.basePath}/summary` in the URL query parameter. + */ + if (viewModel.errors) { + const errorToFix = viewModel.errors[0]; + const { path } = errorToFix; + const parts = path.split("."); + const section = parts[0]; + const property = parts.length > 1 ? parts[parts.length - 1] : null; + const iteration = parts.length === 3 ? Number(parts[1]) + 1 : null; + const pageWithError = model.pages.filter((page) => { + if (page.section && page.section.name === section) { + let propertyMatches = true; + let conditionMatches = true; + if (property) { + propertyMatches = + page.components.formItems.filter( + (item) => item.name === property + ).length > 0; + } + if ( + propertyMatches && + page.condition && + model.conditions[page.condition] + ) { + conditionMatches = model.conditions[page.condition].fn(state); + } + return propertyMatches && conditionMatches; + } + return false; + })[0]; + if (pageWithError) { + const params = { + returnUrl: redirectUrl(request, `/${model.basePath}/summary`), + num: iteration && pageWithError.repeatField ? iteration : null, + }; + return redirectTo( + request, + h, + `/${model.basePath}${pageWithError.path}`, + params + ); + } + } + + const declarationError = request.yar.flash("declarationError"); + if (declarationError.length) { + viewModel.declarationError = declarationError[0]; + } + return h.view("summary", viewModel); + }; + } + + makePostRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + const email = request.query.email; + const hmac = request.query.signature; + const requestTime = request.query.request_time; + const hmacKey = this.model.def.outputs[0].outputConfiguration.hmacKey; + + const validation = await validateHmac(email, hmac, requestTime, hmacKey); + + //Outlook safelink consumes magic link - This bypasses it + if (!request.headers["user-agent"]) { + return h.response("Ignored bot request").code(200); + } + if (validation.isValid) { + const token = Jwt.token.generate( + { email: request.query.email }, + { + key: this.model.def.jwtKey, + algorithm: config.initialisedSessionAlgorithm, + }, + { + ttlSec: config.initialisedSessionTimeout / 1000, + } + ); + + // Set the JWT in a cookie + h.state("auth_token", token, { + ttl: 20 * 60 * 1000, + isSecure: true, + isHttpOnly: true, + encoding: "none", + clearInvalid: true, + path: "/", + isSameSite: "Lax", + }); + } + + // Redirect to custom page instead of status + return redirectTo(request, h, `/${request.params.id}/email-confirmed`); + }; + } +} diff --git a/runner/src/server/plugins/engine/pageControllers/MagicLinkFirstSubmitPageController.ts b/runner/src/server/plugins/engine/pageControllers/MagicLinkFirstSubmitPageController.ts new file mode 100644 index 0000000000..14cedf17d0 --- /dev/null +++ b/runner/src/server/plugins/engine/pageControllers/MagicLinkFirstSubmitPageController.ts @@ -0,0 +1,12 @@ +import { MagicLinkSubmissionPageController } from "./MagicLinkSubmissionPageController"; + +// Original MagicLinkFirstSubmitPageController as a child class +export class MagicLinkFirstSubmitPageController extends MagicLinkSubmissionPageController { + get timeRemainingRedirect() { + return `/${this.model.basePath}/email`; + } + + get redirectAfterSubmission() { + return `/${this.request.params.id}/check-your-email`; + } +} diff --git a/runner/src/server/plugins/engine/pageControllers/MagicLinkRedirectController.ts b/runner/src/server/plugins/engine/pageControllers/MagicLinkRedirectController.ts new file mode 100644 index 0000000000..40b52e0291 --- /dev/null +++ b/runner/src/server/plugins/engine/pageControllers/MagicLinkRedirectController.ts @@ -0,0 +1,19 @@ +import { PageController } from "server/plugins/engine/pageControllers/PageController"; +import { HapiRequest, HapiResponseToolkit } from "server/types"; + +export class MagicLinkRedirectController extends PageController { + makeGetRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + const id = request.params?.id; + const forms = request.server?.app?.forms; + const model = id && forms?.[id]; + + // Fallback to the default Magic Link config used by CareOBRA + // WARNING: This has hardcoded values + // You should define your own magicLinkConfig in your (main) form config + const magicLinkConfig = model?.def?.magicLinkConfig ?? 'magic-link'; + + return h.redirect(`/${magicLinkConfig}/start`).code(302); + }; + } +} diff --git a/runner/src/server/plugins/engine/pageControllers/MagicLinkSecondSubmitPageController.ts b/runner/src/server/plugins/engine/pageControllers/MagicLinkSecondSubmitPageController.ts new file mode 100644 index 0000000000..a403856737 --- /dev/null +++ b/runner/src/server/plugins/engine/pageControllers/MagicLinkSecondSubmitPageController.ts @@ -0,0 +1,12 @@ +import { MagicLinkSubmissionPageController } from "./MagicLinkSubmissionPageController"; + +// MagicLinkSecondSubmitPageController as a child class +export class MagicLinkSecondSubmitPageController extends MagicLinkSubmissionPageController { + get timeRemainingRedirect() { + return `/${this.model.basePath}/check-your-email`; + } + + get redirectAfterSubmission() { + return `/${this.request.params.id}/resubmit-email`; + } +} diff --git a/runner/src/server/plugins/engine/pageControllers/MagicLinkStartPageController.ts b/runner/src/server/plugins/engine/pageControllers/MagicLinkStartPageController.ts new file mode 100644 index 0000000000..7c8d8628c1 --- /dev/null +++ b/runner/src/server/plugins/engine/pageControllers/MagicLinkStartPageController.ts @@ -0,0 +1,25 @@ +import { PageController } from "./PageController"; +import { redirectTo } from "../helpers"; +import { HapiRequest, HapiResponseToolkit } from "server/types"; + +export class MagicLinkStartPageController extends PageController { + constructor(model, pageDef) { + super(model, pageDef); + } + + makeGetRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + if (this.model.values.toggle === false) { + return redirectTo(request, h, this.model.values.toggleRedirect); + } + return this.makePostRouteHandler()(request, h); + }; + } + + makePostRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + // Redirect to custom page instead of status + return redirectTo(request, h, `/${request.params.id}/email`); + }; + } +} diff --git a/runner/src/server/plugins/engine/pageControllers/MagicLinkSubmissionPageController.ts b/runner/src/server/plugins/engine/pageControllers/MagicLinkSubmissionPageController.ts new file mode 100644 index 0000000000..d6a85f2b56 --- /dev/null +++ b/runner/src/server/plugins/engine/pageControllers/MagicLinkSubmissionPageController.ts @@ -0,0 +1,261 @@ +import { SummaryViewModel } from "../models"; +import { PageController } from "./PageController"; +import { redirectTo } from "../helpers"; +import { HapiRequest, HapiResponseToolkit } from "server/types"; +import { createHmac } from "src/server/utils/hmac"; +import { isAllowedDomain } from "src/server/utils/domain"; + +// Shared options for cookie settings +const getCookieOptions = (timeRemaining) => ({ + ttl: timeRemaining * 1000, // Convert remaining seconds to milliseconds + isSecure: true, + isHttpOnly: true, + encoding: "base64json", + path: "/", + clearInvalid: false, + strictHeader: true, +}); + +// Base controller class containing shared functionality +export class MagicLinkSubmissionPageController extends PageController { + RETRY_TIMEOUT_SECONDS: number; + + constructor(model, pageDef) { + super(model, pageDef); + this.RETRY_TIMEOUT_SECONDS = this.model.def.retryTimeoutSeconds ?? 300; + } + + // Template-specific configurations that can be overridden by child classes + get timeRemainingRedirect() { + return `/${this.model.basePath}/email`; + } + + get redirectAfterSubmission() { + return `/${this.request.params.id}/check-your-email`; + } + + makeGetRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + this.request = request; // Store request for use in getter methods + const { cacheService } = request.services([]); + const state = await cacheService.getState(request); + const currentTime = Math.floor(Date.now() / 1000); + + // Check if there's a cookie with retry information + const retryCookie = request.state.magicLinkRetry; + + if (retryCookie) { + try { + const decoded = atob(retryCookie); // Decodes base64 + const data = JSON.parse(decoded); // Parses JSON + + // Get the retry time from the cookie + const retryAfter = data.retryAfter; + + // Calculate time remaining (in seconds) + const timeRemaining = Math.max(0, retryAfter - currentTime); + + // Allow retry if time has elapsed + if (timeRemaining <= 0) { + return redirectTo( + request, + h, + `/${this.model.basePath}/resubmit-email` + ); + } + + // Otherwise show the time remaining page with consistent calculation + const minutesRemaining = Math.ceil(timeRemaining / 60); + + await cacheService.mergeState(request, { + minutesRemaining: minutesRemaining, + }); + + return redirectTo(request, h, this.timeRemainingRedirect); + } catch (error) { + request.logger.error(["Cookie parsing error", error.message]); + return redirectTo(request, h, `/${this.model.basePath}/start`); + } + } else { + return this.makePostRouteHandler()(request, h); + } + }; + } + + makePostRouteHandler() { + return async (request: HapiRequest, h: HapiResponseToolkit) => { + this.request = request; // Store request for use in getter methods + const { cacheService } = request.services([]); + const model = this.model; + const state = await cacheService.getState(request); + const summaryViewModel = new SummaryViewModel( + this.title, + model, + state, + request + ); + this.setFeedbackDetails(summaryViewModel, request); + + // redirect user to start page if there are incomplete form errors + if (summaryViewModel.result.error) { + request.logger.error( + `SummaryPage Error`, + summaryViewModel.result.error + ); + + // Determine which page to redirect to + const startPage = model.def.startPage; + let redirectPath; + + if (startPage && startPage.startsWith("http")) { + redirectPath = startPage; + } else if ( + startPage && + model.def.pages.find((page) => page.path === startPage) + ) { + redirectPath = `/${model.basePath}${startPage}`; + } else { + // Default to first page if no valid start page + redirectPath = `/${model.basePath}${model.def.pages[0].path}`; + } + + return redirectTo(request, h, redirectPath); + } + + // Get user email from state + const email = state["email"]; + if (!email) { + request.logger.warn([ + "HMAC", + "No email found in state", + JSON.stringify(state), + ]); + return redirectTo(request, h, `/${model.basePath}/start`); + } + + const allowedEmailDomains = this.model.def.allowedDomains ?? []; + //hardcoded start page as a fallback if InvalidDomainRedirectPage not added to config + const InvalidDomainRedirectPage = + model.def.invalidDomainRedirect || "/start"; + if (!isAllowedDomain(email, allowedEmailDomains)) { + request.logger.warn([ + "DomainValidation", + `Email domain '${email.split("@")[1]}' not allowed`, + ]); + return redirectTo(request, h, InvalidDomainRedirectPage); + } + + const hmacKey = this.model.def.outputs[0].outputConfiguration.hmacKey; + const currentTime = Math.floor(Date.now() / 1000); + + // Check if the user already has an active HMAC link + const foundHmac = await cacheService.searchForMagicLinkRecord(email); + + if (foundHmac && foundHmac.active) { + const hmacTimestamp = foundHmac.active; + const timeDifference = currentTime - hmacTimestamp; + + if (timeDifference < this.RETRY_TIMEOUT_SECONDS) { + // User must wait before requesting another link + const timeRemaining = this.RETRY_TIMEOUT_SECONDS - timeDifference; + const minutesRemaining = Math.ceil(timeRemaining / 60); + + await cacheService.mergeState(request, { + minutesRemaining: minutesRemaining, + }); + + // Set consistent cookie for retry timeout + const cookieValue = { + retryAfter: hmacTimestamp + this.RETRY_TIMEOUT_SECONDS, + }; + + const cookieOptions = getCookieOptions(timeRemaining); + h.state("magicLinkRetry", cookieValue, cookieOptions); + + // Show the time remaining page + return redirectTo(request, h, this.timeRemainingRedirect); + } + } + + // Generate new HMAC for the email + const [hmac, currentTimestamp, hmacExpiryTime] = await createHmac( + email, + hmacKey + ); + + // Store or update the HMAC record + if (!foundHmac) { + await cacheService.createMagicLinkRecord(email, hmac, currentTimestamp); + } else { + // Update existing record + await cacheService.updateMagicLinkRecord(email, hmac, currentTimestamp); + } + + // Construct the magic link URL + const hmacUrlStart = `/${model.basePath}/return?email=` + const hmacUrl = hmacUrlStart.concat( + email, + "&request_time=", + currentTimestamp.toString(), + "&signature=", + hmac.toString() + ); + + // First, let's get the current state to see what's in it + const currentState = await cacheService.getState(request); + + // Create new state object with all the values we want to set + const newStateValues = { + hmacSignature: hmacUrl, + hmacExpiryTime: hmacExpiryTime, + outputs: summaryViewModel.outputs, + userCompletedSummary: true, + webhookData: summaryViewModel.validatedWebhookData, + }; + + // If minutesRemaining exists in the current state, explicitly remove it + if ("minutesRemaining" in currentState) { + // Use undefined instead of null to truly remove the property + newStateValues.minutesRemaining = undefined; + } + + // Store data in state with a single merge operation + await cacheService.mergeState(request, newStateValues); + + // Set cookie for retry timeout (using consistent constant) + const cookieOptions = getCookieOptions(this.RETRY_TIMEOUT_SECONDS); + h.state( + "magicLinkRetry", + { + retryAfter: currentTimestamp + this.RETRY_TIMEOUT_SECONDS, + }, + cookieOptions + ); + + // Commented out due to potential for logging PII + // request.logger.info( + // ["Webhook data", "before send", request.yar.id], + // JSON.stringify(summaryViewModel.validatedWebhookData) + // ); + + // Get StatusService and submit the form + const { statusService } = request.services([]); + await statusService.outputRequests(request); + + // Redirect to custom page + return redirectTo(request, h, this.redirectAfterSubmission); + }; + } + + get postRouteOptions() { + return { + ext: { + onPreHandler: { + method: async (_request: HapiRequest, h: HapiResponseToolkit) => { + return h.continue; + }, + }, + }, + }; + } +} diff --git a/runner/src/server/plugins/engine/pageControllers/MultiStartPageController.ts b/runner/src/server/plugins/engine/pageControllers/MultiStartPageController.ts index f7fa9cd6be..e407ad719f 100644 --- a/runner/src/server/plugins/engine/pageControllers/MultiStartPageController.ts +++ b/runner/src/server/plugins/engine/pageControllers/MultiStartPageController.ts @@ -3,15 +3,24 @@ import { PageController } from "./PageController"; export class MultiStartPageController extends PageController { get viewName() { - return "multi-start-page"; + if (this.sidebarContent) { + return "multi-start-page-with-sidebar-content"; + } else { + return "multi-start-page"; + } } getViewModel(formData: FormData, errors?: FormSubmissionErrors) { const viewModel = super.getViewModel(formData, errors); - const { showContinueButton, startPageNavigation } = this.pageDef; + const { + showContinueButton, + startPageNavigation, + sidebarContent, + } = this.pageDef; return { ...viewModel, continueButtonText: showContinueButton && this.pageDef.continueButtonText, startPageNavigation, + sidebarContent, isMultiStartPageController: true, }; } diff --git a/runner/src/server/plugins/engine/pageControllers/PageControllerBase.ts b/runner/src/server/plugins/engine/pageControllers/PageControllerBase.ts index 6885745b51..257f3ca40d 100644 --- a/runner/src/server/plugins/engine/pageControllers/PageControllerBase.ts +++ b/runner/src/server/plugins/engine/pageControllers/PageControllerBase.ts @@ -26,6 +26,8 @@ import { format, parseISO } from "date-fns"; import config from "server/config"; import nunjucks from "nunjucks"; import Joi from "joi"; +import Jwt, { HapiJwt } from "@hapi/jwt"; +import { verifyHmacToken } from "../../initialiseSession/helpers"; const FORM_SCHEMA = Symbol("FORM_SCHEMA"); const STATE_SCHEMA = Symbol("STATE_SCHEMA"); @@ -53,11 +55,17 @@ export class PageControllerBase { condition: any; // TODO repeatField: any; // TODO section: any; // TODO + sectionForExitJourneySummaryPages: any; + sectionForEndSummaryPages: any; + sectionForMultiSummaryPages: any; + sidebarContent: any; components: ComponentCollection; + disableSingleComponentAsHeading: boolean; hasFormComponents: boolean; hasConditionalFormComponents: boolean; backLinkFallback?: string; details?: any; + disableBackLink?: boolean; // TODO: pageDef type constructor(model: FormModel, pageDef: { [prop: string]: any } = {}) { @@ -74,11 +82,19 @@ export class PageControllerBase { this.condition = pageDef.condition; this.repeatField = pageDef.repeatField; this.backLinkFallback = pageDef.backLinkFallback; + this.disableBackLink = pageDef.disableBackLink; + this.disableSingleComponentAsHeading = + pageDef.disableSingleComponentAsHeading; // Resolve section this.section = model.sections?.find( (section) => section.name === pageDef.section ); + this.sectionForExitJourneySummaryPages = + pageDef.sectionForExitJourneySummaryPages; + this.sectionForMultiSummaryPages = pageDef.sectionForMultiSummaryPages; + this.sectionForEndSummaryPages = pageDef.sectionForEndSummaryPages; + this.sidebarContent = pageDef.sidebarContent; // Components collection const components = new ComponentCollection(pageDef.components, model); @@ -162,20 +178,21 @@ export class PageControllerBase { if (singleFormComponent && singleFormComponentIsFirst) { const label: any = singleFormComponent.model.label; + if (!this.disableSingleComponentAsHeading) { + if (pageTitle) { + label.text = pageTitle; + } - if (pageTitle) { - label.text = pageTitle; - } + label.isPageHeading = true; + label.classes = "govuk-fieldset__legend--l"; - label.isPageHeading = true; - label.classes = "govuk-fieldset__legend--l"; + if (singleFormComponent.model?.fieldset) { + singleFormComponent.model.fieldset.legend = label; + } - if (singleFormComponent.model?.fieldset) { - singleFormComponent.model.fieldset.legend = label; + pageTitle = pageTitle || label.text; + showTitle = false; } - - pageTitle = pageTitle || label.text; - showTitle = false; } return { @@ -434,6 +451,15 @@ export class PageControllerBase { //Iterate all components on this page and pull out the saved values from the state for (const component of nextPage.components.items) { newValue[component.name] = currentState[component.name]; + + if (component.options.conditionallyRevealedComponents) { + for (const key in component.options.conditionallyRevealedComponents) { + const revealedComponent = + component.options.conditionallyRevealedComponents[key]; // Get the actual object + newValue[revealedComponent.name] = + currentState[revealedComponent.name]; + } + } } if (nextPage.section) { @@ -484,6 +510,35 @@ export class PageControllerBase { : redirectTo(request, h, `/${this.model.basePath}${startPage!}`); } + if ( + this.model.def.authentication && + this.model.def.toggle === true && + this.pageDef.unauthenticated !== true + ) { + const authCookie = request.state.auth_token; // Check for the auth cookie + + if (!authCookie && !isStartPage && this.model.def.authentication) { + // If the auth cookie is missing and it's not the start page, redirect + if (currentPath !== `/${this.model.basePath}${startPage!}`) { + return h.redirect(`/${this.model.basePath}${startPage!}`); + } + } + if (authCookie) { + const tokenArtifacts = Jwt.token.decode(authCookie); + const { isValid, error } = verifyHmacToken( + tokenArtifacts, + this.model.def.jwtKey + ); + + if (!isValid) { + // If the token is invalid, redirect to the start page + if (currentPath !== `/${this.model.basePath}${startPage!}`) { + return h.redirect(`/${this.model.basePath}${startPage!}`); + } + } + } + } + formData.lang = lang; /** * We store the original filename for the user in a separate object (`originalFileNames`), however they are not used for any of the outputs. The S3 url is stored in the state. @@ -562,10 +617,15 @@ export class PageControllerBase { await cacheService.mergeState(request, { progress }); - viewModel.backLink = - progress[progress.length - 2] ?? this.backLinkFallback; + if (this.disableBackLink) { + viewModel.backLink = undefined; + } else { + viewModel.backLink = + progress[progress.length - 2] ?? this.backLinkFallback; + } viewModel.allowExit = this.model.allowExit; + return h.view(this.viewName, viewModel); }; } @@ -712,6 +772,37 @@ export class PageControllerBase { } const { cacheService } = request.services([]); + if ( + this.model.def.authentication && + this.model.def.toggle === true && + this.pageDef.unauthenticated !== true + ) { + const startPage = this.model.def.startPage; + const isStartPage = this.path === `${startPage}`; + const currentPath = `/${this.model.basePath}${this.path}${request.url.search}`; + const authCookie = request.state.auth_token; // Check for the auth cookie + if (!authCookie && !isStartPage) { + // If the auth cookie is missing and it's not the start page, redirect + if (currentPath !== `/${this.model.basePath}${startPage!}`) { + return h.redirect(`/${this.model.basePath}${startPage!}`); + } + } + + if (authCookie) { + const tokenArtifacts = Jwt.token.decode(authCookie); + const { isValid, error } = verifyHmacToken( + tokenArtifacts, + this.model.def.jwtKey + ); + if (!isValid) { + // If the token is invalid, redirect to the start page + if (currentPath !== `/${this.model.basePath}${startPage!}`) { + return h.redirect(`/${this.model.basePath}${startPage!}`); + } + } + } + } + const shouldGoToExitPage = this.model.allowExit && request.payload?.action === "exit"; @@ -889,7 +980,13 @@ export class PageControllerBase { private renderWithErrors(request, h, payload, num, progress, errors) { const viewModel = this.getViewModel(payload, num, errors); - viewModel.backLink = progress[progress.length - 2] ?? this.backLinkFallback; + if (this.disableBackLink) { + viewModel.backLink = undefined; + } else { + viewModel.backLink = + progress[progress.length - 2] ?? this.backLinkFallback; + } + this.setPhaseTag(viewModel); this.setFeedbackDetails(viewModel, request); viewModel.allowExit = this.model.allowExit; diff --git a/runner/src/server/plugins/engine/pageControllers/RepeatingSectionSummaryPageController.ts b/runner/src/server/plugins/engine/pageControllers/RepeatingSectionSummaryPageController.ts index 6d8866c07f..c3c2c350d0 100644 --- a/runner/src/server/plugins/engine/pageControllers/RepeatingSectionSummaryPageController.ts +++ b/runner/src/server/plugins/engine/pageControllers/RepeatingSectionSummaryPageController.ts @@ -43,7 +43,13 @@ export class RepeatingSectionSummaryPageController extends PageController { return h.redirect(`/${this.model.basePath}${this.path}`); } - this.details = summaryFiltered; + this.details = summaryFiltered.map((detail) => { + const currentPath = this.path.replace("/", ""); + return { + ...detail, + card: detail.items[0].url.replace("summary", currentPath), + }; + }); return super.makeGetRouteHandler()(request, h); }; } diff --git a/runner/src/server/plugins/engine/pageControllers/SummaryPageController.ts b/runner/src/server/plugins/engine/pageControllers/SummaryPageController.ts index 89f53b66a7..661af88a3b 100644 --- a/runner/src/server/plugins/engine/pageControllers/SummaryPageController.ts +++ b/runner/src/server/plugins/engine/pageControllers/SummaryPageController.ts @@ -168,10 +168,11 @@ export class SummaryPageController extends PageController { userCompletedSummary: true, }); - request.logger.info( - ["Webhook data", "before send", request.yar.id], - JSON.stringify(summaryViewModel.validatedWebhookData) - ); + // Commented out due to potential for logging PII + // request.logger.info( + // ["Webhook data", "before send", request.yar.id], + // JSON.stringify(summaryViewModel.validatedWebhookData) + // ); await cacheService.mergeState(request, { webhookData: summaryViewModel.validatedWebhookData, diff --git a/runner/src/server/plugins/engine/pageControllers/helpers.ts b/runner/src/server/plugins/engine/pageControllers/helpers.ts index ee87ec5759..aa6c085fdf 100644 --- a/runner/src/server/plugins/engine/pageControllers/helpers.ts +++ b/runner/src/server/plugins/engine/pageControllers/helpers.ts @@ -13,6 +13,14 @@ import { Page } from "@xgovformbuilder/model"; import { UploadPageController } from "server/plugins/engine/pageControllers/UploadPageController"; import { MultiStartPageController } from "server/plugins/engine/pageControllers/MultiStartPageController"; import { RepeatingSectionSummaryPageController } from "./RepeatingSectionSummaryPageController"; +import { CheckpointSummaryPageController } from "src/server/plugins/engine/pageControllers/CheckpointSummaryPageController"; +import { MagicLinkFirstSubmitPageController } from "./MagicLinkFirstSubmitPageController"; +import { MagicLinkSecondSubmitPageController } from "./MagicLinkSecondSubmitPageController"; +import { MagicLinkController } from "./MagicLinkController"; +import { MagicLinkStartPageController } from "./MagicLinkStartPageController"; +import { CustomSummaryPageController } from "./CustomSummaryPageController"; +import { DateComparisonPageController } from "./DateComparisonPageController"; +import { MagicLinkRedirectController } from "./MagicLinkRedirectController"; const PageControllers = { DobPageController, @@ -27,6 +35,14 @@ const PageControllers = { UploadPageController, MultiStartPageController, RepeatingSectionSummaryPageController, + CheckpointSummaryPageController, + MagicLinkFirstSubmitPageController, + MagicLinkSecondSubmitPageController, + MagicLinkController, + MagicLinkStartPageController, + CustomSummaryPageController, + DateComparisonPageController, + MagicLinkRedirectController, }; export const controllerNameFromPath = (filePath: string) => { diff --git a/runner/src/server/plugins/engine/pageControllers/index.ts b/runner/src/server/plugins/engine/pageControllers/index.ts index 2f20a4324b..ed8a652e1d 100644 --- a/runner/src/server/plugins/engine/pageControllers/index.ts +++ b/runner/src/server/plugins/engine/pageControllers/index.ts @@ -8,3 +8,9 @@ export { PageControllerBase } from "./PageControllerBase"; export { MiniSummaryPageController } from "./MiniSummaryPageController"; export { RepeatingSectionSummaryPageController } from "./RepeatingSectionSummaryPageController"; export { getPageController, controllerNameFromPath } from "./helpers"; +export { CheckpointSummaryPageController } from "./CheckpointSummaryPageController"; +export { MagicLinkController } from "./MagicLinkController"; +export { MagicLinkStartPageController } from "./MagicLinkStartPageController"; +export { CustomSummaryPageController } from "./CustomSummaryPageController"; +export { DateComparisonPageController } from "./DateComparisonPageController"; +export { MagicLinkRedirectController } from "./MagicLinkRedirectController"; diff --git a/runner/src/server/plugins/engine/pluginHandlers/files/prehandlers/handleUpload.ts b/runner/src/server/plugins/engine/pluginHandlers/files/prehandlers/handleUpload.ts index a775ff098c..154375a70f 100644 --- a/runner/src/server/plugins/engine/pluginHandlers/files/prehandlers/handleUpload.ts +++ b/runner/src/server/plugins/engine/pluginHandlers/files/prehandlers/handleUpload.ts @@ -46,7 +46,7 @@ export async function handleUpload( let response; try { - response = await uploadService.uploadDocuments(streams); + response = await uploadService.uploadDocuments(streams,request); } catch (err) { if (err.data?.res) { const { error } = uploadService.parsedDocumentUploadResponse(err.data); diff --git a/runner/src/server/plugins/engine/views/components/contentwithstate.html b/runner/src/server/plugins/engine/views/components/contentwithstate.html new file mode 100644 index 0000000000..7e8c6f9076 --- /dev/null +++ b/runner/src/server/plugins/engine/views/components/contentwithstate.html @@ -0,0 +1,3 @@ +{% macro ContentWithState(component) %} +

    {{ component.model.content | safe }}

    +{% endmacro %} diff --git a/runner/src/server/plugins/errorPages.ts b/runner/src/server/plugins/errorPages.ts index ebe4b27cbd..11c3ae52a7 100644 --- a/runner/src/server/plugins/errorPages.ts +++ b/runner/src/server/plugins/errorPages.ts @@ -1,4 +1,5 @@ import { HapiRequest, HapiResponseToolkit } from "../types"; +import config from "../config"; /* * Add an `onPreResponse` listener to return error pages @@ -29,8 +30,25 @@ export default { message: response.message, }); + try { + const url = request.url; + var urlPath = url.pathname.split("/"); + var form = server.app.forms[urlPath[1]]; + } catch (e) { + return h.view("500").code(500); + } + + // In the event of 403 (CSRF protection) + if (statusCode === 403) { + return h + .view("csrf-protection", { url: urlPath[1], name: form.name }) + .code(statusCode); + } + // The return the `500` view - return h.view("500").code(statusCode); + return h + .view("500", { name: form.name || config.serviceName }) + .code(statusCode); } return h.continue; } diff --git a/runner/src/server/plugins/initialiseSession/helpers.ts b/runner/src/server/plugins/initialiseSession/helpers.ts index a41a15e057..db645d4620 100644 --- a/runner/src/server/plugins/initialiseSession/helpers.ts +++ b/runner/src/server/plugins/initialiseSession/helpers.ts @@ -83,3 +83,18 @@ export const callbackValidation = (safelist = config.safelist) => return helpers.error("string.hostname"); }); + +export function verifyHmacToken(decodedToken, key) { + try { + Jwt.token.verify(decodedToken, { + key: key, + algorithm: config.initialisedSessionAlgorithm, + }); + return { isValid: true }; + } catch (err) { + return { + isValid: false, + error: `${err}`, + }; + } +} diff --git a/runner/src/server/plugins/initialiseSession/types.ts b/runner/src/server/plugins/initialiseSession/types.ts index 531cf57570..b0a8315053 100644 --- a/runner/src/server/plugins/initialiseSession/types.ts +++ b/runner/src/server/plugins/initialiseSession/types.ts @@ -17,6 +17,7 @@ export type InitialiseSessionOptions = { title: string; paymentSkipped?: false | string; nextSteps?: false | string; + hidePanel?: boolean; }; components: ContentComponentsDef[]; }; diff --git a/runner/src/server/plugins/router.ts b/runner/src/server/plugins/router.ts index 77d5006809..5dcad98fea 100644 --- a/runner/src/server/plugins/router.ts +++ b/runner/src/server/plugins/router.ts @@ -4,6 +4,12 @@ import { healthCheckRoute, publicRoutes } from "../routes"; import { HapiRequest, HapiResponseToolkit } from "../types"; import config from "../config"; import getRequestInfo from "server/utils/getRequestInfo"; +import { FormModel } from "server/plugins/engine/models"; +import { feedbackReturnInfoKey } from "./engine/helpers"; +import { FeedbackContextInfo, RelativeUrl } from "./engine/feedback"; + +import fs from "fs"; +import path from "path"; const routes = [...publicRoutes, healthCheckRoute]; @@ -29,23 +35,78 @@ export default { server.route([ { method: "get", - path: "/help/privacy", + path: "/{url}/privacy", handler: async (_request: HapiRequest, h: HapiResponseToolkit) => { - if (config.privacyPolicyUrl) { - return h.redirect(config.privacyPolicyUrl); + const { url } = _request.params; // Extract the dynamic page parameter + const form = server.app.forms[url]; // Gain requested form context + + // Construct the file path for the view + const viewPath = path.join( + __dirname, + "../views", + url, + "privacy.html" + ); + + // Catch the default help page before processing further + if (url === "help") { + return h.view("help/privacy"); + } + + // Check if the file exists + if (!form || !fs.existsSync(viewPath)) { + return h.redirect("/help/privacy"); } - return h.view("help/privacy"); + + const title = `${url}/privacy`; + return h.view(title, { + name: form.name, + serviceName: form.def.serviceName, + serviceStartPage: form.serviceStartPage, + feedbackLink: feedbackUrlFromRequest(_request, form, title) + }); }, }, { method: "get", - path: "/help/cookies", + path: "/{url}/cookies", handler: async (request: HapiRequest, h: HapiResponseToolkit) => { + const { url } = request.params; // Extract the dynamic page parameter const cookiesPolicy = request.state.cookies_policy; let analytics = cookiesPolicy?.analytics === "on" ? "accept" : "reject"; - return h.view("help/cookies", { + + const form = server.app.forms[url]; // Gain requested form context + + // Construct the file path for the view + const viewPath = path.join( + __dirname, + "../views", + url, + "cookies.html" + ); + + // Catch the default help page before processing further + if (url === "help") { + return h.view("help/cookies"); + } + + // Check if the file exists + if (!form || !fs.existsSync(viewPath)) { + return h.redirect("/help/cookies"); + } + + const title = `${url}/cookies`; + return h.view(title, { analytics, + name: form.name, + serviceName: form.def.serviceName, + serviceStartPage: form.serviceStartPage, + feedbackLink: feedbackUrlFromRequest(request, form, title), + matomoUrl: form.def.analytics.matomoUrl, + matomoId: form.def.analytics.matomoId, + gtmId1: form.def.analytics.gtmId1, + gtmId2: form.def.analytics.gtmId2 }); }, }, @@ -72,17 +133,41 @@ export default { }).required(), }, }, - path: "/help/cookies", + path: "/{url}/cookies", handler: async (request: HapiRequest, h: HapiResponseToolkit) => { + const { url } = request.params; // Extract the dynamic page parameter + const { cookies } = request.payload as CookiePayload; const accept = cookies === "accept"; const { referrer } = getRequestInfo(request); - let redirectPath = "/help/cookies"; + const form = server.app.forms[url]; // Gain requested form context + + // Construct the file path for the view + const viewPath = path.join( + __dirname, + "../views", + url, + "cookies.html" + ); + + let redirectPath = `/${url}/cookies`; + + // Catch the default help page before processing further + if (url === "help") { + redirectPath = "help/cookies"; + } + + // Check if the file exists + if (!form || !fs.existsSync(viewPath)) { + redirectPath = "/help/cookies"; + } if (referrer) { redirectPath = new URL(referrer).pathname; } + + const cookieName = form?.name || `${url}Page`; return h.redirect(redirectPath).state( "cookies_policy", @@ -92,6 +177,7 @@ export default { essential: true, analytics: accept ? "on" : "off", usage: accept, + name: cookieName, }, { isHttpOnly: false, @@ -104,17 +190,73 @@ export default { server.route({ method: "get", - path: "/help/terms-and-conditions", + path: "/{url}/terms-and-conditions", handler: async (_request: HapiRequest, h: HapiResponseToolkit) => { - return h.view("help/terms-and-conditions"); + const { url } = _request.params; // Extract the dynamic page parameter + + const form = server.app.forms[url]; // Gain requested form context + + // Construct the file path for the view + const viewPath = path.join( + __dirname, + "../views", + url, + "terms-and-conditions.html" + ); + + // Catch the default help page before processing further + if (url === "help") { + return h.view("help/terms-and-conditions"); + } + + // Check if the file exists, if it doesn't, redirect to the default accessibility statement + if (!form || !fs.existsSync(viewPath)) { + return h.redirect("/help/terms-and-conditions"); + } + + const title = `${url}/terms-and-conditions`; + return h.view(title, { + name: form.name, + serviceName: form.def.serviceName, + serviceStartPage: form.serviceStartPage, + feedbackLink: feedbackUrlFromRequest(_request, form, title) + }); }, }); server.route({ method: "get", - path: "/help/accessibility-statement", + path: "/{url}/accessibility-statement", handler: async (_request: HapiRequest, h: HapiResponseToolkit) => { - return h.view("help/accessibility-statement"); + const { url } = _request.params; // Extract the dynamic page parameter + + const form = server.app.forms[url]; // Gain requested form context + + // Construct the file path for the view + const viewPath = path.join( + __dirname, + "../views", + url, + "accessibility-statement.html" + ); + + // Catch the default help page before processing further + if (url === "help") { + return h.view("help/accessibility-statement"); + } + + // Check if the file exists, if it doesn't, redirect to the default accessibility statement + if (!form || !fs.existsSync(viewPath)) { + return h.redirect("/help/accessibility-statement"); + } + + const title = `${url}/accessibility-statement`; + return h.view(title, { + name: form.name, + serviceName: form.serviceName, + serviceStartPage: form.serviceStartPage, + feedbackLink: feedbackUrlFromRequest(_request, form, title) + }); }, }); @@ -157,3 +299,26 @@ export default { }, }, }; + +function feedbackUrlFromRequest(request: HapiRequest, form: FormModel, title: string): string | void { + const feedbackUrl = (form.def.feedback?.url as any); + if (feedbackUrl) { + if (feedbackUrl.startsWith("http")) { + return feedbackUrl; + } + + const relativeFeedbackUrl = new RelativeUrl(feedbackUrl); + const returnInfo = new FeedbackContextInfo( + form.name, + title, + `${request.url.pathname}${request.url.search}` + ); + relativeFeedbackUrl.setParam( + feedbackReturnInfoKey, + returnInfo.toString() + ); + return relativeFeedbackUrl.toString(); + } + + return undefined; +} \ No newline at end of file diff --git a/runner/src/server/plugins/session.ts b/runner/src/server/plugins/session.ts index 6e28dbb605..33c52b54a0 100644 --- a/runner/src/server/plugins/session.ts +++ b/runner/src/server/plugins/session.ts @@ -9,7 +9,7 @@ export default { }, cookieOptions: { password: config.sessionCookiePassword || generateCookiePassword(), - isSecure: !config.isDev, + isSecure: config.httpsCookieSecureAttribute, isHttpOnly: true, isSameSite: "Lax", }, diff --git a/runner/src/server/plugins/views.ts b/runner/src/server/plugins/views.ts index ef537103c0..acfe3b2dd1 100644 --- a/runner/src/server/plugins/views.ts +++ b/runner/src/server/plugins/views.ts @@ -61,28 +61,36 @@ export default { `${path.dirname(resolve.sync("hmpo-components"))}/components`, ], isCached: !config.isDev, - context: (request: HapiRequest) => ({ - appVersion: pkg.version, - assetPath: "/assets", - cookiesPolicy: request?.state?.cookies_policy, - serviceName: capitalize(config.serviceName), - feedbackLink: config.feedbackLink, - pageTitle: config.serviceName + " - GOV.UK", - analyticsAccount: config.analyticsAccount, - gtmId1: config.gtmId1, - gtmId2: config.gtmId2, - location: request?.app.location, - matomoId: config.matomoId, - matomoUrl: config.matomoUrl, - BROWSER_REFRESH_URL: config.browserRefreshUrl, - sessionTimeout: config.sessionTimeout, - skipTimeoutWarning: false, - serviceStartPage: config.serviceStartPage, - privacyPolicyUrl: config.privacyPolicyUrl || "/help/privacy", - phaseTag: config.phaseTag, - navigation: request?.auth.isAuthenticated - ? [{ text: "Sign out", href: "/logout" }] - : null, - }), + context: (request: HapiRequest) => { + const id = request.params?.id; + const forms = request.server?.app?.forms; + const model = id && forms?.[id]; + const analytics = model?.def?.analytics || {}; + + return { + appVersion: pkg.version, + assetPath: "/assets", + cookiesPolicy: request?.state?.cookies_policy, + serviceName: capitalize(request.server?.app?.forms?.[request.params?.id]?.def?.serviceName || config.serviceName), + feedbackLink: config.feedbackLink, + pageTitle: (request.server?.app?.forms?.[request.params?.id]?.def?.serviceName || config.serviceName) + " - GOV.UK", + analyticsAccount: config.analyticsAccount, + gtmId1: analytics.gtmId1 || "", + gtmId2: analytics.gtmId2 || "", + location: request?.app.location, + matomoId: analytics.matomoId || "", + matomoUrl: analytics.matomoUrl || "", + BROWSER_REFRESH_URL: config.browserRefreshUrl, + sessionTimeout: config.sessionTimeout, + skipTimeoutWarning: false, + serviceStartPage: request.server?.app?.forms?.[request.params?.id]?.def?.fullStartPage || config.serviceStartPage || config.serviceName || "#", + privacyPolicyUrl: config.privacyPolicyUrl || "/help/privacy", + phaseTag: config.phaseTag, + navigation: request?.auth.isAuthenticated + ? [{ text: "Sign out", href: "/logout" }] + : null, + }; + }, + }, -}; +}; \ No newline at end of file diff --git a/runner/src/server/schemas/webhookSchema.ts b/runner/src/server/schemas/webhookSchema.ts index e490291e88..bec9f0ffb4 100644 --- a/runner/src/server/schemas/webhookSchema.ts +++ b/runner/src/server/schemas/webhookSchema.ts @@ -78,6 +78,7 @@ const optionsSchema: joi.ObjectSchema< title: joi.string().optional().allow(false, ""), paymentSkipped: joi.string().optional().allow(false, ""), nextSteps: joi.string().optional().allow(false, ""), + hidePanel: joi.boolean().optional(), }) .optional(), components: joi.array().items(componentSchema), diff --git a/runner/src/server/services/ExitService.ts b/runner/src/server/services/ExitService.ts index f6369e166c..30dedb94c6 100644 --- a/runner/src/server/services/ExitService.ts +++ b/runner/src/server/services/ExitService.ts @@ -46,18 +46,19 @@ export class ExitService { }); return response.payload; } catch (e: unknown) { - if (e.data?.isResponseError) { - this.logger.error( - { - service: "ExitService", - method: "POST", - url, - reqBody: payload, - statusCode: e.data.res.statusCode, - }, - `${url} responded with an error when exiting form for ${payload?.exitState?.exitEmailAddress}.` - ); - } + // Commented out due to potential for logging PII + // if (e.data?.isResponseError) { + // this.logger.error( + // { + // service: "ExitService", + // method: "POST", + // url, + // reqBody: payload, + // statusCode: e.data.res.statusCode, + // }, + // `${url} responded with an error when exiting form for ${payload?.exitState?.exitEmailAddress}.` + // ); + // } throw e; } } diff --git a/runner/src/server/services/cacheService.ts b/runner/src/server/services/cacheService.ts index a18906e6b0..4e4a258c04 100644 --- a/runner/src/server/services/cacheService.ts +++ b/runner/src/server/services/cacheService.ts @@ -127,6 +127,44 @@ export class CacheService { } } + async createMagicLinkRecord( + email: string, + hmac: string, + currentTimestamp: string + ) { + const key = email; + const value = { + hmac: hmac, + active: currentTimestamp, + }; + return this.cache.set(key, value, config.sessionTimeout); + } + + async updateMagicLinkRecord( + email: string, + hmac: string, + currentTimestamp: string + ) { + const key = email; + + const value = { + hmac: hmac, + active: currentTimestamp, + }; + return this.cache.set(key, value, config.sessionTimeout); + } + + async searchForMagicLinkRecord(email: string) { + const key = email; + const emailCached = await this.cache.get(key); + return emailCached ?? null; + } + + async deleteMagicLinkRecord(email: string) { + const key = email; + return await this.cache.drop(key); + } + /** * The key used to store user session data against. * If there are multiple forms on the same runner instance, for example `form-a` and `form-a-feedback` this will prevent CacheService from clearing data from `form-a` if a user gave feedback before they finished `form-a` diff --git a/runner/src/server/services/statusService.ts b/runner/src/server/services/statusService.ts index 65c69253d1..27fc16c0d2 100644 --- a/runner/src/server/services/statusService.ts +++ b/runner/src/server/services/statusService.ts @@ -1,4 +1,5 @@ import { HapiRequest, HapiServer } from "../types"; +import { createHmacRaw } from "../utils/hmac"; import { CacheService, NotifyService, @@ -130,6 +131,29 @@ export class StatusService { let newReference; + /** + * If the OPTIONAL config contains webhookHmacSharedKey, then we send HMAC Auth headers + * This is used to confirm ONLY X-Gov's backend is sending data to our API + * Everyone else will be Rejected + */ + const id = request.params?.id; + const forms = request.server?.app?.forms; + const model = id && forms?.[id]; + const hmacKey = model?.def?.webhookHmacSharedKey; + let customSecurityHeaders: Record = {}; + + if (hmacKey) { + const [hmacSignature, requestTime, hmacExpiryTime] = await createHmacRaw( + request.yar.id, + hmacKey + ); + customSecurityHeaders = { + "X-Request-ID": request.yar.id.toString(), + "X-HMAC-Signature": hmacSignature.toString(), + "X-HMAC-Time": requestTime.toString(), + }; + } + if (callback) { this.logger.info( ["StatusService", "outputRequests"], @@ -153,7 +177,8 @@ export class StatusService { firstWebhook.outputData.url, { ...formData }, "POST", - firstWebhook.outputData.sendAdditionalPayMetadata + firstWebhook.outputData.sendAdditionalPayMetadata, + customSecurityHeaders ); await this.cacheService.mergeState(request, { reference: newReference, @@ -164,7 +189,9 @@ export class StatusService { otherOutputs, formData, newReference, - state.pay + state.pay, + state.hmacSignature, + state.hmacExpiryTime ); const requests = [ @@ -176,7 +203,8 @@ export class StatusService { ...formData, }, "POST", - sendAdditionalPayMetadata + sendAdditionalPayMetadata, + customSecurityHeaders ) ), ]; @@ -193,16 +221,28 @@ export class StatusService { webhookArgsFromState(state) { const { pay = {}, webhookData } = state; const { paymentSkipped } = pay; - const { metadata, fees, ...rest } = webhookData; - const webhookArgs = { - ...rest, - ...(!paymentSkipped && { fees }), - metadata: { - ...metadata, - ...state.metadata, - paymentSkipped: paymentSkipped ?? false, - }, - }; + const webhookArgs = (() => { + if (!webhookData) { + // Handle the case when webhookData is undefined + return { + metadata: { + ...state.metadata, + paymentSkipped: paymentSkipped ?? false, + }, + }; + } + + const { metadata, fees, ...rest } = webhookData; + return { + ...rest, + ...(!paymentSkipped && { fees }), + metadata: { + ...metadata, + ...state.metadata, + paymentSkipped: paymentSkipped ?? false, + }, + }; + })(); if (pay) { webhookArgs.metadata.pay = { @@ -218,7 +258,9 @@ export class StatusService { emailOutputsFromState( outputData, reference, - payReference + payReference, + hmacSignature, + hmacExpiryTime ): SendNotificationArgs { const { apiKey, @@ -239,6 +281,8 @@ export class StatusService { hasPaymentReference: !!payReference, paymentReference: payReference || "", }), + hmacSignature, + hmacExpiryTime, }, reference, apiKey, @@ -253,7 +297,9 @@ export class StatusService { outputs: OutputModel[] = [], formData = {}, reference, - payReference + payReference, + hmacSignature, + hmacExpiryTime ): OutputArgs { this.logger.trace(["StatusService", "outputArgs"], JSON.stringify(outputs)); return outputs.reduce( @@ -263,7 +309,9 @@ export class StatusService { const args = this.emailOutputsFromState( currentValue.outputData, reference, - payReference + payReference, + hmacSignature, + hmacExpiryTime ); this.logger.trace( ["StatusService", "outputArgs", "notify"], diff --git a/runner/src/server/services/upload/uploadService.ts b/runner/src/server/services/upload/uploadService.ts index a1e3122f56..5fa516f526 100644 --- a/runner/src/server/services/upload/uploadService.ts +++ b/runner/src/server/services/upload/uploadService.ts @@ -2,6 +2,7 @@ import FormData from "form-data"; import config from "../../config"; import { get, post } from "../httpService"; +import { createHmacRaw } from "../../utils/hmac"; import { HapiRequest, HapiResponseToolkit, HapiServer } from "../../types"; type Payload = HapiRequest["payload"]; @@ -108,7 +109,7 @@ export class UploadService { }); } - async uploadDocuments(streams: any[]) { + async uploadDocuments(streams: any[], request: HapiRequest) { const form = new FormData(); for (const stream of streams) { form.append("files", stream, { @@ -117,14 +118,35 @@ export class UploadService { }); } - const requestData = { headers: form.getHeaders(), payload: form }; - const responseData = await post( - `${config.documentUploadApiUrl}/v1/files`, - requestData - ); + const formHeaders = form.getHeaders(); - return this.parsedDocumentUploadResponse(responseData); - } + + const id = request.params?.id; + const forms = request.server?.app?.forms; + const model = id && forms?.[id]; + const hmacKey = model?.def?.fileUploadHmacSharedKey; + + const [hmacSignature, requestTime] = await createHmacRaw( + request.yar.id, + hmacKey + ); + + const customSecurityHeaders = { + "X-Request-ID": request.yar.id.toString(), + "X-HMAC-Signature": hmacSignature.toString(), + "X-HMAC-Time": requestTime.toString(), + }; + + const headers = { + ...formHeaders, + ...customSecurityHeaders, + }; + + const requestData = { headers, payload: form }; + const responseData = await post(`${config.documentUploadApiUrl}/v1/files`, requestData); + + return this.parsedDocumentUploadResponse(responseData); +} parsedDocumentUploadResponse({ res, payload }) { const warning = payload?.toString?.(); @@ -159,15 +181,39 @@ export class UploadService { return h.continue; } - validateContentType( - file: HapiReadableStream, - customAcceptedTypes?: string[] - ) { - const acceptedTypes = customAcceptedTypes ?? this.validContentTypes; +validateContentType( + file: HapiReadableStream, + customAcceptedTypes?: string[] +) { + const contentType = file?.hapi?.headers?.["content-type"]; + const filename = file?.hapi?.filename; + const acceptedTypes = customAcceptedTypes ?? this.validContentTypes; + + let isValid = acceptedTypes.includes(contentType); - return acceptedTypes.includes(file?.hapi?.headers?.["content-type"]); + // Fallback: allow .ris files with 'application/octet-stream' + // API BACKEND - Will be used to scan if this is actually what it claims to be ... + if (!isValid && filename?.endsWith(".ris")) { + this.logger.warn("UPLOAD_WARNING", { + reason: "RIS file had generic content type", + filename, + contentType + }); + isValid = true; } + // Fallback: allow .msg files with 'application/octet-stream' + if (!isValid && filename?.endsWith(".msg")) { + this.logger.warn("UPLOAD_WARNING", { + reason: "RIS file had generic content type", + filename, + contentType + }); + isValid = true; + } + return isValid; +} + invalidFileTypeError(fieldName: string, customAcceptedTypes?: string[]) { return parsedError( fieldName, @@ -195,9 +241,21 @@ export class UploadService { const contentTypeToName = { "image/jpeg": "jpg, jpeg", "image/png": "png", - "application/pdf": "pdf", - "application/vnd.oasis.opendocument.text": "odt", - "application/vnd.openxmlformats-officedocument.wordprocessingml.document": - "docx", + "image/gif": "gif", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "xlsx", "text/csv": "csv", + "application/vnd.ms-excel.sheet.macroEnabled.12": "xlsm", + "application/xml": "xml", + "application/pdf": "pdf", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "docx", + "application/rtf": "rtf", + "text/rtf": "rtf", + "application/msword": "doc", + "application/x-research-info-systems": "ris", + "text/ris": "ris", + "text/plain": "txt", + "application/vnd.ms-outlook": "msg", + "application/vnd.openxmlformats-officedocument.presentationml.presentation": "pptx", + "application/vnd.ms-excel": "xls", + // "application/zip": "zip" }; diff --git a/runner/src/server/services/webhookService.ts b/runner/src/server/services/webhookService.ts index a357f2a3ae..75dbbfa3fa 100644 --- a/runner/src/server/services/webhookService.ts +++ b/runner/src/server/services/webhookService.ts @@ -27,34 +27,52 @@ export class WebhookService { url: string, data: object, method: "POST" | "PUT" = "POST", - sendAdditionalPayMetadata: boolean = false + sendAdditionalPayMetadata: boolean = false, + authHeaders?: Record ) { - this.logger.info( - ["WebhookService", "postRequest body"], - JSON.stringify(data) - ); + // Commented out due to potential for logging PII + // this.logger.info( + // ["WebhookService", "postRequest body"], + // JSON.stringify(data) + // ); + let request = method === "POST" ? post : put; try { if (!sendAdditionalPayMetadata) { delete data?.metadata?.pay; } - const { payload } = await request(url, { + const { payload, res } = await request(url, { ...DEFAULT_OPTIONS, + headers: { + ...DEFAULT_OPTIONS.headers, + ...(authHeaders || {}), + }, payload: JSON.stringify(data), }); if (typeof payload === "object" && !Buffer.isBuffer(payload)) { return payload.reference; } + + const Name = JSON.parse(payload)[0]?.Name; + + if (Name) { + return Name; + } + + this.logger.info(`Request status code: ${res.statusCode}`); + const { reference } = JSON.parse(payload); + this.logger.info( ["WebhookService", "postRequest"], `Webhook request to ${url} submitted OK` ); - this.logger.debug( - ["WebhookService", "postRequest", `REF: ${reference}`], - JSON.stringify(payload) - ); + // Commented out due to potential for logging PII + // this.logger.debug( + // ["WebhookService", "postRequest", `REF: ${reference}`], + // JSON.stringify(payload) + // ); return reference; } catch (error) { this.logger.error(["WebhookService", "postRequest"], error); diff --git a/runner/src/server/transforms/summaryDetails/filterSections.ts b/runner/src/server/transforms/summaryDetails/filterSections.ts new file mode 100644 index 0000000000..960ae129f5 --- /dev/null +++ b/runner/src/server/transforms/summaryDetails/filterSections.ts @@ -0,0 +1,15 @@ +// Removes rows that don't belong to sections +// Transforms sections with names where a number follows a letter into a card + +export function filterSections(details) { + return details + .filter((detail) => detail.name) + .map((detail) => { + if (detail.name.match(/\w\d/)) { + detail.card = detail.items.find((item) => item.inError) + ? detail.items[0].pageId + : detail.items[0].url; + } + return detail; + }); +} diff --git a/runner/src/server/transforms/summaryDetails/index.ts b/runner/src/server/transforms/summaryDetails/index.ts index 9bfed44a4e..6294ed502e 100644 --- a/runner/src/server/transforms/summaryDetails/index.ts +++ b/runner/src/server/transforms/summaryDetails/index.ts @@ -1,11 +1,124 @@ -"use strict"; - -import { SummaryDetailsTransformationMap } from "server/transforms/summaryDetails/types"; -export { SummaryDetailsTransformationMap }; - -/** - * [View the docs for summary-details-transformations an explanation of how this feature works](docs/runner/summary-details-transforms.md) - */ -const summaryDetailsTransformations: SummaryDetailsTransformationMap = {}; - -module.exports = summaryDetailsTransformations; +"use strict"; + +import { mergeRows } from "./mergeRows"; +import { removeRows } from "./removeRows"; +import { filterSections } from "./filterSections"; + +import { SummaryDetailsTransformationMap } from "server/transforms/summaryDetails/types"; +export { SummaryDetailsTransformationMap }; + +/** + * [View the docs for summary-details-transformations an explanation of how this feature works](docs/runner/summary-details-transforms.md) + */ + +const closeContactParams = [ + { + names: ["first_name", "last_name"], + to: "Full name", + joiner: " ", + }, + { + names: ["mobile_number", "landline_number", "email_address"], + to: "Contact details", + joiner: "\n", + }, +]; + +const klsParams = ["ZpmVWP"]; + +const summaryDetailsTransformations: SummaryDetailsTransformationMap = { + "close-contact-form-nl1-dev": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-nl1-test": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-nl4": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-nl5": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-nl7": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-nl8": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-uat": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-cca-nl1-dev": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-cca-nl1-test": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-cca-nl4": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-cca-nl5": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-cca-nl7": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-cca-nl8": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-cca-uat": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-hpt-nl1-dev": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-hpt-nl1-test": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-hpt-nl4": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-hpt-nl5": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-hpt-nl7": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-hpt-nl8": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "close-contact-form-hpt-uat": (details) => { + const firstTransform = mergeRows(details, closeContactParams); + return filterSections(firstTransform); + }, + "kls-enquiries": (details) => { + return removeRows(details, klsParams); + }, + "kls-training-request": (details) => { + return removeRows(details, klsParams); + }, +}; + +module.exports = summaryDetailsTransformations; + + diff --git a/runner/src/server/transforms/summaryDetails/mergeRows.ts b/runner/src/server/transforms/summaryDetails/mergeRows.ts new file mode 100644 index 0000000000..cc92aa5b45 --- /dev/null +++ b/runner/src/server/transforms/summaryDetails/mergeRows.ts @@ -0,0 +1,35 @@ +// Find fields in each section, create a row with a value that combines the values of those fields, then remove the original fields + +export function mergeRows( + details: any, + fields: Array<{ names: Array; to: string; joiner: string }> +) { + return details.map( + (detail: { name: string; title: string; items: Array }) => { + const allFieldNames = fields.map((field) => field.names).flat(); + const transformedItems = detail.items + .map((item) => { + const field = fields.find((field) => field.names[0] === item.name); + if (field) { + const { names, to, joiner } = field; + const findItem = (name: string) => + detail.items.find((item) => item.name === name); + const values = names + .map((name) => (findItem(name) ? findItem(name).value : null)) + .filter((value) => value); + + return { + ...item, + name: to.toLowerCase().replace(" ", "_"), + ...{ label: to, title: to, rawValue: to }, + value: values.length === 0 ? null : values.join(joiner), + }; + } + return item; + }) + .filter((item) => !allFieldNames.includes(item.name)); + + return { ...detail, items: transformedItems }; + } + ); +} diff --git a/runner/src/server/transforms/summaryDetails/removeRows.ts b/runner/src/server/transforms/summaryDetails/removeRows.ts new file mode 100644 index 0000000000..8a6b29d9be --- /dev/null +++ b/runner/src/server/transforms/summaryDetails/removeRows.ts @@ -0,0 +1,15 @@ +// Remove rows from summary details based on field name + +export function removeRows( + details: any, + names: Array +) { + return details.map( + (detail: { name: string; title: string; items: Array }) => { + const filteredItems = detail.items + .filter((item) => !names.includes(item.name)); + + return { ...detail, items: filteredItems }; + } + ); +} diff --git a/runner/src/server/utils/configSchema.ts b/runner/src/server/utils/configSchema.ts index 0c52740455..33b9098129 100644 --- a/runner/src/server/utils/configSchema.ts +++ b/runner/src/server/utils/configSchema.ts @@ -54,6 +54,7 @@ export const configSchema = Joi.object({ sslCert: Joi.string().optional(), sessionTimeout: Joi.number(), sessionCookiePassword: Joi.string().optional(), + httpsCookieSecureAttribute: Joi.boolean().optional(), rateLimit: Joi.boolean().optional(), fromEmailAddress: Joi.string().optional().allow(""), serviceStartPage: Joi.string().optional().allow(""), diff --git a/runner/src/server/utils/domain.ts b/runner/src/server/utils/domain.ts new file mode 100644 index 0000000000..45800dadb9 --- /dev/null +++ b/runner/src/server/utils/domain.ts @@ -0,0 +1,21 @@ +export function isAllowedDomain( + email: string, + allowedDomains: string[] +): boolean { + if (!allowedDomains || allowedDomains.length === 0) { + return true; + } + + const trimmedEmail = email.trim(); + const basicEmailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + + if (!basicEmailRegex.test(trimmedEmail)) { + return false; + } + + const domain = trimmedEmail.split("@")[1].toLowerCase(); + return allowedDomains.some((allowed) => { + const allowedLower = allowed.toLowerCase(); + return domain === allowedLower || domain.endsWith("." + allowedLower); + }); +} diff --git a/runner/src/server/utils/hmac.ts b/runner/src/server/utils/hmac.ts new file mode 100644 index 0000000000..ca34b45de9 --- /dev/null +++ b/runner/src/server/utils/hmac.ts @@ -0,0 +1,142 @@ +import crypto from "crypto"; + +// Configuration constants +const TIME_THRESHOLD = 1200; // 5 minutes in seconds + +function lastSunday(month, year) { + var d = new Date(); + var lastDayOfMonth = new Date(Date.UTC(year || d.getFullYear(), month, 0)); + var day = lastDayOfMonth.getDay(); + return new Date( + Date.UTC( + lastDayOfMonth.getFullYear(), + lastDayOfMonth.getMonth(), + lastDayOfMonth.getDate() - day + ) + ); +} + +function isBST(date) { + var d = date || new Date(); + var starts = lastSunday(3, d.getFullYear()); + starts.setHours(1); + var ends = lastSunday(10, d.getFullYear()); + ends.setHours(1); + return d.getTime() >= starts.getTime() && d.getTime() < ends.getTime(); +} + +function applyBSTIfRequired(timestamp) { + const date = new Date(timestamp * 1000); + + if (isBST(date)) { + // During BST, add 1 hour (3600 seconds) + return timestamp + 3600; + } else { + // During GMT, no adjustment needed + return timestamp; + } +} + +/** + * Formats a Unix timestamp to a human-readable time string + */ +function formatUnixTimestamp(timestamp: number): string { + const date = new Date(timestamp * 1000); // Convert seconds to milliseconds + let hours = date.getUTCHours(); + const minutes = date.getUTCMinutes(); + const ampm = hours >= 12 ? "pm" : "am"; + + hours = hours % 12 || 12; // Convert 0 to 12 for 12-hour format + + return `${hours}.${minutes < 10 ? "0" : ""}${minutes}${ampm}`; +} + +/** + * Creates an HMAC signature for authentication + */ +export async function createHmac(email: string, hmacKey: string) { + try { + // Get current timestamp + const currentTimestamp = Math.floor(Date.now() / 1000); + + // Prepare the data for HMAC calculation + const dataToHash = email + currentTimestamp; + + // Calculate the HMAC hash + const hmac = crypto + .createHmac("sha256", hmacKey) + .update(dataToHash) + .digest("hex"); + + const expiryTimestamp = currentTimestamp + TIME_THRESHOLD; + const adjustedExpiryForDisplay = applyBSTIfRequired(expiryTimestamp); + + const hmacExpiryTime = formatUnixTimestamp(adjustedExpiryForDisplay); + + return [hmac, currentTimestamp, hmacExpiryTime]; + } catch (error) { + console.error("Error creating HMAC:", error); + throw error; + } +} + +/** + * Similar to the above but returns raw epoch timestamps, + * making it preferable for cryptographic logic. + * The other function may benefit from refactoring + * to separate display logic from core logic. */ +export async function createHmacRaw(message: string, hmacKey: string) { + try { + const currentTimestamp = Math.floor(Date.now() / 1000); + const dataToHash = message + currentTimestamp; + const hmac = crypto + .createHmac("sha256", hmacKey) + .update(dataToHash) + .digest("hex"); + + const expiryTimestamp = currentTimestamp + TIME_THRESHOLD; + + return [hmac, currentTimestamp, expiryTimestamp]; + } catch (error) { + console.error("Error creating HMAC (raw):", error); + throw error; + } +} + +/** + * Validates an HMAC signature + */ +export async function validateHmac( + email: string, + signature: string, + requestTime: string, + hmacKey: string +) { + try { + // Get the current UTC time + const currentUtcUnixTimestamp = Math.floor(Date.now() / 1000); + + if (currentUtcUnixTimestamp > parseInt(requestTime) + TIME_THRESHOLD) { + return { isValid: false, reason: "expired" }; + } + + // Prepare the data for HMAC calculation + const dataToHash = email + requestTime; + + // Calculate the HMAC hash + const xResponseHmac = crypto + .createHmac("sha256", hmacKey) + .update(dataToHash) + .digest("hex"); + + // Verify the HMAC + if (signature === xResponseHmac) { + return { isValid: true, reason: "valid" }; + } else { + return { isValid: false, reason: "invalid_signature" }; + } + } catch (error) { + console.error("Error validating HMAC:", error); + return { isValid: false, reason: "error" }; + } +} diff --git a/runner/src/server/views/ReportAnOutbreak/accessibility-statement.html b/runner/src/server/views/ReportAnOutbreak/accessibility-statement.html new file mode 100644 index 0000000000..e2e4077d30 --- /dev/null +++ b/runner/src/server/views/ReportAnOutbreak/accessibility-statement.html @@ -0,0 +1,92 @@ +{% extends 'layout.html' %} + +{% block pageTitle %} + {{ name }} - Accessibility Statement +{% endblock %} + +{% block content %} +
    +
    +
    +
    +

    Accessibility statement for {{ name }}

    +

    + This accessibility statement applies to the Report an Outbreak website https://forms.ukhsa.gov.uk/ReportAnOutbreak (opens in new tab). +

    + This website is run by UK Health Security Agency (UKHSA). We want as many people as possible to be able to use this website. For example, that means you should be able to: +

    +

    +

      +
    • change colours, contrast levels and fonts using browser or device settings
    • +
    • zoom in up to 400% without the text spilling off the screen
    • +
    • navigate most of the website using a keyboard or speech recognition software
    • +
    • listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)
    • +
    +

    +

    + We’ve also made the website text as simple as possible to understand. +
    + AbilityNet (opens in new tab) has advice on making your device easier to use if you have a disability. +

    +

    How accessible this website is

    +

    + We know some parts of this website are not fully accessible: + +

      +
    • you cannot modify the line height or spacing of text
    • +
    • you cannot skip to the main content when using a screen reader
    • +
    +

    +

    Feedback and contact information

    +

    + If you find any problems not listed on this page or believe we're not meeting accessibility requirements, email ukhsa_techbp_product@ukhsa.gov.uk +
    +

    +

    + If you have difficulty using the website to report an outbreak, you should phone your local UKHSA health protection team (opens in new tab). +

    +

    Enforcement procedure

    +

    + + The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility regulations’). If you’re not happy with how we respond to your complaint, contact the Equality Advisory and Support Service (EASS) (opens in new tab). +

    +

    Technical information about this website’s accessibility

    +

    + UK Health Security Agency (UKHSA) is committed to making its website accessible, in accordance with the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018. +

    +

    Compliance status

    +

    + This website is partially compliant with the Web Content Accessibility Guidelines version 2.2 (opens in new tab) AA standard, due to the non-compliances and exemptions listed below +

    +

    Non-accessible content

    +

    + The content listed below is non-accessible for the following reasons.  +

    +

    Non-compliance with the accessibility regulations

    +

    + Some page headers and subtitles are incorrectly tagged or do not correspond to their associated content. This fails WCAG success criterion 2.4.6 (headings and labels).
    +
    + There is no user interface that allows the keyboard focus indicator to be visible. This fails WCAG success criterion 2.4.7 (focus visible).

    + External links do not signal that they will open in a new tab, so people using a screen reader do not know that the page content is changing. This fails WCAG success criterion 4.1.3 (status changes)
    +
    + We plan to address these issues soon. +

    +

    Content that’s not within the scope of accessibility regulations

    +

    + PDFs and other documents - The accessibility regulations do not require us to fix PDFs or other documents delivered by email. We plan to meet accessibility standards with all new PDFs or Word documents we will share. +

    +

    What we’re doing to improve accessibility

    +

    + We have been testing our website with users with a variety of accessibility needs. We intend to fix the non-accessible content listed above. We keep testing our website to understand where we are non-compliant with accessibility standards. Any non-compliant components will be raised in our roadmap and improved in the coming months. +

    +

    Preparation of this accessibility statement

    +

    + This statement was prepared in October 2023. It was last reviewed in April 2025.
    + This website was last tested in March 2025 against the WCAG 2.2 AA standard.
    + The test was carried out by UK Health Security Agency. The most viewed pages were tested using automated testing tools by our website team. A further audit of the website was carried out to the WCAG 2.2 AA standard. +

    +
    +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/ReportAnOutbreak/cookies.html b/runner/src/server/views/ReportAnOutbreak/cookies.html new file mode 100644 index 0000000000..a62af585cc --- /dev/null +++ b/runner/src/server/views/ReportAnOutbreak/cookies.html @@ -0,0 +1,114 @@ +{% extends 'layout.html' %} +{% from "radios/macro.njk" import govukRadios %} +{% from "button/macro.njk" import govukButton %} + +{% block content %} +
    +
    +

    Cookies on {{ name }}

    +

    Cookies are files saved on your phone, tablet or computer when you visit a website.

    +

    We use cookies to remember information you've entered when applying to prove your eligibility.

    + +

    Strictly necessary cookies

    +

    Your progress when using this service

    +

    When you use this service, we’ll set a cookie to remember your progress through the forms. These cookies do not store your personal data and are deleted once you’ve completed the transaction.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    cookies_policySaves your cookie consent settingsWhen you close your browser
    sessionSet to remember information you’ve entered into a formWhen you close your browser
    crumbHelps us to prevent cross site scripting attacksWhen you close your browser
    auth_tokenSet to keep you authenticated on the serviceWhen you close your browser
    magicLinkRetrySet to aid initial authenticationWhen you close your browser
    + + {% if gtmId1 or gtmId2 %} +
    + +

    Cookies that measure website use

    +

    Measuring website usage (Google Analytics)

    +

    We use Google Analytics to measure how you use the website so we can improve it based on user needs. We do not allow Google to use or share the data about how you use this site.

    +

    Google Analytics sets cookies that store anonymised information about:

    +
      +
    • how you got to the site
    • +
    • the pages you visit within this service, GOV.UK and other government digital services, and how long you spend on each page
    • +
    • what you click on while you are visiting the site
    • +
    + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    _gaUsed to distinguish users2 years
    _ga_[id]used to persist session state2 years
    + {{ govukRadios({ + name: "cookies", + items: [ + { + value: "accept", + text: "Use cookies that measure my website use" + }, + { + value: "reject", + text: "Do not use cookies that measure my website use" + } + ], + value: analytics + }) }} + {% endif %} + + {% if matomoUrl and matomoId %} +

    Cookies that measure website use

    +

    Measuring website usage (Matomo)

    +

    We use Matomo Analytics software to collect non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request.

    +

    We do this to better understand how applicants for overseas loans use the website. From time to time, the Foreign and Commonwealth Office may release non-personally-identifying information in the aggregate, eg, by publishing a report on trends in the usage of its website.

    +

    We don't use any cookies to do this.

    + {% endif %} + {% if gtmId1 or gtmId2 %} + {{ govukButton({ attributes: { id: "submit" }, text: "Save changes" }) }} +
    + {% endif %} +
    +
    +{% endblock %} diff --git a/runner/src/server/views/ReportAnOutbreak/privacy.html b/runner/src/server/views/ReportAnOutbreak/privacy.html new file mode 100644 index 0000000000..56955d9666 --- /dev/null +++ b/runner/src/server/views/ReportAnOutbreak/privacy.html @@ -0,0 +1,178 @@ +{% extends "layout.html" %} + +{% block pageTitle %} + {{ name }} Privacy Notice +{% endblock %} + +{% block content %} +
    +
    +
    +

    Privacy notice for {{ name }}

    +

    About UKHSA

    +

    + On 1 October 2021, the UK Health Security Agency (UKHSA) came into being. An executive agency of the Department of Health and Social Care (DHSC), UKHSA combines many of the health protection activities previously undertaken by Public Health England (PHE), together with all of the activities of the NHS Test and Trace Programme and the Joint Biosecurity Centre (JBC). +

    + The processing activities previously undertaken by these organisations and their associated data processors have not changed with the establishment of UKHSA. Individual rights are not affected by this change. +

    + We are responsible for planning, preventing and responding to external health threats, and providing intellectual, scientific and operational leadership at national and local level, as well as internationally. UKHSA will ensure the nation can respond quickly and at greater scale to deal with pandemics and future threats. +

    + We collect and use personal information to fulfil our remit from the government. +

    +

    + UKHSA’s responsibilities include providing the Report an outbreak service. Read about UKHSA’s responsibilities in the UKHSA strategic plan 2023 to 2026 (opens in new tab). +

    + The 'Report an outbreak' service enables Adult Social Care (ASC) providers to report outbreaks of acute respiratory infection (ARI) like flu or COVID-19. It automates the outbreak risk assessment process and provides immediate relevant outbreak management advice to the setting via email. +

    + This privacy notice explains what personal information we collect, use and may share for Report an outbreak. It explains what your rights are if we hold your personal information, and how you can find out more or raise a concern. +

    + DHSC is the data controller for the personal information we collect, store and use to fulfil our remit. +

    +

    The information we collect

    +

    + During an outbreak, the local health protection team needs to collect personal information so they can quickly provide the care setting with relevant outbreak management advice. +

    + The personal information we collect and use includes the reporter’s (and an optional additional contact person’s): +

    +

    +

      +
    • full name
    • +
    • job title
    • +
    • work address
    • +
    • telephone number
    • +
    • email address
    • +
    • computer IP address
    • +
    +

    +

    How we collect your information

    +

    + This personal information comes from the person in the ASC setting that reports the outbreak. +

    + +

    The purposes we use your information for

    +

    + We triage and interpret outbreak reports to prioritise and minimise the impact of outbreaks. +

    + We use your information to contact you to provide advice and support to help you manage your outbreak. +

    + We work with local authority health protection teams to make sure the local advice and support you receive is coordinated. +

    + +

    How we protect your information

    +

    + The personal information used by Report an outbreak is protected in a number of ways. +

    + It is stored on computer systems that have been tested to make sure they are secure and which are kept up to date to protect them from viruses and hacking. Where we share your personal information with other organisations, we only ever do so using secure computer systems or encrypted email. +

    + Your information used by us can only be seen by staff who have been specifically trained to protect your privacy. Strong controls are in place to make sure all these staff can only see the minimum amount of personal information they need to do their job. +

    + Whenever possible, we only use your information in a form that does not directly identify you. +

    + No information that could identify individual people is ever published by UKHSA. +

    +

    Where we store your information

    +

    + All personal information used by Report an Outbreak is held in the UK only. +

    +

    Who we share your information with

    +

    + We may share your personal information with other organisations to support the service. If we do share your personal information, we only do so where the law allows and we only share the minimum necessary amount of information. +

    +

    With local authorities

    +

    + Local authorities and mayoral and combined local authorities have responsibilities for protecting the health of their residents. We share information from Report an outbreak with your local authority to enable a coordinated local outbreak management response. You can find privacy information about the data your local authority collects and uses to prevent and control the spread of acute respiratory infections on its website. +

    +

    How long we keep your information

    +

    + We will only keep your personal information for as long as we need it to protect public health or as otherwise required by law. +

    + Most of the time, we will keep your information in accordance with the time periods specified in the Records Management Code of Practice for Health and Social Care 2021 (opens in new tab). For example, the Code sets out an 8-year retention period for general medical records. +

    + As one of our purposes for collecting personal information is to recognise trends, we may need to keep your information for longer. +

    + The personal information used by Report an outbreak is kept for 20 years. +

    + The information needs to be kept for this long so we can monitor outbreak reporting and control measures over a sufficient time period. +

    +

    Your rights over your information

    +

    + Under data protection law, you have a number of rights over your personal information. You have the right to: +

    +

    +

      +
    • ask for a copy of any information we hold about you
    • +
    • ask for any information we hold about you that you think is inaccurate to be changed
    • +
    • ask us to restrict our use of your information, for example, where you think the information we are using is inaccurate
    • +
    • object to us using any information we hold about you, although this is not an absolute right and we may need to continue to use your information – we will tell you why if this is the case
    • +
    • delete any information we hold about you, although this is not an absolute right and we may need to continue to use your information – we will tell you why if this is the case
    • +
    • ask us not to use your information to make automated decisions about you without the involvement of one of our staff
    • +
    +

    +

    + You can exercise any of these rights by contacting UKHSA at: +

    +
    + Information Rights Team
    + UKHSA
    + 5th Floor, 10 South Colonnade
    + London
    + E14 4PU
    + United Kingdom
    + Email: InformationRights@UKHSA.gov.uk +
    + +

    + You will be asked to provide proof of your identity so that we can be sure we only provide you with your information. +

    + +

    Our legal basis to use your information

    +

    + The law on protecting personal information, known as the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018 (DPA), allows UKHSA to use the personal information collected by Report an outbreak. +

    +

    + The sections of the UK GDPR and the DPA that apply where we use personal information for Report an outbreak are: +

    +

    +

      +
    • UK GDPR Article 6(1)(e) ‘processing is necessary for the performance of a task carried out in the public interest’
    • +
    • UK GDPR Article 9(2)(i) ‘processing is necessary for reasons of public interest in the area of public health’
    • +
    • Data Protection Act 2018 Schedule 1 Part 1 (3) ‘public health’
    • +
    +

    +

    How to find out more or raise a concern

    +

    + If you would like to find out more about Report an outbreak, you can contact us at enquiries@ukhsa.gov.uk. +

    + If you have any concerns about how personal information is used and protected by UKHSA, you can contact the Department of Health and Social Care’s Data Protection Officer at data_protection@dhsc.gov.uk or by writing to: +

    +
    + Office of the Data Protection Officer
    + Department of Health and Social Care
    + 1st Floor North
    + 39 Victoria Street
    + London
    + SW1H 0EU
    +
    +

    + You also have the right to contact the Information Commissioner’s Office (opens in new tab) if you have any concerns about how Public Health England uses and protects any personal information it holds about you. You can do so by calling the ICO’s helpline on 0303 123 1113, visiting the ICO’s website at ico.org.uk (opens in new tab) or by writing to: +

    +
    + Customer Contact
    + Information Commissioner's Office
    + Wycliffe House
    + Water Lane
    + Wilmslow
    + SK9 5AF
    +
    +

    About this privacy information

    +

    + The personal information we collect and use may change so we may need to revise this notice. If we do, the publication date will change. +

    + Published April 2025. +

    + For more information, see the UKHSA privacy notice (opens in new tab) +

    +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/checkpoint-summary.html b/runner/src/server/views/checkpoint-summary.html new file mode 100644 index 0000000000..d73febb786 --- /dev/null +++ b/runner/src/server/views/checkpoint-summary.html @@ -0,0 +1,62 @@ +{% from "partials/summary-detail.html" import summaryDetail %} + +{% from "components/checkboxes/macro.njk" import govukCheckboxes %} +{% from "summary-list/macro.njk" import govukSummaryList %} +{% extends 'layout.html' %} + +{% block content %} + {% include "partials/heading.html" %} + + {% if customText.insetText %} +
    + {{ customText.insetText | safe }} +
    + {% endif %} + +
    +
    + + {% for list in summaryLists %} +
    +
    +

    + {{list.sectionTitle}} +

    +
    +
    + {{ govukSummaryList(list) }} +
    +
    + + {% endfor %} + + + + {% if customText.details %} +

    + {{ customText.details | safe }} +

    + {% endif %} + + {% if page.hasNext %} +
    + +
    + + + {% else %} + +
    + +
    + {% endif %} + + +
    + +
    +{% endblock %} \ No newline at end of file diff --git a/runner/src/server/views/confirmation.html b/runner/src/server/views/confirmation.html index c9eb837176..5fad12fe0c 100644 --- a/runner/src/server/views/confirmation.html +++ b/runner/src/server/views/confirmation.html @@ -14,49 +14,66 @@ {% endblock %} {% block content %} -
    - {% set tmpl = 'Your reference number
    ' + reference + '' if reference else '' %} - {% if not customText %} - {{ govukPanel({ - titleText: "Application complete", - html: tmpl - }) }} - {% if paymentSkipped %} -

    - Someone will be in touch to make a payment. -

    - {% else %} -

    - You will receive an email with details with the next steps. -

    - {% endif %} - {% if components.length > 0 %} -

    What happens next

    + {% set tmpl = 'Your reference number
    ' + reference + '' if reference else '' %} + {% if reference %} +

    Your reference number is: {{ reference }}

    + {% endif %} + {% if not customText.hidePanel %} + {% if not customText %} + {{ govukPanel({ + titleText: "Application complete", + html: tmpl + }) }} + {% else %} + {{ govukPanel({ + titleText: customText.title, + html: tmpl + }) }} + {% endif %} {% endif %} - {% else %} - {{ govukPanel({ - titleText: customText.title, - html: tmpl - }) }} - {% if paymentSkipped and customText.paymentSkipped %} -

    - {{ customText.paymentSkipped | safe }} -

    + + + {% if not customText %} + {% if paymentSkipped %} +

    + Someone will be in touch to make a payment. +

    + {% else %} +

    + You will receive an email with details with the next steps. +

    + {% endif %} {% else %} - {% if customText.nextSteps %} + {% if paymentSkipped and customText.paymentSkipped %}

    - {{ customText.nextSteps | safe }} + {{ customText.paymentSkipped | safe }}

    + {% else %} + {% if reference and not useNormalHeading %} +

    + {{ customText.referenceTitle }} +

    +

    + Your reference number is: {{ reference }}. + {{ customText.referenceContent }} +

    + {% endif %} + + {% if customText.nextSteps %} +

    + {{ customText.nextSteps | safe }} +

    + {% endif %} {% endif %} {% endif %} + {% if components.length > 0 %}

    What happens next

    {% endif %} - {% endif %} - - {{ componentList(components) }} + + {{ componentList(components) }}
    -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/runner/src/server/views/csrf-protection.html b/runner/src/server/views/csrf-protection.html new file mode 100755 index 0000000000..b2c31e973a --- /dev/null +++ b/runner/src/server/views/csrf-protection.html @@ -0,0 +1,16 @@ +{% extends 'layout.html' %} + +{% block content %} +
    +
    +
    +
    +

    Something unexpected happened

    +

    In order to ensure the data you've inputted into the system is protected, please re-enter the form where you left off.


    + + Back to start +
    +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/custom-summary.html b/runner/src/server/views/custom-summary.html new file mode 100644 index 0000000000..847ccef54e --- /dev/null +++ b/runner/src/server/views/custom-summary.html @@ -0,0 +1,159 @@ +{% from "components/checkboxes/macro.njk" import govukCheckboxes %} +{% from "summary-list/macro.njk" import govukSummaryList %} +{% extends 'layout.html' %} + +{% block content %} +
    +
    +
    +

    + {% if callback and callback.title %} + {{ callback.title }} + {% else %} + {{ pageTitle }} + {% endif %} +

    + + {% if callback and callback.message %} +
    + {{ callback.message }} +
    + {% endif %} + + {% if customText.insetText %} +
    + {{ customText.insetText | safe }} +
    + {% endif %} + + {% if callback and callback.htmlMessage %} + {{ callback.htmlMessage | safe }} + {% endif %} + + {% for detail in details %} +
    +

    {{ detail.title }}

    +
    + {% set rows = [] %} + {% for item in detail.items %} + {% set changeUrl = item.url %} + {% if not item.immutable %} + {% set actions = [{ + text: "Change", + href: changeUrl, + visuallyHiddenText: item.label + }] %} + {% else %} + {% set actions = [] %} + {% endif %} + + {% set rows = (rows.push({ + key: { + text: item.label + }, + value: { + text: item.value + }, + actions: { + items: actions + } + }), rows) %} + {% endfor %} + + {{ govukSummaryList({ + rows: rows + }) }} +
    +
    + {% endfor %} + + {% for list in summaryLists %} +
    +

    + {{list.sectionTitle}} +

    +
    + {{ govukSummaryList(list) }} +
    +
    + {% endfor %} + + {% if fees and fees.details|length %} +

    Fees

    +
      + {% for fee in fees.details %} +
    • {{ fee.description }}: £{{fee.amount / 100}}
    • + {% endfor %} +
    +

    Total cost: £{{fees.total / 100 }}

    +

    You should not be charged an exchange fee if you pay with a UK credit or debit card.

    + {% endif %} + + {% if customText.endContent %} + {{ customText.endContent | safe }} + {% endif %} + + {% if not result.error %} + + + + {%if declaration %} +

    Declaration

    + {{ declaration | safe }} +
    + {% if declarationError %} + + Error: {{declarationError}} + + {% endif %} +
    +
    + + +
    +
    +
    + {% endif %} + + + + {% if showPaymentSkippedWarningPage %} +
    + +
    + {% endif %} + + + {% endif %} +
    +
    +
    + + + +{% endblock %} diff --git a/runner/src/server/views/kls-enquiries/accessibility-statement.html b/runner/src/server/views/kls-enquiries/accessibility-statement.html new file mode 100644 index 0000000000..85c0f1c644 --- /dev/null +++ b/runner/src/server/views/kls-enquiries/accessibility-statement.html @@ -0,0 +1,97 @@ +{% extends 'layout.html' %} + +{% block pageTitle %} + {{ name }} - Accessibility Statement +{% endblock %} + +{% block content %} +
    +
    +
    +

    Accessibility statement for ‘Contact the UKHSA Knowledge and Library Services’

    +

    + This accessibility statement applies to the UKHSA Knowledge and Library Services enquiry form websites: +

    +
      +
    • KLS enquiry form: https://forms.ukhsa.gov.uk/kls-enquiries (opens in new tab)
    • +
    • KLS Training enquiry form: https://forms.ukhsa.gov.uk/kls-training-request (opens in new tab)
    • +

      + This website is run by UK Health Security Agency (UKHSA). We want as many people as possible to be able to use this website. For example, that means you should be able to: +

      +

      +

        +
      • change colours, contrast levels and fonts using browser or device settings
      • +
      • zoom in up to 400% without the text spilling off the screen
      • +
      • navigate most of the website using a keyboard or speech recognition software
      • +
      • listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)
      • +
      +

      +

      + We’ve also made the website text as simple as possible to understand. +
      + AbilityNet (opens in new tab) has advice on making your device easier to use if you have a disability. +

      +

      How accessible this website is

      +

      + We know some parts of this website are not fully accessible: + +

        +
      • Narrator does not read out error messages in full automatically without user selection
      • +
      • you cannot modify the line height or spacing of text
      • +
      • you cannot autocomplete some form fields with assistive technology
      • +
      • you cannot select an item listed in dropdown list using input means including the ENTER, TAB and Spacebar keys
      • +
      +

      +

      Feedback and contact information

      +

      + If you find any problems not listed on this page or believe we're not meeting accessibility requirements, email ukhsa_techbp_product@ukhsa.gov.uk +
      +

      +

      + If you have difficulty using the website to make an enquiry to the KLS team, you should email libraries@kls.ukhsa.gov.uk. +

      +

      Enforcement procedure

      +

      + + The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility regulations’). If you’re not happy with how we respond to your complaint, contact the Equality Advisory and Support Service (EASS) (opens in new tab). +

      +

      Technical information about this website’s accessibility

      +

      + UK Health Security Agency (UKHSA) is committed to making its website accessible, in accordance with the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018. +

      +

      Compliance status

      +

      + This website is partially compliant with the Web Content Accessibility Guidelines version 2.2 (opens in new tab) AA standard, due to the non-compliances and exemptions listed below +

      +

      Non-accessible content

      +

      + The content listed below is non-accessible for the following reasons.  +

      +

      Non-compliance with the accessibility regulations

      +

      + This website is undergoing a second round of testing against Web Content Accessibility Guidelines version 2.2. There are several guidelines not yet fully adhered to including: +

        +
      • 3.3.3 - Error Suggestion - Error message not fully read out by Narrator
      • +
      • 1.3.5 - Identify Input Purpose - Some form control fields do not use fine-grained autocomplete attribute definition techniques required for assistive technology users
      • +
      • 2.1.1 - Keyboard Accessibility - Cannot select dropdown item with Narrator focused on it
      • +
      + We plan to address these issues soon. +

      +

      Content that’s not within the scope of accessibility regulations

      +

      + PDFs and other documents - The accessibility regulations do not require us to fix PDFs or other documents delivered by email. We plan to meet accessibility standards with all new PDFs or Word documents we will share. +

      +

      What we’re doing to improve accessibility

      +

      + We have been testing our website with users with a variety of accessibility needs. We intend to fix the non-accessible content listed above. We keep testing our website to understand where we are non-compliant with accessibility standards. Any non-compliant components will be raised in our roadmap and improved in the coming months. +

      +

      Preparation of this accessibility statement

      +

      + This statement was prepared in July 2025.
      + This website was last tested in July 2025 against the WCAG 2.2 AA standard.
      + The test was carried out by UK Health Security Agency. The most viewed pages were tested using automated testing tools by our website team. A further audit of the website was carried out to the WCAG 2.2 AA standard. +

      +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-enquiries/cookies.html b/runner/src/server/views/kls-enquiries/cookies.html new file mode 100644 index 0000000000..a62af585cc --- /dev/null +++ b/runner/src/server/views/kls-enquiries/cookies.html @@ -0,0 +1,114 @@ +{% extends 'layout.html' %} +{% from "radios/macro.njk" import govukRadios %} +{% from "button/macro.njk" import govukButton %} + +{% block content %} +
    +
    +

    Cookies on {{ name }}

    +

    Cookies are files saved on your phone, tablet or computer when you visit a website.

    +

    We use cookies to remember information you've entered when applying to prove your eligibility.

    + +

    Strictly necessary cookies

    +

    Your progress when using this service

    +

    When you use this service, we’ll set a cookie to remember your progress through the forms. These cookies do not store your personal data and are deleted once you’ve completed the transaction.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    cookies_policySaves your cookie consent settingsWhen you close your browser
    sessionSet to remember information you’ve entered into a formWhen you close your browser
    crumbHelps us to prevent cross site scripting attacksWhen you close your browser
    auth_tokenSet to keep you authenticated on the serviceWhen you close your browser
    magicLinkRetrySet to aid initial authenticationWhen you close your browser
    + + {% if gtmId1 or gtmId2 %} +
    + +

    Cookies that measure website use

    +

    Measuring website usage (Google Analytics)

    +

    We use Google Analytics to measure how you use the website so we can improve it based on user needs. We do not allow Google to use or share the data about how you use this site.

    +

    Google Analytics sets cookies that store anonymised information about:

    +
      +
    • how you got to the site
    • +
    • the pages you visit within this service, GOV.UK and other government digital services, and how long you spend on each page
    • +
    • what you click on while you are visiting the site
    • +
    + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    _gaUsed to distinguish users2 years
    _ga_[id]used to persist session state2 years
    + {{ govukRadios({ + name: "cookies", + items: [ + { + value: "accept", + text: "Use cookies that measure my website use" + }, + { + value: "reject", + text: "Do not use cookies that measure my website use" + } + ], + value: analytics + }) }} + {% endif %} + + {% if matomoUrl and matomoId %} +

    Cookies that measure website use

    +

    Measuring website usage (Matomo)

    +

    We use Matomo Analytics software to collect non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request.

    +

    We do this to better understand how applicants for overseas loans use the website. From time to time, the Foreign and Commonwealth Office may release non-personally-identifying information in the aggregate, eg, by publishing a report on trends in the usage of its website.

    +

    We don't use any cookies to do this.

    + {% endif %} + {% if gtmId1 or gtmId2 %} + {{ govukButton({ attributes: { id: "submit" }, text: "Save changes" }) }} +
    + {% endif %} +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-enquiries/privacy.html b/runner/src/server/views/kls-enquiries/privacy.html new file mode 100644 index 0000000000..1b718a68f6 --- /dev/null +++ b/runner/src/server/views/kls-enquiries/privacy.html @@ -0,0 +1,166 @@ +{% extends "layout.html" %} + +{% block pageTitle %} + {{ name }} Privacy Notice +{% endblock %} + +{% block content %} +
    +
    +
    +

    Privacy Notice for ‘Contact the UKHSA Knowledge and Library Services’

    +

    About UKHSA

    +

    + On 1 October 2021, the UK Health Security Agency (UKHSA) was established as an executive agency of the Department of Health and Social Care (DHSC). UKHSA brings together many of the health protection functions previously undertaken by Public Health England (PHE), the NHS Test and Trace Programme, and the Joint Biosecurity Centre (JBC). +

    + Our responsibilities include preparing for, preventing, and responding to external health threats. We provide scientific, operational, and strategic leadership nationally and internationally. +

    + UKHSA’s remit (opens in new tab) includes Knowledge and Library Services (KLS). KLS supports evidence-based decision-making across public health and healthcare by providing access to expert literature searching, current awareness, training, evidence briefings and other services. +

    + This privacy notice explains what personal information we collect through our Contact Us form, how we use and protect it, and what your rights are. +

    +

    The information we collect

    +

    + We collect the following personal information to help us respond to your enquiry and provide the requested service: +

    +

    +

      +
    • full name
    • +
    • job title
    • +
    • work address
    • +
    • location
    • +
    • email address
    • +
    • IP address
    • +
    • your enquiry details (including any information you provide in your request)
    • +
    +

    +

    How we collect your information

    +

    + This information is provided directly by you when you complete and submit the Contact Us form for KLS. +

    + +

    The purposes we use your information for

    +

    + We collect this information so we can respond to your enquiry, support your request, and help us monitor and improve our services. +

    +

      +
    • literature searches
    • +
    • evidence briefings
    • +
    • systematic reviews
    • +
    • current awareness alerts
    • +
    • bespoke training requests (e.g., information skills, EndNote, critical appraisal)
    • +
    • general enquiries
    • +
    +

    + +

    How we protect your information

    +

    + We have put in place a range of organisational processes and technical security measures to protect your personal information from loss, misuse and unauthorised access, disclosure, alteration and destruction. +

    + Your personal information can only be seen by staff who have been trained to protect your confidentiality and understand laws and regulations such as the Data Protection Act 2018 and the UK GDPR. +

    + Strict controls are in place to ensure that staff can only access your information if they need it to do their job, and they are only provided with access to the minimum necessary information. Where we share information with other organisations, we take appropriate measures to ensure this is used lawfully and protected. +

    + Whenever possible, we only use your information in a form that does not directly identify you. For example, we may pseudonymise identifying details or substitute your date of birth with your age to help protect your confidentiality. +

    + No information that could identify you will ever be published by us. +

    +

    Where we store your information

    +

    + All personal information used by the UKHSA Knowledge and Library Services is held in the UK only. +

    +

    Who we share your information with

    +

    + We do not routinely share your personal information with external organisations. In limited circumstances, we may share it with other parts of UKHSA or with approved partners if this is required to respond to your enquiry or improve the service, and only where the law allows us to do so. +

    +

    + We always ensure that the minimum necessary amount of personal information is shared, and that appropriate safeguards are in place. +

    +

    How long we keep your information

    +

    + We will only retain your personal information for as long as necessary to respond to your request or enquiry, and in accordance with the Records Management Code of Practice for Health and Social Care 2021. . +

    +

    Your rights over your information

    +

    + Under data protection law, you have a number of rights over your personal information. You have the right to: +

    +

    +

      +
    • ask for a copy of any information we hold about you
    • +
    • ask for any inaccurate information we hold about you to be corrected
    • +
    • ask us to restrict our use of your information, for example, if you think it's inaccurate
    • +
    • object to us using your information (although we may need to continue using it – if so, we will explain why)
    • +
    • ask us to delete your information (this is not an absolute right, and we will explain if we need to retain it)
    • +
    • ask us not to make automated decisions about you without human involvement
    • +
    +

    +

    + You can exercise these rights by contacting us at: +

    + +

    + Alternatively, you can exercise any of these rights by contacting UKHSA at: +

    +
    + Information Rights Team
    + UKHSA
    + 5th Floor, 10 South Colonnade
    + London
    + E14 4PU
    + United Kingdom
    + Email: InformationRights@UKHSA.gov.uk
    +
    + +

    + You will be asked to provide proof of your identity so that we can be sure we only provide you with your information. +

    + +

    Our legal basis to use your information

    +

    + UKHSA is allowed to collect and use personal data under the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018. The legal bases we rely on are: +

    +

    +

      +
    • UK GDPR Article 6(1)(e) – processing is necessary for the performance of a task carried out in the public interest
    • +
    • UK GDPR Article 9(2)(i) – processing is necessary for reasons of public interest in the area of public health
    • +
    • Data Protection Act 2018 Schedule 1, Part 1 (3) – public health
    • +
    +

    +

    How to find out more or raise a concern

    +

    + If you have any questions about this privacy notice or how we use your personal information, you can contact us at libraries@kls.ukhsa.gov.uk. +

    + If you have any concerns about how personal information is used and protected by UKHSA, you can contact the Department of Health and Social Care’s Data Protection Officer at data_protection@dhsc.gov.uk or by writing to: +

    +
    + Office of the Data Protection Officer
    + Department of Health and Social Care
    + 39 Victoria Street
    + London
    + SW1H 0EU
    +
    +

    + You also have the right to contact the Information Commissioner’s Office (opens in new tab) if you have any concerns about how Public Health England uses and protects any personal information it holds about you. You can do so by calling the ICO’s helpline on 0303 123 1113, visiting the ICO’s website at ico.org.uk (opens in new tab) or by writing to: +

    +
    + Customer Contact
    + Information Commissioner's Office
    + Wycliffe House
    + Water Lane
    + Wilmslow
    + SK9 5AF
    +
    +

    About this privacy information

    +

    + This notice may be updated if the information we collect or the way we use it changes. The publication date will be updated accordingly. +

    + Published July 2025 +

    + For more information, see the UKHSA privacy notice (opens in new tab) +

    +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-magic-link/accessibility-statement.html b/runner/src/server/views/kls-magic-link/accessibility-statement.html new file mode 100644 index 0000000000..85c0f1c644 --- /dev/null +++ b/runner/src/server/views/kls-magic-link/accessibility-statement.html @@ -0,0 +1,97 @@ +{% extends 'layout.html' %} + +{% block pageTitle %} + {{ name }} - Accessibility Statement +{% endblock %} + +{% block content %} +
    +
    +
    +

    Accessibility statement for ‘Contact the UKHSA Knowledge and Library Services’

    +

    + This accessibility statement applies to the UKHSA Knowledge and Library Services enquiry form websites: +

    +
      +
    • KLS enquiry form: https://forms.ukhsa.gov.uk/kls-enquiries (opens in new tab)
    • +
    • KLS Training enquiry form: https://forms.ukhsa.gov.uk/kls-training-request (opens in new tab)
    • +

      + This website is run by UK Health Security Agency (UKHSA). We want as many people as possible to be able to use this website. For example, that means you should be able to: +

      +

      +

        +
      • change colours, contrast levels and fonts using browser or device settings
      • +
      • zoom in up to 400% without the text spilling off the screen
      • +
      • navigate most of the website using a keyboard or speech recognition software
      • +
      • listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)
      • +
      +

      +

      + We’ve also made the website text as simple as possible to understand. +
      + AbilityNet (opens in new tab) has advice on making your device easier to use if you have a disability. +

      +

      How accessible this website is

      +

      + We know some parts of this website are not fully accessible: + +

        +
      • Narrator does not read out error messages in full automatically without user selection
      • +
      • you cannot modify the line height or spacing of text
      • +
      • you cannot autocomplete some form fields with assistive technology
      • +
      • you cannot select an item listed in dropdown list using input means including the ENTER, TAB and Spacebar keys
      • +
      +

      +

      Feedback and contact information

      +

      + If you find any problems not listed on this page or believe we're not meeting accessibility requirements, email ukhsa_techbp_product@ukhsa.gov.uk +
      +

      +

      + If you have difficulty using the website to make an enquiry to the KLS team, you should email libraries@kls.ukhsa.gov.uk. +

      +

      Enforcement procedure

      +

      + + The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility regulations’). If you’re not happy with how we respond to your complaint, contact the Equality Advisory and Support Service (EASS) (opens in new tab). +

      +

      Technical information about this website’s accessibility

      +

      + UK Health Security Agency (UKHSA) is committed to making its website accessible, in accordance with the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018. +

      +

      Compliance status

      +

      + This website is partially compliant with the Web Content Accessibility Guidelines version 2.2 (opens in new tab) AA standard, due to the non-compliances and exemptions listed below +

      +

      Non-accessible content

      +

      + The content listed below is non-accessible for the following reasons.  +

      +

      Non-compliance with the accessibility regulations

      +

      + This website is undergoing a second round of testing against Web Content Accessibility Guidelines version 2.2. There are several guidelines not yet fully adhered to including: +

        +
      • 3.3.3 - Error Suggestion - Error message not fully read out by Narrator
      • +
      • 1.3.5 - Identify Input Purpose - Some form control fields do not use fine-grained autocomplete attribute definition techniques required for assistive technology users
      • +
      • 2.1.1 - Keyboard Accessibility - Cannot select dropdown item with Narrator focused on it
      • +
      + We plan to address these issues soon. +

      +

      Content that’s not within the scope of accessibility regulations

      +

      + PDFs and other documents - The accessibility regulations do not require us to fix PDFs or other documents delivered by email. We plan to meet accessibility standards with all new PDFs or Word documents we will share. +

      +

      What we’re doing to improve accessibility

      +

      + We have been testing our website with users with a variety of accessibility needs. We intend to fix the non-accessible content listed above. We keep testing our website to understand where we are non-compliant with accessibility standards. Any non-compliant components will be raised in our roadmap and improved in the coming months. +

      +

      Preparation of this accessibility statement

      +

      + This statement was prepared in July 2025.
      + This website was last tested in July 2025 against the WCAG 2.2 AA standard.
      + The test was carried out by UK Health Security Agency. The most viewed pages were tested using automated testing tools by our website team. A further audit of the website was carried out to the WCAG 2.2 AA standard. +

      +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-magic-link/cookies.html b/runner/src/server/views/kls-magic-link/cookies.html new file mode 100644 index 0000000000..a62af585cc --- /dev/null +++ b/runner/src/server/views/kls-magic-link/cookies.html @@ -0,0 +1,114 @@ +{% extends 'layout.html' %} +{% from "radios/macro.njk" import govukRadios %} +{% from "button/macro.njk" import govukButton %} + +{% block content %} +
    +
    +

    Cookies on {{ name }}

    +

    Cookies are files saved on your phone, tablet or computer when you visit a website.

    +

    We use cookies to remember information you've entered when applying to prove your eligibility.

    + +

    Strictly necessary cookies

    +

    Your progress when using this service

    +

    When you use this service, we’ll set a cookie to remember your progress through the forms. These cookies do not store your personal data and are deleted once you’ve completed the transaction.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    cookies_policySaves your cookie consent settingsWhen you close your browser
    sessionSet to remember information you’ve entered into a formWhen you close your browser
    crumbHelps us to prevent cross site scripting attacksWhen you close your browser
    auth_tokenSet to keep you authenticated on the serviceWhen you close your browser
    magicLinkRetrySet to aid initial authenticationWhen you close your browser
    + + {% if gtmId1 or gtmId2 %} +
    + +

    Cookies that measure website use

    +

    Measuring website usage (Google Analytics)

    +

    We use Google Analytics to measure how you use the website so we can improve it based on user needs. We do not allow Google to use or share the data about how you use this site.

    +

    Google Analytics sets cookies that store anonymised information about:

    +
      +
    • how you got to the site
    • +
    • the pages you visit within this service, GOV.UK and other government digital services, and how long you spend on each page
    • +
    • what you click on while you are visiting the site
    • +
    + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    _gaUsed to distinguish users2 years
    _ga_[id]used to persist session state2 years
    + {{ govukRadios({ + name: "cookies", + items: [ + { + value: "accept", + text: "Use cookies that measure my website use" + }, + { + value: "reject", + text: "Do not use cookies that measure my website use" + } + ], + value: analytics + }) }} + {% endif %} + + {% if matomoUrl and matomoId %} +

    Cookies that measure website use

    +

    Measuring website usage (Matomo)

    +

    We use Matomo Analytics software to collect non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request.

    +

    We do this to better understand how applicants for overseas loans use the website. From time to time, the Foreign and Commonwealth Office may release non-personally-identifying information in the aggregate, eg, by publishing a report on trends in the usage of its website.

    +

    We don't use any cookies to do this.

    + {% endif %} + {% if gtmId1 or gtmId2 %} + {{ govukButton({ attributes: { id: "submit" }, text: "Save changes" }) }} +
    + {% endif %} +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-magic-link/privacy.html b/runner/src/server/views/kls-magic-link/privacy.html new file mode 100644 index 0000000000..1b718a68f6 --- /dev/null +++ b/runner/src/server/views/kls-magic-link/privacy.html @@ -0,0 +1,166 @@ +{% extends "layout.html" %} + +{% block pageTitle %} + {{ name }} Privacy Notice +{% endblock %} + +{% block content %} +
    +
    +
    +

    Privacy Notice for ‘Contact the UKHSA Knowledge and Library Services’

    +

    About UKHSA

    +

    + On 1 October 2021, the UK Health Security Agency (UKHSA) was established as an executive agency of the Department of Health and Social Care (DHSC). UKHSA brings together many of the health protection functions previously undertaken by Public Health England (PHE), the NHS Test and Trace Programme, and the Joint Biosecurity Centre (JBC). +

    + Our responsibilities include preparing for, preventing, and responding to external health threats. We provide scientific, operational, and strategic leadership nationally and internationally. +

    + UKHSA’s remit (opens in new tab) includes Knowledge and Library Services (KLS). KLS supports evidence-based decision-making across public health and healthcare by providing access to expert literature searching, current awareness, training, evidence briefings and other services. +

    + This privacy notice explains what personal information we collect through our Contact Us form, how we use and protect it, and what your rights are. +

    +

    The information we collect

    +

    + We collect the following personal information to help us respond to your enquiry and provide the requested service: +

    +

    +

      +
    • full name
    • +
    • job title
    • +
    • work address
    • +
    • location
    • +
    • email address
    • +
    • IP address
    • +
    • your enquiry details (including any information you provide in your request)
    • +
    +

    +

    How we collect your information

    +

    + This information is provided directly by you when you complete and submit the Contact Us form for KLS. +

    + +

    The purposes we use your information for

    +

    + We collect this information so we can respond to your enquiry, support your request, and help us monitor and improve our services. +

    +

      +
    • literature searches
    • +
    • evidence briefings
    • +
    • systematic reviews
    • +
    • current awareness alerts
    • +
    • bespoke training requests (e.g., information skills, EndNote, critical appraisal)
    • +
    • general enquiries
    • +
    +

    + +

    How we protect your information

    +

    + We have put in place a range of organisational processes and technical security measures to protect your personal information from loss, misuse and unauthorised access, disclosure, alteration and destruction. +

    + Your personal information can only be seen by staff who have been trained to protect your confidentiality and understand laws and regulations such as the Data Protection Act 2018 and the UK GDPR. +

    + Strict controls are in place to ensure that staff can only access your information if they need it to do their job, and they are only provided with access to the minimum necessary information. Where we share information with other organisations, we take appropriate measures to ensure this is used lawfully and protected. +

    + Whenever possible, we only use your information in a form that does not directly identify you. For example, we may pseudonymise identifying details or substitute your date of birth with your age to help protect your confidentiality. +

    + No information that could identify you will ever be published by us. +

    +

    Where we store your information

    +

    + All personal information used by the UKHSA Knowledge and Library Services is held in the UK only. +

    +

    Who we share your information with

    +

    + We do not routinely share your personal information with external organisations. In limited circumstances, we may share it with other parts of UKHSA or with approved partners if this is required to respond to your enquiry or improve the service, and only where the law allows us to do so. +

    +

    + We always ensure that the minimum necessary amount of personal information is shared, and that appropriate safeguards are in place. +

    +

    How long we keep your information

    +

    + We will only retain your personal information for as long as necessary to respond to your request or enquiry, and in accordance with the Records Management Code of Practice for Health and Social Care 2021. . +

    +

    Your rights over your information

    +

    + Under data protection law, you have a number of rights over your personal information. You have the right to: +

    +

    +

      +
    • ask for a copy of any information we hold about you
    • +
    • ask for any inaccurate information we hold about you to be corrected
    • +
    • ask us to restrict our use of your information, for example, if you think it's inaccurate
    • +
    • object to us using your information (although we may need to continue using it – if so, we will explain why)
    • +
    • ask us to delete your information (this is not an absolute right, and we will explain if we need to retain it)
    • +
    • ask us not to make automated decisions about you without human involvement
    • +
    +

    +

    + You can exercise these rights by contacting us at: +

    + +

    + Alternatively, you can exercise any of these rights by contacting UKHSA at: +

    +
    + Information Rights Team
    + UKHSA
    + 5th Floor, 10 South Colonnade
    + London
    + E14 4PU
    + United Kingdom
    + Email: InformationRights@UKHSA.gov.uk
    +
    + +

    + You will be asked to provide proof of your identity so that we can be sure we only provide you with your information. +

    + +

    Our legal basis to use your information

    +

    + UKHSA is allowed to collect and use personal data under the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018. The legal bases we rely on are: +

    +

    +

      +
    • UK GDPR Article 6(1)(e) – processing is necessary for the performance of a task carried out in the public interest
    • +
    • UK GDPR Article 9(2)(i) – processing is necessary for reasons of public interest in the area of public health
    • +
    • Data Protection Act 2018 Schedule 1, Part 1 (3) – public health
    • +
    +

    +

    How to find out more or raise a concern

    +

    + If you have any questions about this privacy notice or how we use your personal information, you can contact us at libraries@kls.ukhsa.gov.uk. +

    + If you have any concerns about how personal information is used and protected by UKHSA, you can contact the Department of Health and Social Care’s Data Protection Officer at data_protection@dhsc.gov.uk or by writing to: +

    +
    + Office of the Data Protection Officer
    + Department of Health and Social Care
    + 39 Victoria Street
    + London
    + SW1H 0EU
    +
    +

    + You also have the right to contact the Information Commissioner’s Office (opens in new tab) if you have any concerns about how Public Health England uses and protects any personal information it holds about you. You can do so by calling the ICO’s helpline on 0303 123 1113, visiting the ICO’s website at ico.org.uk (opens in new tab) or by writing to: +

    +
    + Customer Contact
    + Information Commissioner's Office
    + Wycliffe House
    + Water Lane
    + Wilmslow
    + SK9 5AF
    +
    +

    About this privacy information

    +

    + This notice may be updated if the information we collect or the way we use it changes. The publication date will be updated accordingly. +

    + Published July 2025 +

    + For more information, see the UKHSA privacy notice (opens in new tab) +

    +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-training-magic-link/accessibility-statement.html b/runner/src/server/views/kls-training-magic-link/accessibility-statement.html new file mode 100644 index 0000000000..85c0f1c644 --- /dev/null +++ b/runner/src/server/views/kls-training-magic-link/accessibility-statement.html @@ -0,0 +1,97 @@ +{% extends 'layout.html' %} + +{% block pageTitle %} + {{ name }} - Accessibility Statement +{% endblock %} + +{% block content %} +
    +
    +
    +

    Accessibility statement for ‘Contact the UKHSA Knowledge and Library Services’

    +

    + This accessibility statement applies to the UKHSA Knowledge and Library Services enquiry form websites: +

    +
      +
    • KLS enquiry form: https://forms.ukhsa.gov.uk/kls-enquiries (opens in new tab)
    • +
    • KLS Training enquiry form: https://forms.ukhsa.gov.uk/kls-training-request (opens in new tab)
    • +

      + This website is run by UK Health Security Agency (UKHSA). We want as many people as possible to be able to use this website. For example, that means you should be able to: +

      +

      +

        +
      • change colours, contrast levels and fonts using browser or device settings
      • +
      • zoom in up to 400% without the text spilling off the screen
      • +
      • navigate most of the website using a keyboard or speech recognition software
      • +
      • listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)
      • +
      +

      +

      + We’ve also made the website text as simple as possible to understand. +
      + AbilityNet (opens in new tab) has advice on making your device easier to use if you have a disability. +

      +

      How accessible this website is

      +

      + We know some parts of this website are not fully accessible: + +

        +
      • Narrator does not read out error messages in full automatically without user selection
      • +
      • you cannot modify the line height or spacing of text
      • +
      • you cannot autocomplete some form fields with assistive technology
      • +
      • you cannot select an item listed in dropdown list using input means including the ENTER, TAB and Spacebar keys
      • +
      +

      +

      Feedback and contact information

      +

      + If you find any problems not listed on this page or believe we're not meeting accessibility requirements, email ukhsa_techbp_product@ukhsa.gov.uk +
      +

      +

      + If you have difficulty using the website to make an enquiry to the KLS team, you should email libraries@kls.ukhsa.gov.uk. +

      +

      Enforcement procedure

      +

      + + The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility regulations’). If you’re not happy with how we respond to your complaint, contact the Equality Advisory and Support Service (EASS) (opens in new tab). +

      +

      Technical information about this website’s accessibility

      +

      + UK Health Security Agency (UKHSA) is committed to making its website accessible, in accordance with the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018. +

      +

      Compliance status

      +

      + This website is partially compliant with the Web Content Accessibility Guidelines version 2.2 (opens in new tab) AA standard, due to the non-compliances and exemptions listed below +

      +

      Non-accessible content

      +

      + The content listed below is non-accessible for the following reasons.  +

      +

      Non-compliance with the accessibility regulations

      +

      + This website is undergoing a second round of testing against Web Content Accessibility Guidelines version 2.2. There are several guidelines not yet fully adhered to including: +

        +
      • 3.3.3 - Error Suggestion - Error message not fully read out by Narrator
      • +
      • 1.3.5 - Identify Input Purpose - Some form control fields do not use fine-grained autocomplete attribute definition techniques required for assistive technology users
      • +
      • 2.1.1 - Keyboard Accessibility - Cannot select dropdown item with Narrator focused on it
      • +
      + We plan to address these issues soon. +

      +

      Content that’s not within the scope of accessibility regulations

      +

      + PDFs and other documents - The accessibility regulations do not require us to fix PDFs or other documents delivered by email. We plan to meet accessibility standards with all new PDFs or Word documents we will share. +

      +

      What we’re doing to improve accessibility

      +

      + We have been testing our website with users with a variety of accessibility needs. We intend to fix the non-accessible content listed above. We keep testing our website to understand where we are non-compliant with accessibility standards. Any non-compliant components will be raised in our roadmap and improved in the coming months. +

      +

      Preparation of this accessibility statement

      +

      + This statement was prepared in July 2025.
      + This website was last tested in July 2025 against the WCAG 2.2 AA standard.
      + The test was carried out by UK Health Security Agency. The most viewed pages were tested using automated testing tools by our website team. A further audit of the website was carried out to the WCAG 2.2 AA standard. +

      +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-training-magic-link/cookies.html b/runner/src/server/views/kls-training-magic-link/cookies.html new file mode 100644 index 0000000000..a62af585cc --- /dev/null +++ b/runner/src/server/views/kls-training-magic-link/cookies.html @@ -0,0 +1,114 @@ +{% extends 'layout.html' %} +{% from "radios/macro.njk" import govukRadios %} +{% from "button/macro.njk" import govukButton %} + +{% block content %} +
    +
    +

    Cookies on {{ name }}

    +

    Cookies are files saved on your phone, tablet or computer when you visit a website.

    +

    We use cookies to remember information you've entered when applying to prove your eligibility.

    + +

    Strictly necessary cookies

    +

    Your progress when using this service

    +

    When you use this service, we’ll set a cookie to remember your progress through the forms. These cookies do not store your personal data and are deleted once you’ve completed the transaction.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    cookies_policySaves your cookie consent settingsWhen you close your browser
    sessionSet to remember information you’ve entered into a formWhen you close your browser
    crumbHelps us to prevent cross site scripting attacksWhen you close your browser
    auth_tokenSet to keep you authenticated on the serviceWhen you close your browser
    magicLinkRetrySet to aid initial authenticationWhen you close your browser
    + + {% if gtmId1 or gtmId2 %} +
    + +

    Cookies that measure website use

    +

    Measuring website usage (Google Analytics)

    +

    We use Google Analytics to measure how you use the website so we can improve it based on user needs. We do not allow Google to use or share the data about how you use this site.

    +

    Google Analytics sets cookies that store anonymised information about:

    +
      +
    • how you got to the site
    • +
    • the pages you visit within this service, GOV.UK and other government digital services, and how long you spend on each page
    • +
    • what you click on while you are visiting the site
    • +
    + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    _gaUsed to distinguish users2 years
    _ga_[id]used to persist session state2 years
    + {{ govukRadios({ + name: "cookies", + items: [ + { + value: "accept", + text: "Use cookies that measure my website use" + }, + { + value: "reject", + text: "Do not use cookies that measure my website use" + } + ], + value: analytics + }) }} + {% endif %} + + {% if matomoUrl and matomoId %} +

    Cookies that measure website use

    +

    Measuring website usage (Matomo)

    +

    We use Matomo Analytics software to collect non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request.

    +

    We do this to better understand how applicants for overseas loans use the website. From time to time, the Foreign and Commonwealth Office may release non-personally-identifying information in the aggregate, eg, by publishing a report on trends in the usage of its website.

    +

    We don't use any cookies to do this.

    + {% endif %} + {% if gtmId1 or gtmId2 %} + {{ govukButton({ attributes: { id: "submit" }, text: "Save changes" }) }} +
    + {% endif %} +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-training-magic-link/privacy.html b/runner/src/server/views/kls-training-magic-link/privacy.html new file mode 100644 index 0000000000..1b718a68f6 --- /dev/null +++ b/runner/src/server/views/kls-training-magic-link/privacy.html @@ -0,0 +1,166 @@ +{% extends "layout.html" %} + +{% block pageTitle %} + {{ name }} Privacy Notice +{% endblock %} + +{% block content %} +
    +
    +
    +

    Privacy Notice for ‘Contact the UKHSA Knowledge and Library Services’

    +

    About UKHSA

    +

    + On 1 October 2021, the UK Health Security Agency (UKHSA) was established as an executive agency of the Department of Health and Social Care (DHSC). UKHSA brings together many of the health protection functions previously undertaken by Public Health England (PHE), the NHS Test and Trace Programme, and the Joint Biosecurity Centre (JBC). +

    + Our responsibilities include preparing for, preventing, and responding to external health threats. We provide scientific, operational, and strategic leadership nationally and internationally. +

    + UKHSA’s remit (opens in new tab) includes Knowledge and Library Services (KLS). KLS supports evidence-based decision-making across public health and healthcare by providing access to expert literature searching, current awareness, training, evidence briefings and other services. +

    + This privacy notice explains what personal information we collect through our Contact Us form, how we use and protect it, and what your rights are. +

    +

    The information we collect

    +

    + We collect the following personal information to help us respond to your enquiry and provide the requested service: +

    +

    +

      +
    • full name
    • +
    • job title
    • +
    • work address
    • +
    • location
    • +
    • email address
    • +
    • IP address
    • +
    • your enquiry details (including any information you provide in your request)
    • +
    +

    +

    How we collect your information

    +

    + This information is provided directly by you when you complete and submit the Contact Us form for KLS. +

    + +

    The purposes we use your information for

    +

    + We collect this information so we can respond to your enquiry, support your request, and help us monitor and improve our services. +

    +

      +
    • literature searches
    • +
    • evidence briefings
    • +
    • systematic reviews
    • +
    • current awareness alerts
    • +
    • bespoke training requests (e.g., information skills, EndNote, critical appraisal)
    • +
    • general enquiries
    • +
    +

    + +

    How we protect your information

    +

    + We have put in place a range of organisational processes and technical security measures to protect your personal information from loss, misuse and unauthorised access, disclosure, alteration and destruction. +

    + Your personal information can only be seen by staff who have been trained to protect your confidentiality and understand laws and regulations such as the Data Protection Act 2018 and the UK GDPR. +

    + Strict controls are in place to ensure that staff can only access your information if they need it to do their job, and they are only provided with access to the minimum necessary information. Where we share information with other organisations, we take appropriate measures to ensure this is used lawfully and protected. +

    + Whenever possible, we only use your information in a form that does not directly identify you. For example, we may pseudonymise identifying details or substitute your date of birth with your age to help protect your confidentiality. +

    + No information that could identify you will ever be published by us. +

    +

    Where we store your information

    +

    + All personal information used by the UKHSA Knowledge and Library Services is held in the UK only. +

    +

    Who we share your information with

    +

    + We do not routinely share your personal information with external organisations. In limited circumstances, we may share it with other parts of UKHSA or with approved partners if this is required to respond to your enquiry or improve the service, and only where the law allows us to do so. +

    +

    + We always ensure that the minimum necessary amount of personal information is shared, and that appropriate safeguards are in place. +

    +

    How long we keep your information

    +

    + We will only retain your personal information for as long as necessary to respond to your request or enquiry, and in accordance with the Records Management Code of Practice for Health and Social Care 2021. . +

    +

    Your rights over your information

    +

    + Under data protection law, you have a number of rights over your personal information. You have the right to: +

    +

    +

      +
    • ask for a copy of any information we hold about you
    • +
    • ask for any inaccurate information we hold about you to be corrected
    • +
    • ask us to restrict our use of your information, for example, if you think it's inaccurate
    • +
    • object to us using your information (although we may need to continue using it – if so, we will explain why)
    • +
    • ask us to delete your information (this is not an absolute right, and we will explain if we need to retain it)
    • +
    • ask us not to make automated decisions about you without human involvement
    • +
    +

    +

    + You can exercise these rights by contacting us at: +

    + +

    + Alternatively, you can exercise any of these rights by contacting UKHSA at: +

    +
    + Information Rights Team
    + UKHSA
    + 5th Floor, 10 South Colonnade
    + London
    + E14 4PU
    + United Kingdom
    + Email: InformationRights@UKHSA.gov.uk
    +
    + +

    + You will be asked to provide proof of your identity so that we can be sure we only provide you with your information. +

    + +

    Our legal basis to use your information

    +

    + UKHSA is allowed to collect and use personal data under the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018. The legal bases we rely on are: +

    +

    +

      +
    • UK GDPR Article 6(1)(e) – processing is necessary for the performance of a task carried out in the public interest
    • +
    • UK GDPR Article 9(2)(i) – processing is necessary for reasons of public interest in the area of public health
    • +
    • Data Protection Act 2018 Schedule 1, Part 1 (3) – public health
    • +
    +

    +

    How to find out more or raise a concern

    +

    + If you have any questions about this privacy notice or how we use your personal information, you can contact us at libraries@kls.ukhsa.gov.uk. +

    + If you have any concerns about how personal information is used and protected by UKHSA, you can contact the Department of Health and Social Care’s Data Protection Officer at data_protection@dhsc.gov.uk or by writing to: +

    +
    + Office of the Data Protection Officer
    + Department of Health and Social Care
    + 39 Victoria Street
    + London
    + SW1H 0EU
    +
    +

    + You also have the right to contact the Information Commissioner’s Office (opens in new tab) if you have any concerns about how Public Health England uses and protects any personal information it holds about you. You can do so by calling the ICO’s helpline on 0303 123 1113, visiting the ICO’s website at ico.org.uk (opens in new tab) or by writing to: +

    +
    + Customer Contact
    + Information Commissioner's Office
    + Wycliffe House
    + Water Lane
    + Wilmslow
    + SK9 5AF
    +
    +

    About this privacy information

    +

    + This notice may be updated if the information we collect or the way we use it changes. The publication date will be updated accordingly. +

    + Published July 2025 +

    + For more information, see the UKHSA privacy notice (opens in new tab) +

    +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-training-request/accessibility-statement.html b/runner/src/server/views/kls-training-request/accessibility-statement.html new file mode 100644 index 0000000000..85c0f1c644 --- /dev/null +++ b/runner/src/server/views/kls-training-request/accessibility-statement.html @@ -0,0 +1,97 @@ +{% extends 'layout.html' %} + +{% block pageTitle %} + {{ name }} - Accessibility Statement +{% endblock %} + +{% block content %} +
    +
    +
    +

    Accessibility statement for ‘Contact the UKHSA Knowledge and Library Services’

    +

    + This accessibility statement applies to the UKHSA Knowledge and Library Services enquiry form websites: +

    +
      +
    • KLS enquiry form: https://forms.ukhsa.gov.uk/kls-enquiries (opens in new tab)
    • +
    • KLS Training enquiry form: https://forms.ukhsa.gov.uk/kls-training-request (opens in new tab)
    • +

      + This website is run by UK Health Security Agency (UKHSA). We want as many people as possible to be able to use this website. For example, that means you should be able to: +

      +

      +

        +
      • change colours, contrast levels and fonts using browser or device settings
      • +
      • zoom in up to 400% without the text spilling off the screen
      • +
      • navigate most of the website using a keyboard or speech recognition software
      • +
      • listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)
      • +
      +

      +

      + We’ve also made the website text as simple as possible to understand. +
      + AbilityNet (opens in new tab) has advice on making your device easier to use if you have a disability. +

      +

      How accessible this website is

      +

      + We know some parts of this website are not fully accessible: + +

        +
      • Narrator does not read out error messages in full automatically without user selection
      • +
      • you cannot modify the line height or spacing of text
      • +
      • you cannot autocomplete some form fields with assistive technology
      • +
      • you cannot select an item listed in dropdown list using input means including the ENTER, TAB and Spacebar keys
      • +
      +

      +

      Feedback and contact information

      +

      + If you find any problems not listed on this page or believe we're not meeting accessibility requirements, email ukhsa_techbp_product@ukhsa.gov.uk +
      +

      +

      + If you have difficulty using the website to make an enquiry to the KLS team, you should email libraries@kls.ukhsa.gov.uk. +

      +

      Enforcement procedure

      +

      + + The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility regulations’). If you’re not happy with how we respond to your complaint, contact the Equality Advisory and Support Service (EASS) (opens in new tab). +

      +

      Technical information about this website’s accessibility

      +

      + UK Health Security Agency (UKHSA) is committed to making its website accessible, in accordance with the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018. +

      +

      Compliance status

      +

      + This website is partially compliant with the Web Content Accessibility Guidelines version 2.2 (opens in new tab) AA standard, due to the non-compliances and exemptions listed below +

      +

      Non-accessible content

      +

      + The content listed below is non-accessible for the following reasons.  +

      +

      Non-compliance with the accessibility regulations

      +

      + This website is undergoing a second round of testing against Web Content Accessibility Guidelines version 2.2. There are several guidelines not yet fully adhered to including: +

        +
      • 3.3.3 - Error Suggestion - Error message not fully read out by Narrator
      • +
      • 1.3.5 - Identify Input Purpose - Some form control fields do not use fine-grained autocomplete attribute definition techniques required for assistive technology users
      • +
      • 2.1.1 - Keyboard Accessibility - Cannot select dropdown item with Narrator focused on it
      • +
      + We plan to address these issues soon. +

      +

      Content that’s not within the scope of accessibility regulations

      +

      + PDFs and other documents - The accessibility regulations do not require us to fix PDFs or other documents delivered by email. We plan to meet accessibility standards with all new PDFs or Word documents we will share. +

      +

      What we’re doing to improve accessibility

      +

      + We have been testing our website with users with a variety of accessibility needs. We intend to fix the non-accessible content listed above. We keep testing our website to understand where we are non-compliant with accessibility standards. Any non-compliant components will be raised in our roadmap and improved in the coming months. +

      +

      Preparation of this accessibility statement

      +

      + This statement was prepared in July 2025.
      + This website was last tested in July 2025 against the WCAG 2.2 AA standard.
      + The test was carried out by UK Health Security Agency. The most viewed pages were tested using automated testing tools by our website team. A further audit of the website was carried out to the WCAG 2.2 AA standard. +

      +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-training-request/cookies.html b/runner/src/server/views/kls-training-request/cookies.html new file mode 100644 index 0000000000..a62af585cc --- /dev/null +++ b/runner/src/server/views/kls-training-request/cookies.html @@ -0,0 +1,114 @@ +{% extends 'layout.html' %} +{% from "radios/macro.njk" import govukRadios %} +{% from "button/macro.njk" import govukButton %} + +{% block content %} +
    +
    +

    Cookies on {{ name }}

    +

    Cookies are files saved on your phone, tablet or computer when you visit a website.

    +

    We use cookies to remember information you've entered when applying to prove your eligibility.

    + +

    Strictly necessary cookies

    +

    Your progress when using this service

    +

    When you use this service, we’ll set a cookie to remember your progress through the forms. These cookies do not store your personal data and are deleted once you’ve completed the transaction.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    cookies_policySaves your cookie consent settingsWhen you close your browser
    sessionSet to remember information you’ve entered into a formWhen you close your browser
    crumbHelps us to prevent cross site scripting attacksWhen you close your browser
    auth_tokenSet to keep you authenticated on the serviceWhen you close your browser
    magicLinkRetrySet to aid initial authenticationWhen you close your browser
    + + {% if gtmId1 or gtmId2 %} +
    + +

    Cookies that measure website use

    +

    Measuring website usage (Google Analytics)

    +

    We use Google Analytics to measure how you use the website so we can improve it based on user needs. We do not allow Google to use or share the data about how you use this site.

    +

    Google Analytics sets cookies that store anonymised information about:

    +
      +
    • how you got to the site
    • +
    • the pages you visit within this service, GOV.UK and other government digital services, and how long you spend on each page
    • +
    • what you click on while you are visiting the site
    • +
    + + + + + + + + + + + + + + + + + + + + +
    NamePurposeExpires
    _gaUsed to distinguish users2 years
    _ga_[id]used to persist session state2 years
    + {{ govukRadios({ + name: "cookies", + items: [ + { + value: "accept", + text: "Use cookies that measure my website use" + }, + { + value: "reject", + text: "Do not use cookies that measure my website use" + } + ], + value: analytics + }) }} + {% endif %} + + {% if matomoUrl and matomoId %} +

    Cookies that measure website use

    +

    Measuring website usage (Matomo)

    +

    We use Matomo Analytics software to collect non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request.

    +

    We do this to better understand how applicants for overseas loans use the website. From time to time, the Foreign and Commonwealth Office may release non-personally-identifying information in the aggregate, eg, by publishing a report on trends in the usage of its website.

    +

    We don't use any cookies to do this.

    + {% endif %} + {% if gtmId1 or gtmId2 %} + {{ govukButton({ attributes: { id: "submit" }, text: "Save changes" }) }} +
    + {% endif %} +
    +
    +{% endblock %} diff --git a/runner/src/server/views/kls-training-request/privacy.html b/runner/src/server/views/kls-training-request/privacy.html new file mode 100644 index 0000000000..1b718a68f6 --- /dev/null +++ b/runner/src/server/views/kls-training-request/privacy.html @@ -0,0 +1,166 @@ +{% extends "layout.html" %} + +{% block pageTitle %} + {{ name }} Privacy Notice +{% endblock %} + +{% block content %} +
    +
    +
    +

    Privacy Notice for ‘Contact the UKHSA Knowledge and Library Services’

    +

    About UKHSA

    +

    + On 1 October 2021, the UK Health Security Agency (UKHSA) was established as an executive agency of the Department of Health and Social Care (DHSC). UKHSA brings together many of the health protection functions previously undertaken by Public Health England (PHE), the NHS Test and Trace Programme, and the Joint Biosecurity Centre (JBC). +

    + Our responsibilities include preparing for, preventing, and responding to external health threats. We provide scientific, operational, and strategic leadership nationally and internationally. +

    + UKHSA’s remit (opens in new tab) includes Knowledge and Library Services (KLS). KLS supports evidence-based decision-making across public health and healthcare by providing access to expert literature searching, current awareness, training, evidence briefings and other services. +

    + This privacy notice explains what personal information we collect through our Contact Us form, how we use and protect it, and what your rights are. +

    +

    The information we collect

    +

    + We collect the following personal information to help us respond to your enquiry and provide the requested service: +

    +

    +

      +
    • full name
    • +
    • job title
    • +
    • work address
    • +
    • location
    • +
    • email address
    • +
    • IP address
    • +
    • your enquiry details (including any information you provide in your request)
    • +
    +

    +

    How we collect your information

    +

    + This information is provided directly by you when you complete and submit the Contact Us form for KLS. +

    + +

    The purposes we use your information for

    +

    + We collect this information so we can respond to your enquiry, support your request, and help us monitor and improve our services. +

    +

      +
    • literature searches
    • +
    • evidence briefings
    • +
    • systematic reviews
    • +
    • current awareness alerts
    • +
    • bespoke training requests (e.g., information skills, EndNote, critical appraisal)
    • +
    • general enquiries
    • +
    +

    + +

    How we protect your information

    +

    + We have put in place a range of organisational processes and technical security measures to protect your personal information from loss, misuse and unauthorised access, disclosure, alteration and destruction. +

    + Your personal information can only be seen by staff who have been trained to protect your confidentiality and understand laws and regulations such as the Data Protection Act 2018 and the UK GDPR. +

    + Strict controls are in place to ensure that staff can only access your information if they need it to do their job, and they are only provided with access to the minimum necessary information. Where we share information with other organisations, we take appropriate measures to ensure this is used lawfully and protected. +

    + Whenever possible, we only use your information in a form that does not directly identify you. For example, we may pseudonymise identifying details or substitute your date of birth with your age to help protect your confidentiality. +

    + No information that could identify you will ever be published by us. +

    +

    Where we store your information

    +

    + All personal information used by the UKHSA Knowledge and Library Services is held in the UK only. +

    +

    Who we share your information with

    +

    + We do not routinely share your personal information with external organisations. In limited circumstances, we may share it with other parts of UKHSA or with approved partners if this is required to respond to your enquiry or improve the service, and only where the law allows us to do so. +

    +

    + We always ensure that the minimum necessary amount of personal information is shared, and that appropriate safeguards are in place. +

    +

    How long we keep your information

    +

    + We will only retain your personal information for as long as necessary to respond to your request or enquiry, and in accordance with the Records Management Code of Practice for Health and Social Care 2021. . +

    +

    Your rights over your information

    +

    + Under data protection law, you have a number of rights over your personal information. You have the right to: +

    +

    +

      +
    • ask for a copy of any information we hold about you
    • +
    • ask for any inaccurate information we hold about you to be corrected
    • +
    • ask us to restrict our use of your information, for example, if you think it's inaccurate
    • +
    • object to us using your information (although we may need to continue using it – if so, we will explain why)
    • +
    • ask us to delete your information (this is not an absolute right, and we will explain if we need to retain it)
    • +
    • ask us not to make automated decisions about you without human involvement
    • +
    +

    +

    + You can exercise these rights by contacting us at: +

    + +

    + Alternatively, you can exercise any of these rights by contacting UKHSA at: +

    +
    + Information Rights Team
    + UKHSA
    + 5th Floor, 10 South Colonnade
    + London
    + E14 4PU
    + United Kingdom
    + Email: InformationRights@UKHSA.gov.uk
    +
    + +

    + You will be asked to provide proof of your identity so that we can be sure we only provide you with your information. +

    + +

    Our legal basis to use your information

    +

    + UKHSA is allowed to collect and use personal data under the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018. The legal bases we rely on are: +

    +

    +

      +
    • UK GDPR Article 6(1)(e) – processing is necessary for the performance of a task carried out in the public interest
    • +
    • UK GDPR Article 9(2)(i) – processing is necessary for reasons of public interest in the area of public health
    • +
    • Data Protection Act 2018 Schedule 1, Part 1 (3) – public health
    • +
    +

    +

    How to find out more or raise a concern

    +

    + If you have any questions about this privacy notice or how we use your personal information, you can contact us at libraries@kls.ukhsa.gov.uk. +

    + If you have any concerns about how personal information is used and protected by UKHSA, you can contact the Department of Health and Social Care’s Data Protection Officer at data_protection@dhsc.gov.uk or by writing to: +

    +
    + Office of the Data Protection Officer
    + Department of Health and Social Care
    + 39 Victoria Street
    + London
    + SW1H 0EU
    +
    +

    + You also have the right to contact the Information Commissioner’s Office (opens in new tab) if you have any concerns about how Public Health England uses and protects any personal information it holds about you. You can do so by calling the ICO’s helpline on 0303 123 1113, visiting the ICO’s website at ico.org.uk (opens in new tab) or by writing to: +

    +
    + Customer Contact
    + Information Commissioner's Office
    + Wycliffe House
    + Water Lane
    + Wilmslow
    + SK9 5AF
    +
    +

    About this privacy information

    +

    + This notice may be updated if the information we collect or the way we use it changes. The publication date will be updated accordingly. +

    + Published July 2025 +

    + For more information, see the UKHSA privacy notice (opens in new tab) +

    +
    +
    +
    +{% endblock %} diff --git a/runner/src/server/views/layout.html b/runner/src/server/views/layout.html index 062592c4d1..df0a2e9eef 100644 --- a/runner/src/server/views/layout.html +++ b/runner/src/server/views/layout.html @@ -193,17 +193,14 @@

    Default page template

    rebrand: true, meta: { items: [{ - href: privacyPolicyUrl, + href: 'privacy', text: 'Privacy' }, { - href: '/help/cookies', + href: 'cookies', text: 'Cookies' }, { - href: '/help/accessibility-statement', + href: 'accessibility-statement', text: 'Accessibility Statement' - }, { - href: '/help/terms-and-conditions', - text: 'Terms and Conditions' }] } }) }} diff --git a/runner/src/server/views/multi-start-page-with-sidebar-content.html b/runner/src/server/views/multi-start-page-with-sidebar-content.html new file mode 100644 index 0000000000..8f7a33d0bf --- /dev/null +++ b/runner/src/server/views/multi-start-page-with-sidebar-content.html @@ -0,0 +1,75 @@ +{% from "pagination/macro.njk" import govukPagination %} +{% from "button/macro.njk" import govukButton %} +{% extends 'layout.html' %} + +{% block templateImports %} +{{ super() }} +{% endblock %} + +{% from "error-summary/macro.njk" import govukErrorSummary %} +{% from "partials/components.html" import componentList with context %} + +{% block content %} + +{% set gridSize = "full" %} +
    +
    + {% if errors %} + {{ govukErrorSummary(errors) }} + {% endif %} + +
    + + {% include "partials/heading.html" %} + +
    + +
    +
    + +
    + +
    + + {{ componentList(components) }} + + {% if continueButtonText %} + {{ govukButton({ attributes: { id: "submit" }, text: continueButtonText })}} + {% endif %} + + {{ govukPagination(startPageNavigation) }} +
    +
    +
    +
    +




    +
    +

    {{sidebarContent.title}}

    +
    +
      +
    • +

      {{sidebarContent.subtitle}}

      +
    • + {% for item in sidebarContent.links %} +
    • + + + {{ item.title }} + + +
    • + {% endfor %} +
    +
    +
    +
    +
    + + + +
    {{ value | dump(2) | safe }}
    +
    + +
    + +{% endblock %} \ No newline at end of file diff --git a/runner/src/server/views/partials/summary-detail.html b/runner/src/server/views/partials/summary-detail.html index 823480455e..c380b514ec 100644 --- a/runner/src/server/views/partials/summary-detail.html +++ b/runner/src/server/views/partials/summary-detail.html @@ -2,8 +2,8 @@ {% macro summaryDetail(data) %} {% set isRepeatableSection = (data.items[0] | isArray) %} - {% if not isRepeatableSection %} -

    {{data.title}}

    + {% if not isRepeatableSection and data.title %} +

    {{ data.title }}

    {% endif %}
    {% for item in data.items %} diff --git a/runner/src/server/views/summary.html b/runner/src/server/views/summary.html index f0377f26a7..d8a49306cc 100644 --- a/runner/src/server/views/summary.html +++ b/runner/src/server/views/summary.html @@ -1,4 +1,5 @@ {% from "partials/summary-detail.html" import summaryDetail %} +{% from "partials/summary-card.html" import summaryCard %} {% from "components/checkboxes/macro.njk" import govukCheckboxes %} {% extends 'layout.html' %} diff --git a/runner/src/server/views/timeout.html b/runner/src/server/views/timeout.html index be8639dde9..d6e104f097 100644 --- a/runner/src/server/views/timeout.html +++ b/runner/src/server/views/timeout.html @@ -14,7 +14,7 @@

    Your application has timed out

    We have reset your application because you did not do anything for {{ sessionTimeout / 60000 }} minutes. We did this to keep your information secure.

    - Start application again + Start application again diff --git a/runner/test/cases/server/plugins/engine/pageControllers/CheckpointSummaryPageController.test.ts b/runner/test/cases/server/plugins/engine/pageControllers/CheckpointSummaryPageController.test.ts new file mode 100644 index 0000000000..582e4cf75c --- /dev/null +++ b/runner/test/cases/server/plugins/engine/pageControllers/CheckpointSummaryPageController.test.ts @@ -0,0 +1,251 @@ +import * as Code from "@hapi/code"; +import * as Lab from "@hapi/lab"; +import { FormModel } from "server/plugins/engine/models"; +import { CheckpointSummaryPageController } from "server/plugins/engine/pageControllers/CheckpointSummaryPageController"; + +const { expect } = Code; +const lab = Lab.script(); +exports.lab = lab; +const { describe, it, beforeEach } = lab; + +describe("CheckpointSummaryPageController", () => { + let controller; + let mockModel; + let mockPageDef; + let mockRequest; + let mockH; + let mockCacheService; + + beforeEach(() => { + const formDef = { + pages: [ + { + path: "/page1", + title: "Page 1", + section: "section1", + components: [], + }, + ], + sections: [ + { name: "section1", title: "Section 1", hideTitle: false }, + { name: "section2", title: "Section 2", hideTitle: true }, + ], + startPage: "/page1", + lists: [], + conditions: [], + name: "Test Form", + }; + + mockModel = { + options: { + basePath: "test-form", + }, + name: "Test Form", + conditions: [], + lists: [], + sections: [ + { name: "section1", title: "Section 1", hideTitle: false }, + { name: "section2", title: "Section 2", hideTitle: true }, + ], + pages: [ + { + path: "/page1", + title: "Page 1", + section: "section1", + components: [], + }, + ], + getRelevantPages: () => ({ + relevantPages: [ + { + path: "/page1", + title: "Page 1", + section: { name: "section1" }, + sectionForMultiSummaryPages: "Custom Section 1", + components: { + formItems: [ + { + name: "field1", + title: "Field 1", + type: "TextField", + options: { summaryTitle: "F1" }, + getDisplayStringFromState: (state) => state.field1, + }, + ], + }, + }, + { + path: "/page2", + title: "Page 2", + section: { name: "section2" }, + sectionForMultiSummaryPages: "Custom Section 2", + components: { + formItems: [ + { + name: "field2", + title: "Field 2", + type: "TextField", + options: { summaryTitle: "F2" }, + getDisplayStringFromState: (state) => state.field2, + }, + ], + }, + }, + ], + }), + showFilenamesOnSummaryPage: true, + def: formDef, + }; + + mockPageDef = { + path: "/summary", + title: "Summary Page", + section: "section1", + controller: "CheckpointSummaryPageController", + name: "summary-page", + components: [], + next: [], + options: { + customText: { + title: "Custom Title", + }, + }, + }; + + mockCacheService = { + getState: () => + Promise.resolve({ + section1: { field1: "test value 1" }, + section2: { field2: "test value 2" }, + progress: ["/previous-page"], + originalFilenames: { + field1: { originalFilename: "test1.pdf" }, + field2: { originalFilename: "test2.pdf" }, + }, + }), + }; + + mockRequest = { + services: () => ({ cacheService: mockCacheService }), + yar: { + set: () => {}, + }, + }; + + mockH = { + view: (template, data) => ({ template, data }), + redirect: (path) => path, + continue: Symbol("continue"), + }; + + controller = new CheckpointSummaryPageController( + new FormModel(formDef, {}), + mockPageDef + ); + }); + + describe("constructor", () => { + it("should initialize with default options when none provided", () => { + const controllerNoOptions = new CheckpointSummaryPageController( + new FormModel(mockModel.def, {}), + { ...mockPageDef, options: undefined } + ); + + expect(controllerNoOptions.options).to.equal({ + customText: {}, + }); + }); + }); + + describe("makePostRouteHandler", () => { + it("should return a function that redirects to the next page", async () => { + const handler = controller.makePostRouteHandler(); + const result = await handler(mockRequest, mockH); + + expect(result).to.be.a.string(); + expect(result).to.equal("/summary"); + }); + }); + + describe("summaryLists generation", () => { + it("should generate summaryLists based on rowsBySection and model.sections", () => { + // Mock data + const rowsBySection = { + section1: ["row1", "row2"], + section2: ["row3"], + }; + + const model = { + sections: [ + { name: "section1", title: "Section One", hideTitle: false }, + { name: "section2", title: "Section Two", hideTitle: true }, + { name: "section3", title: "Section Three", hideTitle: false }, + ], + }; + + // The function to test + const summaryLists = Object.entries(rowsBySection).map( + ([section, rows]) => { + const modelSection = model.sections.find( + (mSection) => mSection.name === section + ); + + return { + sectionTitle: !modelSection?.hideTitle ? modelSection?.title : "", + section, + rows, + }; + } + ); + + // Expected result + const expectedSummaryLists = [ + { + sectionTitle: "Section One", + section: "section1", + rows: ["row1", "row2"], + }, + { + sectionTitle: "", // Title hidden because `hideTitle` is true + section: "section2", + rows: ["row3"], + }, + ]; + + // Assertions + expect(summaryLists).to.equal(expectedSummaryLists); + }); + }); + + describe("formItemsToRowByPage", () => { + it("should transform form items to summary rows", () => { + const page = { + path: "/page1", + model: mockModel, + components: { + formItems: [], + }, + }; + + const component = { + name: "field1", + title: "Field 1", + type: "TextField", + options: { summaryTitle: "F1" }, + getDisplayStringFromState: (state) => state.field1, + }; + + const toRow = controller.formItemsToRowByPage({ + page, + sectionState: { field1: "test value" }, + fullState: {}, + }); + + const row = toRow(component); + + expect(row.key.text).to.equal("F1"); + expect(row.value.text).to.equal("test value"); + expect(row.actions.items[0].text).to.equal("Change"); + }); + }); +}); diff --git a/runner/test/cases/server/transforms/filterSections.test.js b/runner/test/cases/server/transforms/filterSections.test.js new file mode 100644 index 0000000000..f2f3676ed8 --- /dev/null +++ b/runner/test/cases/server/transforms/filterSections.test.js @@ -0,0 +1,121 @@ +import Lab from "@hapi/lab"; +import { expect } from "@hapi/code"; +const { before, test, suite, after } = (exports.lab = Lab.script()); + +import { filterSections } from "../../../../src/server/transforms/summaryDetails/filterSections"; + +suite("filterSections", () => { + const details = [ + { + items: [ + { + name: "id", + title: "ID", + label: "ID", + value: "123", + rawValue: "123", + url: "/startPage", + }, + ], + }, + { + name: "YourDetails", + title: "Your details", + items: [ + { + name: "first_name", + title: "First name", + label: "First name", + value: "Joe", + rawValue: "Joe", + url: "/namePage?returnTo=summary", + pageId: "/namePage", + }, + ], + }, + { + name: "Person1", + title: "Person 1", + items: [ + { + name: "first_name", + title: "First name", + label: "First name", + value: "Joe", + rawValue: "Joe", + url: "/namePage?returnTo=summary", + pageId: "/namePage", + }, + ], + }, + { + name: "Person2", + title: "Person 2", + items: [ + { + name: "first_name", + title: "First name", + label: "First name", + value: "Joe", + rawValue: "Joe", + url: "/namePage?returnTo=summary", + pageId: "/namePage", + inError: true, + }, + ], + }, + ]; + + test("filterSections correctly transforms", () => { + expect(filterSections(details)).to.equal([ + { + name: "YourDetails", + title: "Your details", + items: [ + { + name: "first_name", + title: "First name", + label: "First name", + value: "Joe", + rawValue: "Joe", + url: "/namePage?returnTo=summary", + pageId: "/namePage", + }, + ], + }, + { + name: "Person1", + title: "Person 1", + card: "/namePage?returnTo=summary", + items: [ + { + name: "first_name", + title: "First name", + label: "First name", + value: "Joe", + rawValue: "Joe", + url: "/namePage?returnTo=summary", + pageId: "/namePage", + }, + ], + }, + { + name: "Person2", + title: "Person 2", + card: "/namePage", + items: [ + { + name: "first_name", + title: "First name", + label: "First name", + value: "Joe", + rawValue: "Joe", + url: "/namePage?returnTo=summary", + pageId: "/namePage", + inError: true, + }, + ], + }, + ]); + }); +}); diff --git a/runner/test/cases/server/transforms/mergeRows.test.js b/runner/test/cases/server/transforms/mergeRows.test.js new file mode 100644 index 0000000000..e8688449ea --- /dev/null +++ b/runner/test/cases/server/transforms/mergeRows.test.js @@ -0,0 +1,70 @@ +import Lab from "@hapi/lab"; +import { expect } from "@hapi/code"; +const { before, test, suite, after } = (exports.lab = Lab.script()); + +import { mergeRows } from "../../../../src/server/transforms/summaryDetails/mergeRows"; + +suite("mergeRows", () => { + const details = [ + { + name: "Detail1", + title: "Detail 1", + items: [ + { + name: "first_name", + title: "First name", + label: "First name", + value: "Joe", + rawValue: "Joe", + url: "/namePage", + }, + { + name: "last_name", + title: "Last name", + label: "Last name", + value: "Bloggs", + rawValue: "Bloggs", + url: "/namePage", + }, + { + name: "dob", + title: "Date of birth", + label: "Date of birth", + value: "21/04/1994", + rawValue: "21/04/1994", + url: "/namePage", + }, + ], + }, + ]; + const fields = [ + { names: ["first_name", "last_name"], to: "Full name", joiner: " " }, + ]; + + test("mergeRows correctly transforms ", () => { + expect(mergeRows(details, fields)).to.equal([ + { + name: "Detail1", + title: "Detail 1", + items: [ + { + name: "full_name", + title: "Full name", + label: "Full name", + value: "Joe Bloggs", + rawValue: "Full name", + url: "/namePage", + }, + { + name: "dob", + title: "Date of birth", + label: "Date of birth", + value: "21/04/1994", + rawValue: "21/04/1994", + url: "/namePage", + }, + ], + }, + ]); + }); +}); diff --git a/runner/test/cases/server/utils/domain.test.ts b/runner/test/cases/server/utils/domain.test.ts new file mode 100644 index 0000000000..253d7cb926 --- /dev/null +++ b/runner/test/cases/server/utils/domain.test.ts @@ -0,0 +1,146 @@ +import * as Code from "@hapi/code"; +import * as Lab from "@hapi/lab"; +import { isAllowedDomain } from "server/utils/domain"; + +const { expect } = Code; +const lab = Lab.script(); +exports.lab = lab; +const { suite, test } = lab; + +suite("Empty whitelist: should return all emails as valid", () => { + test("Empty email with empty domain whitelist", () => { + const email: string = ""; + const domainList: string[] = []; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); + + test("Invalid email with no '@' and empty domain whitelist", () => { + const email: string = "test"; + const domainList: string[] = []; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); + + test("Valid email with empty domain whitelist", () => { + const email: string = "example@example.com"; + const domainList: string[] = []; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); +}); + +suite("Whitelist with a single domain", () => { + test("Valid email with leading/trailing whitespace", () => { + const email = " test@example.com "; + const domainList = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); + + test("Valid email in domain whitelist", () => { + const email: string = "test@example.com"; + const domainList: string[] = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); + + test("Valid email with uppercase domain in address", () => { + const email: string = "test@ExAmPlE.com"; + const domainList: string[] = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); + + test("Valid email with uppercase domain in whitelist", () => { + const email: string = "test@example.com"; + const domainList: string[] = ["Example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); + + test("Valid subdomain should match base domain", () => { + const email = "user@mail.example.com"; + const domainList = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); + + test("Invalid email: no '@'", () => { + const email: string = "test"; + const domainList: string[] = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: only '@'", () => { + const email: string = "@"; + const domainList: string[] = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: missing local-part", () => { + const email: string = "@example.com"; + const domainList: string[] = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: domain not in whitelist", () => { + const email: string = "test@gmail.com"; + const domainList: string[] = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: domain does not exactly match whitelist", () => { + const email: string = "test@example.test.com"; + const domainList: string[] = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: domain ends with similar string", () => { + const email = "user@notexample.com"; + const domainList = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: multiple '@' symbols", () => { + const email = "test@me@example.com"; + const domainList = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: missing TLD", () => { + const email = "user@example"; + const domainList = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: domain is substring of whitelisted domain", () => { + const email = "user@ple.com"; + const domainList = ["example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); +}); + +suite("Whitelist with multiple domains", () => { + test("Valid email in one of the whitelisted domains", () => { + const email: string = "test@gmail.com"; + const domainList: string[] = ["example.com", "gmail.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); + + test("Valid email with uppercase domain, mixed whitelist order", () => { + const email: string = "test@ExAmPlE.com"; + const domainList: string[] = ["gmail.com", "example.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(true); + }); + + test("Invalid email: no '@'", () => { + const email: string = "test"; + const domainList: string[] = ["example.com", "gmail.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: only '@'", () => { + const email: string = "@"; + const domainList: string[] = ["example.com", "gmail.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); + + test("Invalid email: missing local part", () => { + const email: string = "@example.com"; + const domainList: string[] = ["example.com", "gmail.com"]; + expect(isAllowedDomain(email, domainList)).to.equal(false); + }); +}); diff --git a/submitter/package.json b/submitter/package.json index 715936ac63..e64fe4298e 100644 --- a/submitter/package.json +++ b/submitter/package.json @@ -53,7 +53,7 @@ "jest": "^26.6.3", "jest-mock-extended": "^3.0.5", "nodemon": "^3.0.1", - "prisma": "5.22.0", + "prisma": "^6.1.0", "typescript": "4.9.5" }, "pkg": { diff --git a/submitter/src/submission/services/webhookService.ts b/submitter/src/submission/services/webhookService.ts index 907f113af7..14068a227f 100644 --- a/submitter/src/submission/services/webhookService.ts +++ b/submitter/src/submission/services/webhookService.ts @@ -28,11 +28,13 @@ export class WebhookService { try { parsed = JSON.parse(data); } catch (e) { - this.logger.error(`Not submitting ${data}, ${e}`); + // Commented out due to potential for logging PII + // this.logger.error(`Not submitting ${data}, ${e}`); return { payload: { error: e.message } }; } - this.logger.info({ data: parsed }, `${method} to ${url}`); + // Commented out due to potential for logging PII + // this.logger.info({ data: parsed }, `${method} to ${url}`); try { const { payload } = await request(url, { @@ -47,7 +49,8 @@ export class WebhookService { if (e.isBoom) { return e.output; } - this.logger.error({ data }, e); + // Commented out due to potential for logging PII + // this.logger.error({ data }, e); return { payload: { error: e.message } }; } } diff --git a/yarn.lock b/yarn.lock index 31147eb098..7a92bb09cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3667,61 +3667,119 @@ __metadata: languageName: node linkType: hard -"@prisma/client@npm:5.22.0": - version: 5.22.0 - resolution: "@prisma/client@npm:5.22.0" +"@prisma/client@npm:6.12.0": + version: 6.12.0 + resolution: "@prisma/client@npm:6.12.0" peerDependencies: prisma: "*" + typescript: ">=5.1.0" peerDependenciesMeta: prisma: optional: true - checksum: 2a4db1e631528644ad8e726f26fbbcd692fbf3483a872185797cc34ba2531d17288841d7fa753439da29937706d7cd515fa1fc06f01b9e375c2232e2943c169e + typescript: + optional: true + checksum: 3d6d9354b57872b58b97c01e3e90d1359d9dc47fd081f0db8ce81af0b3a1f5277678424c5a5a2f6a801ec0c87db3612da1e8be18913ee62ec54e6b4428eb6c96 + languageName: node + linkType: hard + +"@prisma/config@npm:6.12.0": + version: 6.12.0 + resolution: "@prisma/config@npm:6.12.0" + dependencies: + jiti: 2.4.2 + checksum: b06b8fb9f8f07e44dcba250e059551d0439c82b5c2957385d5132e9040e7e40e5bc7bc3620cc671092b880552ad6f7247ae76d8288851ab06c8d01bfba6c7dfc + languageName: node + linkType: hard + +"@prisma/debug@npm:6.1.0": + version: 6.1.0 + resolution: "@prisma/debug@npm:6.1.0" + checksum: bf0ea217cae6c1cdbf1e90abe578cc104dd734741bad773c9a850a0b0e606982d46a0ebef7d77d0403b3a46a1745d498d40f5064a1c4697bccdc0de72fcaa763 + languageName: node + linkType: hard + +"@prisma/debug@npm:6.12.0": + version: 6.12.0 + resolution: "@prisma/debug@npm:6.12.0" + checksum: eebf9aed967964f8187cc7b3df0205e25f99a2874163b09031a7283748f038d841a076809b1c593a01dc198d1736f562f11b06e66be01edbf1642a3a2f357174 + languageName: node + linkType: hard + +"@prisma/engines-version@npm:6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959": + version: 6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959 + resolution: "@prisma/engines-version@npm:6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959" + checksum: d558cc390eb8ca1f07426bf06f67a6c8f9dc2ad15d4d49f613113cfd1355e9f389f89eb85807acdd031330824c80664247baefb2e280dff02a39d97e2172627c + languageName: node + linkType: hard + +"@prisma/engines-version@npm:6.12.0-15.8047c96bbd92db98a2abc7c9323ce77c02c89dbc": + version: 6.12.0-15.8047c96bbd92db98a2abc7c9323ce77c02c89dbc + resolution: "@prisma/engines-version@npm:6.12.0-15.8047c96bbd92db98a2abc7c9323ce77c02c89dbc" + checksum: 108e213a2cc3f85cf11c74c8b17f16f89b36cfc1a2146f918c935da0b9f9f3b0b1c59cdb4edf30c81767182ab9de5730330105af25d8b9cb6eacf400be4f7dfd + languageName: node + linkType: hard + +"@prisma/engines@npm:6.1.0": + version: 6.1.0 + resolution: "@prisma/engines@npm:6.1.0" + dependencies: + "@prisma/debug": 6.1.0 + "@prisma/engines-version": 6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959 + "@prisma/fetch-engine": 6.1.0 + "@prisma/get-platform": 6.1.0 + checksum: 368e66a8ef8d045d0c88c09ae1e128a740bcb29e8111245137c24e4878e73a9342ec0b9a74dce6b5df8a5a3af618de681bd52e99c6406c5256ea5a64279ab623 languageName: node linkType: hard -"@prisma/debug@npm:5.22.0": - version: 5.22.0 - resolution: "@prisma/debug@npm:5.22.0" - checksum: ee263d933c3ab92e93aee78771e5040a510316d96ce69c64cfd65d21e59646b9c5a047446ce7965651563d001150ef763485474bd43ca8a6544ab7ce604d2ffa +"@prisma/engines@npm:6.12.0": + version: 6.12.0 + resolution: "@prisma/engines@npm:6.12.0" + dependencies: + "@prisma/debug": 6.12.0 + "@prisma/engines-version": 6.12.0-15.8047c96bbd92db98a2abc7c9323ce77c02c89dbc + "@prisma/fetch-engine": 6.12.0 + "@prisma/get-platform": 6.12.0 + checksum: ab52544ce07ca375f4dbda448952a9ae7a920f9aa0385a7a02a082a12392c20fa2a0e450951dd4255a9918ec92ef4acc87290993c3bb9fa2cd55c4600b6c8919 languageName: node linkType: hard -"@prisma/engines-version@npm:5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2": - version: 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 - resolution: "@prisma/engines-version@npm:5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2" - checksum: 9ea0689474db5da01d14ec6b24b348c282ce7fc6874a15c7dc7910398a52ef44f67a10b24dee8e41386b4611bdbbc10679145cba5b092f7989cf0543bbf5b078 +"@prisma/fetch-engine@npm:6.1.0": + version: 6.1.0 + resolution: "@prisma/fetch-engine@npm:6.1.0" + dependencies: + "@prisma/debug": 6.1.0 + "@prisma/engines-version": 6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959 + "@prisma/get-platform": 6.1.0 + checksum: e1f85b54cf99dca01f3303c1c4f0f7d62191a6b44c11dbd3fb4545217f277e268f1d8aa691d7449d7231d30937352212cc5ca78b8059d4ab71097d6b29c7091f languageName: node linkType: hard -"@prisma/engines@npm:5.22.0": - version: 5.22.0 - resolution: "@prisma/engines@npm:5.22.0" +"@prisma/fetch-engine@npm:6.12.0": + version: 6.12.0 + resolution: "@prisma/fetch-engine@npm:6.12.0" dependencies: - "@prisma/debug": 5.22.0 - "@prisma/engines-version": 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 - "@prisma/fetch-engine": 5.22.0 - "@prisma/get-platform": 5.22.0 - checksum: b66d08f4291af401a1dc75f096bbd980383bf4334221e5dd6be67882a0a91661d994d4b80f94a683b13bbf9062412eb194263df2f7925d53d1e20bfc6c4ede73 + "@prisma/debug": 6.12.0 + "@prisma/engines-version": 6.12.0-15.8047c96bbd92db98a2abc7c9323ce77c02c89dbc + "@prisma/get-platform": 6.12.0 + checksum: 16ebe12e4d9ae03defcc08fee43cc8f4cd29edf57032df1c88070576fb23dd99de3dbc10a6dea702c8e5ff24e57e99efc050a7c65821b1c1a4575eac64a19540 languageName: node linkType: hard -"@prisma/fetch-engine@npm:5.22.0": - version: 5.22.0 - resolution: "@prisma/fetch-engine@npm:5.22.0" +"@prisma/get-platform@npm:6.1.0": + version: 6.1.0 + resolution: "@prisma/get-platform@npm:6.1.0" dependencies: - "@prisma/debug": 5.22.0 - "@prisma/engines-version": 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 - "@prisma/get-platform": 5.22.0 - checksum: d65def9fe4a86ef05041738d12cb730cc8b948379e11ac3e3fa2db08d5640a70467b623b4bb0d6d3f4da86c135f6c6da61867c1658eab430dd0e3939382d3a41 + "@prisma/debug": 6.1.0 + checksum: f849d7c71553d389352447e095a05094cfd4a4280f9479576c800def5ec182a33c33783ac5f2bb1e08d017dca7dab505da50cb3cdb9813b5ad7589b2561b5824 languageName: node linkType: hard -"@prisma/get-platform@npm:5.22.0": - version: 5.22.0 - resolution: "@prisma/get-platform@npm:5.22.0" +"@prisma/get-platform@npm:6.12.0": + version: 6.12.0 + resolution: "@prisma/get-platform@npm:6.12.0" dependencies: - "@prisma/debug": 5.22.0 - checksum: 6d1f47dc586560c3518dadcf1cccaa8d624d1268e5d74a12277cc6ecf7cb2f530ec34b8019faa2c22eb29243efe3733d3c9005ec36dc84cd766d2794fa7b0025 + "@prisma/debug": 6.12.0 + checksum: 64a9594088eb840fa10f3e42e3ef6428a136cb5736cb133824ce220216b5179352254e37e296568bf2afaa0db3eb8a600f120d9e91e08a1b18fb515474140112 languageName: node linkType: hard @@ -5081,13 +5139,13 @@ __metadata: "@babel/eslint-plugin": ^7.22.10 "@babel/preset-env": ^7.23.3 "@babel/preset-typescript": ^7.23.3 - "@prisma/client": 5.22.0 + "@prisma/client": 6.12.0 "@types/node": ^20.4.6 babel-eslint: ^10.1.0 eslint: ^8.10.0 eslint-plugin-import: ^2.25.4 eslint-plugin-tsdoc: ^0.2.14 - prisma: 5.22.0 + prisma: 6.12.0 typescript: 4.9.5 languageName: unknown linkType: soft @@ -5176,7 +5234,7 @@ __metadata: nunjucks: ^3.2.3 pg-boss: ^10.1.3 pino: 8.15.1 - prisma: 5.22.0 + prisma: 6.12.0 resolve: ^1.19.0 sass: ^1.49.9 schmervice: ^1.6.0 @@ -5220,7 +5278,7 @@ __metadata: jest-mock-extended: ^3.0.5 nodemon: ^3.0.1 pino: 8.15.1 - prisma: 5.22.0 + prisma: ^6.1.0 schmervice: ^1.6.0 typescript: 4.9.5 languageName: unknown @@ -14188,6 +14246,15 @@ __metadata: languageName: node linkType: hard +"jiti@npm:2.4.2": + version: 2.4.2 + resolution: "jiti@npm:2.4.2" + bin: + jiti: lib/jiti-cli.mjs + checksum: c6c30c7b6b293e9f26addfb332b63d964a9f143cdd2cf5e946dbe5143db89f7c1b50ad9223b77fb1f6ddb0b9c5ecef995fea024ecf7d2861d285d779cde66e1e + languageName: node + linkType: hard + "jju@npm:~1.4.0": version: 1.4.0 resolution: "jju@npm:1.4.0" @@ -17440,18 +17507,35 @@ __metadata: languageName: node linkType: hard -"prisma@npm:5.22.0": - version: 5.22.0 - resolution: "prisma@npm:5.22.0" +"prisma@npm:6.12.0": + version: 6.12.0 + resolution: "prisma@npm:6.12.0" + dependencies: + "@prisma/config": 6.12.0 + "@prisma/engines": 6.12.0 + peerDependencies: + typescript: ">=5.1.0" + peerDependenciesMeta: + typescript: + optional: true + bin: + prisma: build/index.js + checksum: a8f18bfe55514048ceb2263467472032a0d0b8f2ac95510bc493c903efa57cf06dfa32bf5fdd16da360e11e86e207f1e24b258215a01efbcace4c45b39dd958c + languageName: node + linkType: hard + +"prisma@npm:^6.1.0": + version: 6.1.0 + resolution: "prisma@npm:6.1.0" dependencies: - "@prisma/engines": 5.22.0 + "@prisma/engines": 6.1.0 fsevents: 2.3.3 dependenciesMeta: fsevents: optional: true bin: prisma: build/index.js - checksum: 75a098b80f656f339ec5c89fe0c88e21b410c31eba77b84ad812cfc40cd78c1c26adcab757931427af26c10367d78773b97376747fd37feb99ee401115c85458 + checksum: 062a940927c60a4ffbdb48d36e301bffb5dcfaddcfa4d4b5ae2cb9854bbfd9c5c6fb3e74a0b7242a1d09c743c2ef817552a788c3ed73e85625373ca0eb6f606a languageName: node linkType: hard