diff --git a/app/assets/javascripts/shared/tasks-pagination.js b/app/assets/javascripts/shared/tasks-pagination.js index adc335e3..725d25fe 100644 --- a/app/assets/javascripts/shared/tasks-pagination.js +++ b/app/assets/javascripts/shared/tasks-pagination.js @@ -1,8 +1,9 @@ // Tasks page pagination // Depends on: pagination.js (PaginationCore) // Depends on globals: searchFormSubmitted +// Optional global override: TASKS_RESULTS_PER_PAGE (function() { - var RESULTS_PER_PAGE = 10; + var RESULTS_PER_PAGE = (typeof window.TASKS_RESULTS_PER_PAGE === 'number') ? window.TASKS_RESULTS_PER_PAGE : 10; function recalculatePagination() { var taskContainers = document.querySelectorAll('.govuk-grid-column-three-quarters > .govuk-\\!-margin-bottom-9'); diff --git a/app/assets/javascripts/shared/victims-pagination.js b/app/assets/javascripts/shared/victims-pagination.js index 0593c543..363b46d5 100644 --- a/app/assets/javascripts/shared/victims-pagination.js +++ b/app/assets/javascripts/shared/victims-pagination.js @@ -1,7 +1,8 @@ // Victims page pagination // Depends on: pagination.js (PaginationCore) +// Optional global override: VICTIMS_RESULTS_PER_PAGE (function() { - var RESULTS_PER_PAGE = 10; + var RESULTS_PER_PAGE = (typeof window.VICTIMS_RESULTS_PER_PAGE === 'number') ? window.VICTIMS_RESULTS_PER_PAGE : 10; function recalculatePagination() { var victimPages = document.querySelectorAll('.victims-page'); diff --git a/app/views/v50/tasks.html b/app/views/v50/tasks.html index c43147b0..f9e10ce1 100644 --- a/app/views/v50/tasks.html +++ b/app/views/v50/tasks.html @@ -928,6 +928,7 @@
Every page route in the v50 and v51 prototypes (300 routes). Generated from app/views and app/routes. Click a column header to sort; use the box to filter.
| Version | URL | Page title | Template | Linked from | Links to | Session variables | Validation | Conditional logic |
|---|---|---|---|---|---|---|---|---|
| v50 | /v50/case-locked/by-someone-else | Case locked | v50/case-locked/by-someone-else.html | — | /v50/pcd/victim | — | None (prototype redirect) | — |
| v50 | /v50/case-locked/self-locked | Case locked | v50/case-locked/self-locked.html | — | /v50/pcd/victim | — | None (prototype redirect) | — |
| v50 | /v50/change-service | Change service | v50/change-service.html | /v50/victims | /v50/change-service-answer | service, serviceLead, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/change-task-due-date | Change task due date | v50/change-task-due-date.html | /v50/wft-meetings/tasks, /v50/wft-meetings/tasks2 | /v50/change-task-due-date-answer | reasonForDueDateChange, taskDueDate | None (prototype redirect) | newDueDate === previousDueDate |
| v50 | /v50/next-task-due-date | Task due date | v50/next-task-due-date.html | /v50/tasks | /v50/change-task-due-date-answer | taskDueDate | None (prototype redirect) | newDueDate === previousDueDate |
| v50 | /v50/onb/check-details | Check the details before drafting the letter | v50/onb/check-details/index.html | — | /v50/onb/check-details-answer, /v50/onb/check-details/case-type, /v50/onb/check-details/pmoc, /v50/onb/check-details/preferred-contact-times, /v50/onb/check-details/preferred-correspondence-language, /v50/onb/check-details/preferred-name, /v50/onb/check-details/risk-level, /v50/onb/check-details/translator-needed, /v50/onb/check-details/vps-status, /v50/onb/check-task-vlo, /v50/onb/service-lead | caseType, detailChange, onboardedStatus, pmoc, preferredContactTimes, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, preferredName, riskLevel, serviceLead, successNotification, translatorNeeded, victimForename, victimSurname, vlo, vpsStatus | None (prototype redirect) | (data['successNotification'] == "yes") and (data['onboardedStatus'] == "Yes") | data['detailChange'] == "no" | data['serviceLead'] == 'Not aligned' | data['serviceLead'] == "Not aligned" | data['preferredCorrespondenceLanguage'] == "Other" | data['vlo'] | data['caseType'] | data['riskLevel'] | data['pmoc'] | data['preferredCorrespondenceLanguage'] == "English" or data['preferredCorrespondenceLanguage'] == "Welsh" or data['preferredCorrespondenceLanguage'] == "Other" | data['preferredCorrespondenceLanguage'] == "Other" | data['translatorNeeded'] == "Yes" or data['translatorNeeded'] == "No" | data['preferredContactTimes'] | data['preferredName'] | data['vpsStatus'] |
| v50 | /v50/onb/check-details/case-type | Charging type | v50/onb/check-details/case-type.html | /v50/onb/check-details | /v50/check-details/case-type-answer | — | None (prototype redirect) | — |
| v50 | /v50/onb/check-details/pmoc | Preferred method of contact | v50/onb/check-details/pmoc.html | /v50/onb/check-details | /v50/check-details/pmoc-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/onb/check-details/preferred-contact-times | Preferred contact times | v50/onb/check-details/preferred-contact-times.html | /v50/onb/check-details | /v50/check-details/preferred-contact-times-answer | preferredContactTimes, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/onb/check-details/preferred-correspondence-language | Preferred correspondence language | v50/onb/check-details/preferred-correspondence-language.html | /v50/onb/check-details | /v50/check-details/preferred-correspondence-language-answer | preferredCorrespondenceLanguageOther, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/onb/check-details/preferred-name | Preferred name | v50/onb/check-details/preferred-name.html | /v50/onb/check-details | /v50/check-details/preferred-name-answer | preferredName, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/onb/check-details/risk-level | Domestic abuse risk level | v50/onb/check-details/risk-level.html | /v50/onb/check-details | /v50/check-details/risk-level-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/onb/check-details/translator-needed | Translator needed | v50/onb/check-details/translator-needed.html | /v50/onb/check-details | /v50/check-details/translator-needed-answer | translatorNeededDetails, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/onb/check-details/vps-status | VPS status | v50/onb/check-details/vps-status.html | /v50/onb/check-details | /v50/check-details/vps-status-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/onb/check-task | Check the task details are correct | v50/onb/check-task.html | — | /v50/onb/check-task-answer, /v50/onb/manual-task, /v50/onb/meeting-purpose, /v50/onb/next-task, /v50/onb/next-task-due-date | manualTask, manualTaskName, meetingPurpose, meetingPurposeDetails, nextTask, taskDueDate, taskNote, victimForename, victimSurname | None (prototype redirect) | data['nextTask'] | data['nextTask'] == "dtc" | data['nextTask'] == "no-task" | data['nextTask'] == "meeting-offer" or data['nextTask'] == "meeting-arranged" or data['nextTask'] == "meeting-outcome" | data['meetingPurpose'] == "pre-trial" | data['manualTask'] == "yes" | data['manualTaskName'] | data['taskDueDate'] | data['taskNote'] == "" | data['taskDueDate'] | data['nextTask'] == "no-task" |
| v50 | /v50/onb/check-task-vlo | Victim liaison officer | v50/onb/check-task-vlo.html | /v50/onb/check-details | /v50/onb/check-task-vlo-answer | victimForename, victimSurname, vlo | None (prototype redirect) | request.session.data.vloReturnTo === 'check-task' | request.session.data.vloReturnTo === 'check-details' |
| v50 | /v50/onb/manual-task | Create a task | v50/onb/manual-task.html | /v50/onb/check-task | /v50/onb/manual-task-answer | manualTaskName, taskDueDate, taskNote, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/onb/meeting-purpose | Task selection | v50/onb/meeting-purpose.html | /v50/onb/check-task | /v50/onb/meeting-purpose-answer | meetingPurposeDetails | None (prototype redirect) | — |
| v50 | /v50/onb/next-task | Next task | v50/onb/next-task.html | /v50/onb/check-task | /v50/onb/next-task-answer | nextTask, victimForename, victimSurname | None (prototype redirect) | nextTask == "other" | nextTask == "no-task" | nextTask == "meeting-offer" || nextTask == "meeting-arranged" || nextTask == "meeting-outcome" |
| v50 | /v50/onb/next-task-due-date | Task due date | v50/onb/next-task-due-date.html | /v50/onb/check-task | /v50/onb/next-task-due-date-answer | taskDueDate | None (prototype redirect) | — |
| v50 | /v50/onb/onboarded | Victim onboarded | v50/onb/onboarded.html | — | /v50/victims | manualTaskName, nextTask, taskDueDate, victimForename, victimSurname | None (prototype redirect) | data['nextTask'] == "dtc" |
| v50 | /v50/onb/pmoc | Preferred method of contact | v50/onb/pmoc.html | — | /v50/onb/pmoc-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/onb/service-lead | Service lead | v50/onb/service-lead.html | /v50/onb/check-details, /v50/victims, /v50/wft-meetings/victims | /v50/onb/service-lead-answer | victimForename, victimSurname | None (prototype redirect) | onboardedStatus == "no" |
| v50 | /v50/other/call-logged | Telephone call logged | v50/other/call-logged.html | — | /v50/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/other/contacted-by | How did you contact the victim? | v50/other/contacted-by.html | — | /v50/other/contacted-by-answer | contactedBy, otherContactMethod, victimForename, victimSurname | None (prototype redirect) | contactedBy == "call" | contactedBy == "email" | contactedBy == "post" | contactedBy == "text" | contactedBy == "in-person" | contactedBy == "other" |
| v50 | /v50/other/email-details | Log an email | v50/other/email-details.html | — | /v50/other/email-details-answer | otherCommunications, otherEmailDate, otherEmailHour, otherEmailMinutes, otherEmailType, otherIndividual, otherIndividualName, otherIndividualRole, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | !Array.isArray(request.session.data['otherCommunications']) |
| v50 | /v50/other/email-logged | Email logged | v50/other/email-logged.html | — | /v50/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/other/in-person | Log an in-person conversation | v50/other/in-person.html | — | /v50/other/in-person-answer | otherCommunications, otherInPersonDate, otherInPersonHour, otherInPersonMinutes, otherIndividual, otherIndividualName, otherIndividualRole, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | !Array.isArray(request.session.data['otherCommunications']) |
| v50 | /v50/other/in-person-logged | In-person meeting logged | v50/other/in-person-logged.html | — | /v50/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/other/letter-details | Log a letter | v50/other/letter-details.html | — | /v50/other/letter-details-answer | otherCommunications, otherIndividual, otherIndividualName, otherIndividualRole, otherLetterDate, otherLetterHour, otherLetterMinutes, otherLetterType, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | !Array.isArray(request.session.data['otherCommunications']) |
| v50 | /v50/other/letter-logged | Letter logged | v50/other/letter-logged.html | — | /v50/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/other/log | Log a communication | v50/other/log.html | — | — | dateOfCommunicationDay, dateOfCommunicationMonth, dateOfCommunicationYear, individualOtherName, purposeOfCommunication | None (prototype redirect) | — |
| v50 | /v50/other/other | Log other communication | v50/other/other.html | — | /v50/other/other-details-answer | otherCommsDate, otherCommsHour, otherCommsMinutes, otherCommsType, otherCommunications, otherContactMethod, otherIndividual, otherIndividualName, otherIndividualRole, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | !Array.isArray(request.session.data['otherCommunications']) |
| v50 | /v50/other/other-logged | Other communication logged | v50/other/other-logged.html | — | /v50/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/other/telephone-call | Log a telephone call | v50/other/telephone-call.html | — | /v50/other/telephone-call-answer | otherCallDate, otherCallHour, otherCallMinutes, otherCallType, otherCommunications, otherIndividual, otherIndividualName, otherIndividualRole, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | !Array.isArray(request.session.data['otherCommunications']) |
| v50 | /v50/other/text-message | Log a text message | v50/other/text-message.html | — | /v50/other/text-message-answer | otherCommunications, otherIndividual, otherIndividualName, otherIndividualRole, otherTextMessageDate, otherTextMessageHour, otherTextMessageMinutes, otherTextMessageType, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | !Array.isArray(request.session.data['otherCommunications']) |
| v50 | /v50/other/text-message-logged | Text message logged | v50/other/text-message-logged.html | — | /v50/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/overview | Overview | v50/overview.html | — | /v50/onb/tasks | — | None (prototype redirect) | — |
| v50 | /v50/overview2 | Overview | v50/overview2.html | — | — | — | JS submit guard | — |
| v50 | /v50/overview3 | Overview | v50/overview3.html | — | — | — | JS submit guard | — |
| v50 | /v50/overview4 | Overview | v50/overview4.html | — | — | — | JS submit guard | — |
| v50 | /v50/overview5 | Overview | v50/overview5.html | — | — | — | JS submit guard | — |
| v50 | /v50/overview6-initial | Overview | v50/overview6-initial.html | — | — | — | None (prototype redirect) | — |
| v50 | /v50/overview6-vlm | Overview | v50/overview6-vlm.html | — | — | — | None (prototype redirect) | — |
| v50 | /v50/overview6-vlo | Overview | v50/overview6-vlo.html | — | — | — | None (prototype redirect) | — |
| v50 | /v50/pcd/call/follow-up-moc | Follow-up method of contact | v50/pcd/call/follow-up-moc.html | /v50/tasks, /v50/wft-meetings/tasks, /v50/wft-meetings/tasks2 | /v50/pcd/call/follow-up-moc-answer | pcdCallAttempt, pcdFumoc, victimForename, victimSurname | None (prototype redirect) | pcdFumoc == "Email" | pcdCallAttempt == "1" | pcdCallAttempt == "2" | pcdFumoc == "Post" | pcdCallAttempt == "1" | pcdCallAttempt == "2" | pcdCallAttempt == "1" | pcdCallAttempt == "2" |
| v50 | /v50/pcd/call/next-attempt-moc | Next attempt method of contact | v50/pcd/call/next-attempt-moc.html | /v50/tasks, /v50/wft-meetings/tasks, /v50/wft-meetings/tasks2 | /v50/pcd/call/next-attempt-moc-answer | pcdAttemptToContactAgain, pcdCallAttempt | None (prototype redirect) | pcdAttemptToContactAgain == "call" | pcdCallAttempt == "1" | pcdAttemptToContactAgain == "email" | pcdCallAttempt == "1" | pcdCallAttempt == "2" |
| v50 | /v50/pcd/call/phone-call-1 | Telephone call 1 | v50/pcd/call/phone-call-1.html | — | /v50/pcd/call/phone-call-1-answer | pcdCallDate1, pcdVictimInformed1 | None (prototype redirect) | pcdVictimInformed1 == "Yes" |
| v50 | /v50/pcd/call/phone-call-2 | Telephone call 2 | v50/pcd/call/phone-call-2.html | — | /v50/pcd/call/phone-call-2-answer | pcdCallDate2, pcdVictimInformed2 | None (prototype redirect) | pcdVictimInformed2 == "Yes" |
| v50 | /v50/pcd/call/phone-call-3 | Telephone call 3 details | v50/pcd/call/phone-call-3.html | — | /v50/pcd/call/phone-call-3-answer | pcdCallDate3, pcdVictimInformed3 | None (prototype redirect) | pcdVictimInformed3 == "Yes" |
| v50 | /v50/pcd/call/text-message-details | Text message details | v50/pcd/call/text-message-details.html | — | /v50/pcd/call/text-message-details-answer | pcdCallDate1 | None (prototype redirect) | — |
| v50 | /v50/pcd/call/was-text-message-sent | Was a text message sent to the victim? | v50/pcd/call/was-text-message-sent.html | /v50/tasks, /v50/wft-meetings/tasks, /v50/wft-meetings/tasks2 | /v50/pcd/call/was-text-message-sent-answer | pcdWasTextMessageSent, victimForename, victimSurname | None (prototype redirect) | pcdWasTextMessageSent == "Yes" |
| v50 | /v50/pcd/draft/first-hearing | First hearing | v50/pcd/draft/first-hearing.html | — | /v50/pcd/draft/first-hearing-answer | firstHearingDate, firstHearingLocation | None (prototype redirect) | — |
| v50 | /v50/pcd/draft/pcd-type | Charging decision type | v50/pcd/draft/pcd-type.html | — | /v50/pcd/draft/pcd-type-answer | existingTask, pcdType, victimForename, victimSurname | None (prototype redirect) | pcdType == "dtc" | existingTask == "dtc" | pcdType == "nfa" | existingTask == "nfa" |
| v50 | /v50/pcd/draft/task-already-exists | This task already exists | v50/pcd/draft/task-already-exists.html | — | /v50/pcd/draft/task-already-exists-answer, /v50/victim/new-task/task-due-date | existingTask, existingTaskDueDate, pcdType, victimForename, victimSurname | None (prototype redirect) | data['existingTask'] == "dtc" | data['existingTaskDueDate'] |
| v50 | /v50/pcd/follow-up/call-logged | Follow-up telephone call logged | v50/pcd/follow-up/call-logged.html | — | /v50/victim | pcdType, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") |
| v50 | /v50/pcd/follow-up/email-details | Follow-up email details | v50/pcd/follow-up/email-details.html | — | /v50/pcd/follow-up/email-details-answer | followUpEmailDispatchDate, followUpEmailDispatchNotes | error markup | — |
| v50 | /v50/pcd/follow-up/email-logged | Follow-up email logged | v50/pcd/follow-up/email-logged.html | — | /v50/victim | pcdType, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") |
| v50 | /v50/pcd/follow-up/letter-details | Follow-up letter details | v50/pcd/follow-up/letter-details.html | — | /v50/pcd/follow-up/letter-details-answer | followUpLetterDispatchDate, followUpLetterDispatchNotes | error markup | — |
| v50 | /v50/pcd/follow-up/letter-logged | Follow-up letter logged | v50/pcd/follow-up/letter-logged.html | — | /v50/victim | pcdType, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") |
| v50 | /v50/pcd/follow-up/log-follow-up | Log a follow-up | v50/pcd/follow-up/log-follow-up.html | — | /v50/pcd/follow-up/log-follow-up-answer | pcdFollowUpType, victimForename, victimSurname | error markup | pcdFollowUpType == "call" | pcdFollowUpType == "email" | pcdFollowUpType == "not-contacted" |
| v50 | /v50/pcd/follow-up/not-contacted-logged | Decision not to contact logged | v50/pcd/follow-up/not-contacted-logged.html | — | /v50/victim | pcdType, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") |
| v50 | /v50/pcd/follow-up/not-contacted-reason | Reason for not contacting the victim | v50/pcd/follow-up/not-contacted-reason.html | — | /v50/pcd/follow-up/not-contacted-reason-answer | followUpNotContactedReason, victimForename, victimSurname | error markup | — |
| v50 | /v50/pcd/follow-up/telephone-call | Follow-up telephone call | v50/pcd/follow-up/telephone-call.html | — | /v50/pcd/follow-up/telephone-call-answer | followUpCallDate, followUpCallHour, followUpCallMinutes, followUpCallNotes, followUpCallType, followUpVictimInformed | None (prototype redirect) | — |
| v50 | /v50/pcd/pre-draft/check-eligibility | Check eligibility | v50/pcd/pre-draft/check-eligibility.html | — | /v50/pcd/pre-draft/check-eligibility-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/pcd/pre-draft/contacted-by | How did you contact the victim? | v50/pcd/pre-draft/contacted-by.html | /v50/tasks, /v50/wft-meetings/tasks, /v50/wft-meetings/tasks2 | /v50/pcd/pre-draft/contacted-by-answer | contactedBy, successReason, victimForename, victimSurname | None (prototype redirect) | data['successReason'] != "task-created" | contactedBy == "call" | contactedBy == "email" | contactedBy == "post" | contactedBy == "not-contacted" |
| v50 | /v50/pcd/pre-draft/not-contacted-reason | Reason for not contacting the victim | v50/pcd/pre-draft/not-contacted-reason.html | — | /v50/pcd/pre-draft/not-contacted-reason-answer | notContactedReason, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/pcd/send/email-details | Email details | v50/pcd/send/email-details.html | /v50/tasks, /v50/wft-meetings/tasks, /v50/wft-meetings/tasks2 | /v50/pcd/send/email-details-answer | emailDispatchDate | None (prototype redirect) | — |
| v50 | /v50/pcd/send/email-logged | Email logged | v50/pcd/send/email-logged.html | — | /v50/victim | contactedBy, pcdCallAttempt, pcdType, pcdVictimInformed1, pcdVictimInformed2, pcdVictimInformed3, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") | (data['contactedBy'] == "call") | (data['pcdCallAttempt'] == "1") | (data['pcdVictimInformed1'] == "Yes") | (data['pcdVictimInformed2'] == "Yes") | (data['pcdVictimInformed3'] == "Yes") |
| v50 | /v50/pcd/send/letter-details | Letter details | v50/pcd/send/letter-details.html | /v50/tasks, /v50/wft-meetings/tasks, /v50/wft-meetings/tasks2 | /v50/pcd/send/letter-details-answer | letterDispatchDate | None (prototype redirect) | — |
| v50 | /v50/pcd/send/letter-logged | Letter logged | v50/pcd/send/letter-logged.html | — | /v50/victim | contactedBy, pcdCallAttempt, pcdType, pcdVictimInformed1, pcdVictimInformed2, pcdVictimInformed3, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") | (data['contactedBy'] == "call") | (data['pcdCallAttempt'] == "1") | (data['pcdVictimInformed1'] == "Yes") | (data['pcdVictimInformed2'] == "Yes") | (data['pcdVictimInformed3'] == "Yes") |
| v50 | /v50/sign-in | Sign in to your account | v50/sign-in.html | — | /v50/sign-in-answer | password | None (prototype redirect) | — |
| v50 | /v50/task-assignee | Task Assignee | v50/task-assignee.html | /v50/tasks, /v50/wft-meetings/tasks, /v50/wft-meetings/tasks2 | /v50/task-assignee-answer | task-assignee, taskAssignee | None (prototype redirect) | — |
| v50 | /v50/task-updated | Victim onboarded | v50/task-updated.html | — | /v50/tasks | taskDueDate, taskName | None (prototype redirect) | — |
| v50 | /v50/tasks | Tasks | v50/tasks.html | /v50/task-updated | /v50/next-task-due-date, /v50/onb/tasks/clear-filters, /v50/pcd/call/follow-up-moc, /v50/pcd/call/next-attempt-moc, /v50/pcd/call/was-text-message-sent, /v50/pcd/pre-draft/contacted-by, /v50/pcd/send/email-details, /v50/pcd/send/letter-details, /v50/task-assignee, /v50/update-manual-task, /v50/vcl/call/follow-up-moc, /v50/vcl/call/next-attempt-moc, /v50/vcl/call/was-text-message-sent, /v50/vcl/pre-draft/contacted-by, /v50/vcl/send/email-details, /v50/vcl/send/letter-details, /v50/victim | area, manualTaskName, meetingPurpose, meetingPurposeDetails, nextTask, onboardedStatus, pcdFumoc, pcdSent, pcdStatus, service, serviceLead, taskAssignee, taskDueDate, vclFumoc, vclStatus, victimForename, victimSurname, vlo | None (prototype redirect) | loop.index == 6 | (data['pcdSent'] == "yes") or (data['pcdFumoc'] == "None") or (data['nextTask'] == "") or (data['nextTask'] == "no-task") | (data['nextTask'] == "dtc") | data['meetingPurpose'] == "pre-trial" | data['taskDueDate'] | data['onboardedStatus'] == 'Yes' | (data['nextTask'] == "dtc") or (data['nextTask'] == "nfa") | (data['pcdStatus'] == "log-not-started") | (data['pcdFumoc'] == "Email") | (data['vclStatus'] == "log-not-started") | (data['vclFumoc'] == "Email") | record.purpose | record.dueDateTag |
| v50 | /v50/update-manual-task | Update task status | v50/update-manual-task.html | /v50/tasks | /v50/update-manual-task-answer | manualTaskName, taskAction, taskDueDate, taskNote | None (prototype redirect) | data['taskDueDate'] | data['taskNote'] == "" | request.body['taskAction'] === 'complete' |
| v50 | /v50/victim | Victim | v50/victim/index.html | /v50/other/call-logged, /v50/other/email-logged, /v50/other/in-person-logged, /v50/other/letter-logged, /v50/other/other-logged, /v50/other/text-message-logged, /v50/pcd/follow-up/call-logged, /v50/pcd/follow-up/email-logged, /v50/pcd/follow-up/letter-logged, /v50/pcd/follow-up/not-contacted-logged, /v50/pcd/send/email-logged, /v50/pcd/send/letter-logged, /v50/tasks, /v50/victim/case-contacts/family-liaison-officer, /v50/victim/case-contacts/idva, /v50/victim/case-contacts/isva, /v50/victim/new-task/task-created, /v50/victims, /v50/wft-meetings/tasks, /v50/wft-meetings/tasks2, /v50/wft-meetings/victims | — | area, case-locked, caseType, existingTaskDueDate, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v50 | /v50/victim/case-contacts/family-liaison-officer | Family Liaison Officer | v50/victim/case-contacts/family-liaison-officer.html | — | /v50/victim, /v50/victim/case-contacts/family-liaison-officer-answer, /v50/victim/case-contacts/family-liaison-officer-delete | familyLiaisonOfficerDeleted, familyLiaisonOfficerEmailAddress, familyLiaisonOfficerForename, familyLiaisonOfficerName, familyLiaisonOfficerPhoneNumber, familyLiaisonOfficerSurname | None (prototype redirect) | isExisting | isExisting |
| v50 | /v50/victim/case-contacts/idva | Independent Domestic Violence Advisor (IDVA) | v50/victim/case-contacts/idva.html | — | /v50/victim, /v50/victim/case-contacts/idva-answer, /v50/victim/case-contacts/idva-delete | idvaAddressLine1, idvaAddressLine2, idvaAddressLine3, idvaAddressLine4, idvaAddressLine5, idvaCity, idvaCounty, idvaDeleted, idvaEmailAddress, idvaName, idvaPhoneNumber, idvaPostCode | None (prototype redirect) | isExisting | isExisting |
| v50 | /v50/victim/case-contacts/isva | Independent Sexual Violence Advisor (ISVA) | v50/victim/case-contacts/isva.html | — | /v50/victim, /v50/victim/case-contacts/isva-answer, /v50/victim/case-contacts/isva-delete | isvaAddressLine1, isvaAddressLine2, isvaAddressLine3, isvaAddressLine4, isvaAddressLine5, isvaCity, isvaCounty, isvaDeleted, isvaEmailAddress, isvaName, isvaPhoneNumber, isvaPostCode | None (prototype redirect) | isExisting | isExisting |
| v50 | /v50/victim/case-information/area | Change area | v50/victim/case-information/area.html | — | /v50/victim/case-information/area-answer | area | None (prototype redirect) | — |
| v50 | /v50/victim/case-information/charging-type | Change charging type | v50/victim/case-information/charging-type.html | — | /v50/victim/case-information/charging-type-answer | — | None (prototype redirect) | — |
| v50 | /v50/victim/index-notasks | Victim | v50/victim/index-notasks.html | — | /v50/victim/new-task/task-selection | area, case-locked, caseType, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v50 | /v50/victim/index-withtasks | Victim | v50/victim/index-withtasks.html | — | /v50/victim/new-task/task-selection | area, case-locked, caseType, existingTaskDueDate, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v50 | /v50/victim/index-withtasks-v2 | Victim | v50/victim/index-withtasks-v2.html | — | — | area, case-locked, caseType, existingTaskDueDate, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v50 | /v50/victim/index-withtasks-v3 | Victim | v50/victim/index-withtasks-v3.html | — | /v50/victim/new-task/task-selection | area, case-locked, caseType, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v50 | /v50/victim/index-withtasks-v4 | Victim | v50/victim/index-withtasks-v4.html | — | /v50/victim/new-task/task-selection | area, case-locked, caseType, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v50 | /v50/victim/new-task/check-task | Check the task details are correct | v50/victim/new-task/check-task.html | — | /v50/victim/new-task/check-task-answer, /v50/victim/new-task/manual-task, /v50/victim/new-task/meeting-purpose, /v50/victim/new-task/task-due-date, /v50/victim/new-task/task-selection | existingManualTaskName, existingMeetingPurpose, existingTask, existingTaskDueDate, existingTaskNote, manualTask, manualTaskName, meetingPurpose, meetingPurposeDetails, nextTask, taskDueDate, taskNote, victimForename, victimSurname | None (prototype redirect) | data['nextTask'] | data['nextTask'] == "dtc" | data['nextTask'] == "meeting-offer" or data['nextTask'] == "meeting-arranged" or data['nextTask'] == "meeting-outcome" | data['meetingPurpose'] == "pre-trial" | data['manualTask'] == "yes" | data['manualTaskName'] | data['taskDueDate'] | data['taskNote'] == "" | data['taskDueDate'] | duplicateNonMeeting || duplicateMeeting |
| v50 | /v50/victim/new-task/manual-task | Set a reminder | v50/victim/new-task/manual-task.html | /v50/victim/new-task/check-task, /v50/wft-meetings/new-task/check-task | /v50/victim/new-task/manual-task-answer | manualTaskName, taskNote, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/new-task/meeting-purpose | Task selection | v50/victim/new-task/meeting-purpose.html | /v50/victim/new-task/check-task | /v50/victim/new-task/meeting-purpose-answer | existingMeetingPurpose, existingTask, meetingPurposeDetails, nextTask | None (prototype redirect) | — |
| v50 | /v50/victim/new-task/task-already-exists | This task already exists | v50/victim/new-task/task-already-exists.html | — | /v50/victim/new-task/task-already-exists-answer, /v50/victim/new-task/task-due-date | existingManualTaskName, existingMeetingPurpose, existingTask, existingTaskDueDate, taskDueDate, victimForename, victimSurname | None (prototype redirect) | data['existingTask'] == "meeting-offer" or data['existingTask'] == "meeting-arranged" or data['existingTask'] == "meeting-outcome" | data['existingMeetingPurpose'] == "pre-trial" | data['existingTask'] == "dtc" | data['existingTask'] == "meeting-offer" or data['existingTask'] == "meeting-arranged" or data['existingTask'] == "meeting-outcome" | data['existingMeetingPurpose'] == "pre-trial" | data['existingTaskDueDate'] |
| v50 | /v50/victim/new-task/task-created | Victim onboarded | v50/victim/new-task/task-created.html | — | /v50/victim | manualTaskName, nextTask, taskDueDate | None (prototype redirect) | data['nextTask'] == "dtc" |
| v50 | /v50/victim/new-task/task-due-date | Task due date | v50/victim/new-task/task-due-date.html | /v50/pcd/draft/task-already-exists, /v50/victim/new-task/check-task, /v50/victim/new-task/task-already-exists, /v50/wft-meetings/new-task/check-task | /v50/victim/new-task/task-due-date-answer | existingTaskDueDate, taskDueDate | None (prototype redirect) | fromTaskAlreadyExists | fromPcd | fromCheck and data['taskDueDate'] | request.body.fromTaskAlreadyExists === 'yes' | request.body.fromPcd === 'yes' |
| v50 | /v50/victim/new-task/task-selection | Task selection | v50/victim/new-task/task-selection.html | /v50/victim/index-notasks, /v50/victim/index-withtasks, /v50/victim/index-withtasks-v3, /v50/victim/index-withtasks-v4, /v50/victim/new-task/check-task, /v50/wft-meetings/new-task/check-task | /v50/victim/new-task/next-task-answer | existingTask, nextTask, victimForename, victimSurname | None (prototype redirect) | nextTask == "dtc" | nextTask == "nfa" | nextTask == "stopped-charge" | nextTask == "altered-charge" | nextTask == "other" | nextTask == "no-task" | nextTask == "meeting-offer" || nextTask == "meeting-arranged" || nextTask == "meeting-outcome" |
| v50 | /v50/victim/task-details/another-task1 | Victim record | v50/victim/task-details/another-task1.html | — | — | caseUrn, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/task-details/another-task2 | Victim record | v50/victim/task-details/another-task2.html | — | — | caseUrn, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/task-details/another-task3 | Victim record | v50/victim/task-details/another-task3.html | — | — | caseUrn, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/task-details/decision-to-charge | Victim record | v50/victim/task-details/decision-to-charge.html | — | — | caseUrn, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/task-details/decision-to-charge-order | Victim record | v50/victim/task-details/decision-to-charge-order.html | — | — | caseUrn, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/task-details/outcome-logged | Victim record | v50/victim/task-details/outcome-logged.html | — | — | caseUrn, subTab, victimForename, victimSurname | None (prototype redirect) | (data['subTab'] == "ptm") |
| v50 | /v50/victim/task-details/outcome-logged2 | Victim record | v50/victim/task-details/outcome-logged2.html | — | — | caseUrn, subTab, victimForename, victimSurname | None (prototype redirect) | (data['subTab'] == "ptm") |
| v50 | /v50/victim/victim-details/address | Victim's address | v50/victim/victim-details/address.html | — | /v50/victim/victim-details/address-answer | victimAddressLine1, victimAddressLine2, victimAddressLine3, victimAddressLine4, victimAddressLine5, victimForename, victimPostCode, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/category | Victim category | v50/victim/victim-details/category.html | — | /v50/victim/victim-details/category-answer | victimForename, victimSurname | None (prototype redirect) | opt.hint |
| v50 | /v50/victim/victim-details/contact-times | Preferred contact times | v50/victim/victim-details/contact-times.html | — | /v50/victim/victim-details/contact-times-answer | preferredContactTimes, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/correspondence-language | Preferred correspondence language | v50/victim/victim-details/correspondence-language.html | — | /v50/victim/victim-details/correspondence-language-answer | preferredCorrespondenceLanguageOther, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/date-of-birth | Victim's date of birth | v50/victim/victim-details/date-of-birth.html | — | /v50/victim/victim-details/date-of-birth-answer | victimDobDay, victimDobMonth, victimDobYear, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/disability | Disability or access needs | v50/victim/victim-details/disability.html | — | /v50/victim/victim-details/disability-answer | victimDisability, victimDisabilityDetails | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/email-address | Victim's email address | v50/victim/victim-details/email-address.html | — | /v50/victim/victim-details/email-address-answer | victimEmailAddress, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/ethnicity | Victim ethnicity | v50/victim/victim-details/ethnicity.html | — | /v50/victim/victim-details/ethnicity-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/full-name | Victim's full name | v50/victim/victim-details/full-name.html | — | /v50/victim/victim-details/full-name-answer | victimForename, victimSurname, victimTitle | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/gender | Victim gender | v50/victim/victim-details/gender.html | — | /v50/victim/victim-details/gender-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/pmoc | Preferred method of contact | v50/victim/victim-details/pmoc.html | — | /v50/victim/victim-details/pmoc-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/pmoc-police | Preferred method of contact for police | v50/victim/victim-details/pmoc-police.html | — | /v50/victim/victim-details/pmoc-police-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/power-of-attorney | Power of attorney details | v50/victim/victim-details/power-of-attorney.html | — | /v50/victim/victim-details/power-of-attorney-answer | powerOfAttorneyEmail, powerOfAttorneyName, powerOfAttorneyPhone | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/preferred-name | Victim's preferred name | v50/victim/victim-details/preferred-name.html | — | /v50/victim/victim-details/preferred-name-answer | victimForename, victimPreferredName, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/previous-convictions | Previous convictions | v50/victim/victim-details/previous-convictions.html | — | /v50/victim/victim-details/previous-convictions-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/reasonable-adjustments | Reasonable adjustments | v50/victim/victim-details/reasonable-adjustments.html | — | /v50/victim/victim-details/reasonable-adjustments-answer | reasonableAdjustments, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/religion | Religion or belief | v50/victim/victim-details/religion.html | — | /v50/victim/victim-details/religion-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/risk-level | Domestic abuse risk level | v50/victim/victim-details/risk-level.html | — | /v50/victim/victim-details/risk-level-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/service | Change service | v50/victim/victim-details/service.html | — | /v50/victim/victim-details/service-answer | service, serviceLead, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/telephone-number | Victim's telephone number | v50/victim/victim-details/telephone-number.html | — | /v50/victim/victim-details/telephone-number-answer | victimForename, victimHomePhone, victimPhoneNumber, victimSurname, victimWorkPhone | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/translator-needed | Translator needed | v50/victim/victim-details/translator-needed.html | — | /v50/victim/victim-details/translator-needed-answer | translatorNeededDetails, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/victim-representative | Victim representative details | v50/victim/victim-details/victim-representative.html | — | /v50/victim/victim-details/victim-representative-answer | victimRepresentativeEmail, victimRepresentativeName, victimRepresentativePhone | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/vps-status | VPS status | v50/victim/victim-details/vps-status.html | — | /v50/victim/victim-details/vps-status-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victim/victim-details/wants-contact | Do they want to be contacted? | v50/victim/victim-details/wants-contact.html | — | /v50/victim/victim-details/wants-contact-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/victims | Victims | v50/victims.html | /v50/onb/onboarded | /v50/change-service, /v50/onb/service-lead, /v50/victim, /v50/vlo | area, caseUrn, onboardedStatus, service, serviceLead, victimForename, victimSurname, vlo | None (prototype redirect) | vloNameParts | length == 2 | data['serviceLead'] == 'Not aligned' | vlo.checked | record.surname == 'PALMER' | data['onboardedStatus'] == 'Yes' | data['onboardedStatus'] == 'Yes' | data['serviceLead'] == 'Not aligned' | data['onboardedStatus'] == 'Yes' | data['onboardedStatus'] == 'Yes' | record.onboarded | record.area | record.service in ['Universal', 'Enhanced', 'RASSO'] | record.onboarded |
| v50 | /v50/vlo | Victim liaison officer | v50/vlo.html | /v50/victims, /v50/wft-meetings/victims | /v50/onb/vlo-answer | victimForename, victimSurname, vlo | None (prototype redirect) | — |
| v50 | /v50/wft-meetings/log-arranged-meeting | Tasks | v50/wft-meetings/log-arranged-meeting.html | — | /v50/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v50 | /v50/wft-meetings/log-arranged-meeting-check | Tasks | v50/wft-meetings/log-arranged-meeting-check.html | — | /v50/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v50 | /v50/wft-meetings/log-meeting-outcome | Tasks | v50/wft-meetings/log-meeting-outcome.html | — | /v50/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v50 | /v50/wft-meetings/log-meeting-outcome-check | Tasks | v50/wft-meetings/log-meeting-outcome-check.html | — | /v50/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v50 | /v50/wft-meetings/log-offer-response | Tasks | v50/wft-meetings/log-offer-response.html | — | /v50/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v50 | /v50/wft-meetings/log-offer-response-check | Tasks | v50/wft-meetings/log-offer-response-check.html | — | /v50/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v50 | /v50/wft-meetings/log-offer-task | Tasks | v50/wft-meetings/log-offer-task.html | — | /v50/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v50 | /v50/wft-meetings/new-task/check-task | Check the task details are correct | v50/wft-meetings/new-task/check-task.html | — | /v50/victim/new-task/manual-task, /v50/victim/new-task/task-due-date, /v50/victim/new-task/task-selection | manualTask, nextTask, taskDueDate, taskName, taskNote, victimForename, victimSurname | None (prototype redirect) | data['nextTask'] | data['manualTask'] == "yes" | data['taskName'] | data['taskDueDate'] | data['taskNote'] == "" | data['taskDueDate'] |
| v50 | /v50/wft-meetings/new-task/manual-task | Set a reminder | v50/wft-meetings/new-task/manual-task.html | — | /v50/victim/new-task/manual-task-answer | taskDueDate, taskNote, victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/wft-meetings/new-task/purposet | Task selection | v50/wft-meetings/new-task/purposet.html | — | /v50/wft-meetings/new-task/purposet-answer | purposet | None (prototype redirect) | — |
| v50 | /v50/wft-meetings/new-task/task-created | Victim onboarded | v50/wft-meetings/new-task/task-created.html | — | — | manualTask, nextTask, taskDueDate, taskName, victimForename, victimSurname | None (prototype redirect) | data['manualTask'] == "yes" |
| v50 | /v50/wft-meetings/new-task/task-due-date | Task due date | v50/wft-meetings/new-task/task-due-date.html | — | /v50/wft-meetings/new-task/task-due-date-answer | taskDueDate | None (prototype redirect) | — |
| v50 | /v50/wft-meetings/new-task/task-selection | Task selection | v50/wft-meetings/new-task/task-selection.html | — | /v50/wft-meetings/new-task/next-task-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v50 | /v50/wft-meetings/tasks | Tasks | v50/wft-meetings/tasks.html | — | /v50/change-task-due-date, /v50/onb/tasks/clear-filters, /v50/pcd/call/follow-up-moc, /v50/pcd/call/next-attempt-moc, /v50/pcd/call/was-text-message-sent, /v50/pcd/pre-draft/check-details, /v50/pcd/pre-draft/contacted-by, /v50/pcd/send/email-details, /v50/pcd/send/letter-details, /v50/task-assignee, /v50/victim | area, nextTask, nextTaskDueDate, pcdFumoc, pcdSent, pcdStatus, pcdType, service, taskAssignee, taskDueDate, victimForename, victimSurname, vlo | None (prototype redirect) | assigneeNameParts | length == 2 | (data['pcdSent'] == "yes") or (data['pcdFumoc'] == "None") | (data['pcdType'] == "dtc") | (data['pcdStatus'] == "check-details") | (data['pcdFumoc'] == "email") |
| v50 | /v50/wft-meetings/tasks2 | Tasks | v50/wft-meetings/tasks2.html | — | /v50/change-task-due-date, /v50/onb/tasks/clear-filters, /v50/pcd/call/follow-up-moc, /v50/pcd/call/next-attempt-moc, /v50/pcd/call/was-text-message-sent, /v50/pcd/pre-draft/check-details, /v50/pcd/pre-draft/contacted-by, /v50/pcd/send/email-details, /v50/pcd/send/letter-details, /v50/task-assignee, /v50/victim | area, nextTask, nextTaskDueDate, pcdFumoc, pcdSent, pcdStatus, pcdType, service, taskAssignee, taskDueDate, victimForename, victimSurname, vlo | None (prototype redirect) | assigneeNameParts | length == 2 | (data['pcdSent'] == "yes") or (data['pcdFumoc'] == "None") | (data['pcdType'] == "dtc") | (data['pcdStatus'] == "check-details") | (data['pcdFumoc'] == "email") |
| v50 | /v50/wft-meetings/victims | Victims | v50/wft-meetings/victims.html | — | /v50/onb/service-lead, /v50/victim, /v50/vlo | area, caseUrn, onboardedStatus, serviceLead, victimForename, victimSurname, vlo | None (prototype redirect) | vloNameParts | length == 2 | data['onboardedStatus'] == 'Yes' | data['onboardedStatus'] == 'Yes' | data['onboardedStatus'] != 'Yes' | data['onboardedStatus'] == 'Yes' |
| v51 | /v51/case-locked/by-someone-else | Case locked | v51/case-locked/by-someone-else.html | — | /v51/pcd/victim | — | None (prototype redirect) | — |
| v51 | /v51/case-locked/self-locked | Case locked | v51/case-locked/self-locked.html | — | /v51/pcd/victim | — | None (prototype redirect) | — |
| v51 | /v51/change-service | Change service | v51/change-service.html | /v51/victims | /v51/change-service-answer | service, serviceLead, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/change-task-due-date | Change task due date | v51/change-task-due-date.html | /v51/wft-meetings/tasks, /v51/wft-meetings/tasks2 | /v51/change-task-due-date-answer | reasonForDueDateChange, taskDueDate | None (prototype redirect) | newDueDate === previousDueDate |
| v51 | /v51/next-task-due-date | Task due date | v51/next-task-due-date.html | /v51/tasks | /v51/change-task-due-date-answer | taskDueDate | None (prototype redirect) | newDueDate === previousDueDate |
| v51 | /v51/onb/check-details | Check the details before drafting the letter | v51/onb/check-details/index.html | — | /v51/onb/check-details-answer, /v51/onb/check-details/case-type, /v51/onb/check-details/pmoc, /v51/onb/check-details/preferred-contact-times, /v51/onb/check-details/preferred-correspondence-language, /v51/onb/check-details/preferred-name, /v51/onb/check-details/risk-level, /v51/onb/check-details/translator-needed, /v51/onb/check-details/vps-status, /v51/onb/check-task-vlo, /v51/onb/service-lead | caseType, detailChange, onboardedStatus, pmoc, preferredContactTimes, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, preferredName, riskLevel, serviceLead, successNotification, translatorNeeded, victimForename, victimSurname, vlo, vpsStatus | None (prototype redirect) | (data['successNotification'] == "yes") and (data['onboardedStatus'] == "Yes") | data['detailChange'] == "no" | data['serviceLead'] == 'Not aligned' | data['serviceLead'] == "Not aligned" | data['preferredCorrespondenceLanguage'] == "Other" | data['vlo'] | data['caseType'] | data['riskLevel'] | data['pmoc'] | data['preferredCorrespondenceLanguage'] == "English" or data['preferredCorrespondenceLanguage'] == "Welsh" or data['preferredCorrespondenceLanguage'] == "Other" | data['preferredCorrespondenceLanguage'] == "Other" | data['translatorNeeded'] == "Yes" or data['translatorNeeded'] == "No" | data['preferredContactTimes'] | data['preferredName'] | data['vpsStatus'] |
| v51 | /v51/onb/check-details/case-type | Charging type | v51/onb/check-details/case-type.html | /v51/onb/check-details | /v51/check-details/case-type-answer | — | None (prototype redirect) | — |
| v51 | /v51/onb/check-details/pmoc | Preferred method of contact | v51/onb/check-details/pmoc.html | /v51/onb/check-details | /v51/check-details/pmoc-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/onb/check-details/preferred-contact-times | Preferred contact times | v51/onb/check-details/preferred-contact-times.html | /v51/onb/check-details | /v51/check-details/preferred-contact-times-answer | preferredContactTimes, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/onb/check-details/preferred-correspondence-language | Preferred correspondence language | v51/onb/check-details/preferred-correspondence-language.html | /v51/onb/check-details | /v51/check-details/preferred-correspondence-language-answer | preferredCorrespondenceLanguageOther, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/onb/check-details/preferred-name | Preferred name | v51/onb/check-details/preferred-name.html | /v51/onb/check-details | /v51/check-details/preferred-name-answer | preferredName, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/onb/check-details/risk-level | Domestic abuse risk level | v51/onb/check-details/risk-level.html | /v51/onb/check-details | /v51/check-details/risk-level-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/onb/check-details/translator-needed | Translator needed | v51/onb/check-details/translator-needed.html | /v51/onb/check-details | /v51/check-details/translator-needed-answer | translatorNeededDetails, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/onb/check-details/vps-status | VPS status | v51/onb/check-details/vps-status.html | /v51/onb/check-details | /v51/check-details/vps-status-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/onb/check-task | Check the task details are correct | v51/onb/check-task.html | — | /v51/onb/check-task-answer, /v51/onb/manual-task, /v51/onb/meeting-purpose, /v51/onb/next-task, /v51/onb/next-task-due-date | manualTask, manualTaskName, meetingPurpose, meetingPurposeDetails, nextTask, taskDueDate, taskNote, victimForename, victimSurname | None (prototype redirect) | data['nextTask'] | data['nextTask'] == "dtc" | data['nextTask'] == "no-task" | data['nextTask'] == "meeting-offer" or data['nextTask'] == "meeting-arranged" or data['nextTask'] == "meeting-outcome" | data['meetingPurpose'] == "pre-trial" | data['manualTask'] == "yes" | data['manualTaskName'] | data['taskDueDate'] | data['taskNote'] == "" | data['taskDueDate'] | data['nextTask'] == "no-task" |
| v51 | /v51/onb/check-task-vlo | Victim liaison officer | v51/onb/check-task-vlo.html | /v51/onb/check-details | /v51/onb/check-task-vlo-answer | victimForename, victimSurname, vlo | None (prototype redirect) | request.session.data.vloReturnTo === 'check-task' | request.session.data.vloReturnTo === 'check-details' |
| v51 | /v51/onb/manual-task | Create a task | v51/onb/manual-task.html | /v51/onb/check-task | /v51/onb/manual-task-answer | manualTaskName, taskDueDate, taskNote, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/onb/meeting-purpose | Task selection | v51/onb/meeting-purpose.html | /v51/onb/check-task | /v51/onb/meeting-purpose-answer | meetingPurposeDetails | None (prototype redirect) | — |
| v51 | /v51/onb/next-task | Next task | v51/onb/next-task.html | /v51/onb/check-task | /v51/onb/next-task-answer | nextTask, victimForename, victimSurname | None (prototype redirect) | nextTask == "other" | nextTask == "no-task" | nextTask == "meeting-offer" || nextTask == "meeting-arranged" || nextTask == "meeting-outcome" |
| v51 | /v51/onb/next-task-due-date | Task due date | v51/onb/next-task-due-date.html | /v51/onb/check-task | /v51/onb/next-task-due-date-answer | taskDueDate | None (prototype redirect) | — |
| v51 | /v51/onb/onboarded | Victim onboarded | v51/onb/onboarded.html | — | /v51/victims | manualTaskName, nextTask, taskDueDate, victimForename, victimSurname | None (prototype redirect) | data['nextTask'] == "dtc" |
| v51 | /v51/onb/pmoc | Preferred method of contact | v51/onb/pmoc.html | — | /v51/onb/pmoc-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/onb/service-lead | Service lead | v51/onb/service-lead.html | /v51/onb/check-details, /v51/victims, /v51/wft-meetings/victims | /v51/onb/service-lead-answer | victimForename, victimSurname | None (prototype redirect) | onboardedStatus == "no" |
| v51 | /v51/other/call-logged | Telephone call logged | v51/other/call-logged.html | — | /v51/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/other/contacted-by | How did you contact the victim? | v51/other/contacted-by.html | — | /v51/other/contacted-by-answer | contactedBy, otherContactMethod, victimForename, victimSurname | None (prototype redirect) | contactedBy == "call" | contactedBy == "email" | contactedBy == "post" | contactedBy == "text" | contactedBy == "in-person" | contactedBy == "other" |
| v51 | /v51/other/email-details | Log an email | v51/other/email-details.html | — | /v51/other/email-details-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, otherCommunications, otherEmailDate, otherEmailHour, otherEmailMinutes, otherEmailType, otherIndividual, otherIndividualName, otherIndividualRole, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' | !Array.isArray(request.session.data['otherCommunications']) |
| v51 | /v51/other/email-logged | Email logged | v51/other/email-logged.html | — | /v51/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/other/in-person | Log an in-person conversation | v51/other/in-person.html | — | /v51/other/in-person-answer | otherCommunications, otherInPersonDate, otherInPersonHour, otherInPersonMinutes, otherIndividual, otherIndividualName, otherIndividualRole, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | !Array.isArray(request.session.data['otherCommunications']) |
| v51 | /v51/other/in-person-logged | In-person meeting logged | v51/other/in-person-logged.html | — | /v51/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/other/letter-details | Log a letter | v51/other/letter-details.html | — | /v51/other/letter-details-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, otherCommunications, otherIndividual, otherIndividualName, otherIndividualRole, otherLetterDate, otherLetterHour, otherLetterMinutes, otherLetterType, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' | !Array.isArray(request.session.data['otherCommunications']) |
| v51 | /v51/other/letter-logged | Letter logged | v51/other/letter-logged.html | — | /v51/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/other/log | Log a communication | v51/other/log.html | — | — | dateOfCommunicationDay, dateOfCommunicationMonth, dateOfCommunicationYear, individualOtherName, purposeOfCommunication | None (prototype redirect) | — |
| v51 | /v51/other/other | Log other communication | v51/other/other.html | — | /v51/other/other-details-answer | otherCommsDate, otherCommsHour, otherCommsMinutes, otherCommsType, otherCommunications, otherContactMethod, otherIndividual, otherIndividualName, otherIndividualRole, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | !Array.isArray(request.session.data['otherCommunications']) |
| v51 | /v51/other/other-logged | Other communication logged | v51/other/other-logged.html | — | /v51/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/other/telephone-call | Log a telephone call | v51/other/telephone-call.html | — | /v51/other/telephone-call-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, otherCallDate, otherCallHour, otherCallMinutes, otherCallType, otherCommunications, otherIndividual, otherIndividualName, otherIndividualRole, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' | !Array.isArray(request.session.data['otherCommunications']) |
| v51 | /v51/other/text-message | Log a text message | v51/other/text-message.html | — | /v51/other/text-message-answer | otherCommunications, otherIndividual, otherIndividualName, otherIndividualRole, otherTextMessageDate, otherTextMessageHour, otherTextMessageMinutes, otherTextMessageType, purposeOfCommunication, victimForename, victimSurname | None (prototype redirect) | !Array.isArray(request.session.data['otherCommunications']) |
| v51 | /v51/other/text-message-logged | Text message logged | v51/other/text-message-logged.html | — | /v51/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/overview | Overview | v51/overview.html | — | /v51/onb/tasks | — | None (prototype redirect) | — |
| v51 | /v51/overview2 | Overview | v51/overview2.html | — | — | — | JS submit guard | — |
| v51 | /v51/overview3 | Overview | v51/overview3.html | — | — | — | JS submit guard | — |
| v51 | /v51/overview4 | Overview | v51/overview4.html | — | — | — | JS submit guard | — |
| v51 | /v51/overview5 | Overview | v51/overview5.html | — | — | — | JS submit guard | — |
| v51 | /v51/overview6-initial | Overview | v51/overview6-initial.html | — | — | — | None (prototype redirect) | — |
| v51 | /v51/overview6-vlm | Overview | v51/overview6-vlm.html | — | — | — | None (prototype redirect) | — |
| v51 | /v51/overview6-vlo | Overview | v51/overview6-vlo.html | — | — | — | None (prototype redirect) | — |
| v51 | /v51/pcd/call/follow-up-moc | Follow-up method of contact | v51/pcd/call/follow-up-moc.html | /v51/tasks, /v51/wft-meetings/tasks, /v51/wft-meetings/tasks2 | /v51/pcd/call/follow-up-moc-answer | pcdCallAttempt, pcdFumoc, victimForename, victimSurname | None (prototype redirect) | pcdFumoc == "Email" | pcdCallAttempt == "1" | pcdCallAttempt == "2" | pcdFumoc == "Post" | pcdCallAttempt == "1" | pcdCallAttempt == "2" | pcdCallAttempt == "1" | pcdCallAttempt == "2" |
| v51 | /v51/pcd/call/next-attempt-moc | Next attempt method of contact | v51/pcd/call/next-attempt-moc.html | /v51/tasks, /v51/wft-meetings/tasks, /v51/wft-meetings/tasks2 | /v51/pcd/call/next-attempt-moc-answer | pcdAttemptToContactAgain, pcdCallAttempt | None (prototype redirect) | pcdAttemptToContactAgain == "call" | pcdCallAttempt == "1" | pcdAttemptToContactAgain == "email" | pcdCallAttempt == "1" | pcdCallAttempt == "2" |
| v51 | /v51/pcd/call/phone-call-1 | Telephone call 1 | v51/pcd/call/phone-call-1.html | — | /v51/pcd/call/phone-call-1-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, pcdCallDate1, pcdVictimInformed1, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' | pcdVictimInformed1 == "Yes" |
| v51 | /v51/pcd/call/phone-call-2 | Telephone call 2 | v51/pcd/call/phone-call-2.html | — | /v51/pcd/call/phone-call-2-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, pcdCallDate2, pcdVictimInformed2, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' | pcdVictimInformed2 == "Yes" |
| v51 | /v51/pcd/call/phone-call-3 | Telephone call 3 details | v51/pcd/call/phone-call-3.html | — | /v51/pcd/call/phone-call-3-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, pcdCallDate3, pcdVictimInformed3, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' | pcdVictimInformed3 == "Yes" |
| v51 | /v51/pcd/call/text-message-details | Text message details | v51/pcd/call/text-message-details.html | — | /v51/pcd/call/text-message-details-answer | pcdCallDate1 | None (prototype redirect) | — |
| v51 | /v51/pcd/call/was-text-message-sent | Was a text message sent to the victim? | v51/pcd/call/was-text-message-sent.html | /v51/tasks, /v51/wft-meetings/tasks, /v51/wft-meetings/tasks2 | /v51/pcd/call/was-text-message-sent-answer | pcdWasTextMessageSent, victimForename, victimSurname | None (prototype redirect) | pcdWasTextMessageSent == "Yes" |
| v51 | /v51/pcd/draft/first-hearing | First hearing | v51/pcd/draft/first-hearing.html | — | /v51/pcd/draft/first-hearing-answer | firstHearingDate, firstHearingLocation | None (prototype redirect) | — |
| v51 | /v51/pcd/draft/pcd-type | Charging decision type | v51/pcd/draft/pcd-type.html | — | /v51/pcd/draft/pcd-type-answer | existingTask, pcdType, victimForename, victimSurname | None (prototype redirect) | pcdType == "dtc" | existingTask == "dtc" | pcdType == "nfa" | existingTask == "nfa" |
| v51 | /v51/pcd/draft/task-already-exists | This task already exists | v51/pcd/draft/task-already-exists.html | — | /v51/pcd/draft/task-already-exists-answer, /v51/victim/new-task/task-due-date | existingTask, existingTaskDueDate, pcdType, victimForename, victimSurname | None (prototype redirect) | data['existingTask'] == "dtc" | data['existingTaskDueDate'] |
| v51 | /v51/pcd/follow-up/call-logged | Follow-up telephone call logged | v51/pcd/follow-up/call-logged.html | — | /v51/victim | pcdType, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") |
| v51 | /v51/pcd/follow-up/email-details | Follow-up email details | v51/pcd/follow-up/email-details.html | — | /v51/pcd/follow-up/email-details-answer | followUpEmailDispatchDate, followUpEmailDispatchNotes, followUpEmailIndividual, followUpEmailIndividualName, followUpEmailIndividualRole, idvaDeleted, idvaName, isvaDeleted, isvaName, victimForename, victimSurname | error markup | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' |
| v51 | /v51/pcd/follow-up/email-logged | Follow-up email logged | v51/pcd/follow-up/email-logged.html | — | /v51/victim | pcdType, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") |
| v51 | /v51/pcd/follow-up/letter-details | Follow-up letter details | v51/pcd/follow-up/letter-details.html | — | /v51/pcd/follow-up/letter-details-answer | followUpLetterDispatchDate, followUpLetterDispatchNotes, followUpLetterIndividual, followUpLetterIndividualName, followUpLetterIndividualRole, idvaDeleted, idvaName, isvaDeleted, isvaName, victimForename, victimSurname | error markup | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' |
| v51 | /v51/pcd/follow-up/letter-logged | Follow-up letter logged | v51/pcd/follow-up/letter-logged.html | — | /v51/victim | pcdType, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") |
| v51 | /v51/pcd/follow-up/log-follow-up | Log a follow-up | v51/pcd/follow-up/log-follow-up.html | — | /v51/pcd/follow-up/log-follow-up-answer | pcdFollowUpType, victimForename, victimSurname | error markup | pcdFollowUpType == "call" | pcdFollowUpType == "email" | pcdFollowUpType == "not-contacted" |
| v51 | /v51/pcd/follow-up/not-contacted-logged | Decision not to contact logged | v51/pcd/follow-up/not-contacted-logged.html | — | /v51/victim | pcdType, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") |
| v51 | /v51/pcd/follow-up/not-contacted-reason | Reason for not contacting the victim | v51/pcd/follow-up/not-contacted-reason.html | — | /v51/pcd/follow-up/not-contacted-reason-answer | followUpNotContactedReason, victimForename, victimSurname | error markup | — |
| v51 | /v51/pcd/follow-up/telephone-call | Follow-up telephone call | v51/pcd/follow-up/telephone-call.html | — | /v51/pcd/follow-up/telephone-call-answer | followUpCallDate, followUpCallHour, followUpCallIndividual, followUpCallIndividualName, followUpCallIndividualRole, followUpCallMinutes, followUpCallNotes, followUpCallType, followUpVictimInformed, idvaDeleted, idvaName, isvaDeleted, isvaName, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' |
| v51 | /v51/pcd/pre-draft/check-eligibility | Check eligibility | v51/pcd/pre-draft/check-eligibility.html | — | /v51/pcd/pre-draft/check-eligibility-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/pcd/pre-draft/contacted-by | How did you contact the victim? | v51/pcd/pre-draft/contacted-by.html | /v51/tasks, /v51/wft-meetings/tasks, /v51/wft-meetings/tasks2 | /v51/pcd/pre-draft/contacted-by-answer | contactedBy, successReason, victimForename, victimSurname | None (prototype redirect) | data['successReason'] != "task-created" | contactedBy == "call" | contactedBy == "email" | contactedBy == "post" | contactedBy == "not-contacted" |
| v51 | /v51/pcd/pre-draft/not-contacted-reason | Reason for not contacting the victim | v51/pcd/pre-draft/not-contacted-reason.html | — | /v51/pcd/pre-draft/not-contacted-reason-answer | notContactedReason, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/pcd/send/email-details | Email details | v51/pcd/send/email-details.html | /v51/tasks, /v51/wft-meetings/tasks, /v51/wft-meetings/tasks2 | /v51/pcd/send/email-details-answer | emailDispatchDate, idvaDeleted, idvaName, isvaDeleted, isvaName, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' |
| v51 | /v51/pcd/send/email-logged | Email logged | v51/pcd/send/email-logged.html | — | /v51/victim | contactedBy, pcdCallAttempt, pcdType, pcdVictimInformed1, pcdVictimInformed2, pcdVictimInformed3, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") | (data['contactedBy'] == "call") | (data['pcdCallAttempt'] == "1") | (data['pcdVictimInformed1'] == "Yes") | (data['pcdVictimInformed2'] == "Yes") | (data['pcdVictimInformed3'] == "Yes") |
| v51 | /v51/pcd/send/letter-details | Letter details | v51/pcd/send/letter-details.html | /v51/tasks, /v51/wft-meetings/tasks, /v51/wft-meetings/tasks2 | /v51/pcd/send/letter-details-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, letterDispatchDate, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' |
| v51 | /v51/pcd/send/letter-logged | Letter logged | v51/pcd/send/letter-logged.html | — | /v51/victim | contactedBy, pcdCallAttempt, pcdType, pcdVictimInformed1, pcdVictimInformed2, pcdVictimInformed3, victimForename, victimSurname | None (prototype redirect) | (data['pcdType'] == "dtc") | (data['contactedBy'] == "call") | (data['pcdCallAttempt'] == "1") | (data['pcdVictimInformed1'] == "Yes") | (data['pcdVictimInformed2'] == "Yes") | (data['pcdVictimInformed3'] == "Yes") |
| v51 | /v51/sign-in | Sign in to your account | v51/sign-in.html | — | /v51/sign-in-answer | password | None (prototype redirect) | — |
| v51 | /v51/task-assignee | Task Assignee | v51/task-assignee.html | /v51/tasks, /v51/wft-meetings/tasks, /v51/wft-meetings/tasks2 | /v51/task-assignee-answer | task-assignee, taskAssignee | None (prototype redirect) | — |
| v51 | /v51/task-updated | Victim onboarded | v51/task-updated.html | — | /v51/tasks | taskDueDate, taskName | None (prototype redirect) | — |
| v51 | /v51/tasks | Tasks | v51/tasks.html | /v51/task-updated | /v51/next-task-due-date, /v51/onb/tasks/clear-filters, /v51/pcd/call/follow-up-moc, /v51/pcd/call/next-attempt-moc, /v51/pcd/call/was-text-message-sent, /v51/pcd/pre-draft/contacted-by, /v51/pcd/send/email-details, /v51/pcd/send/letter-details, /v51/task-assignee, /v51/update-manual-task, /v51/vcl/call/follow-up-moc, /v51/vcl/call/next-attempt-moc, /v51/vcl/call/was-text-message-sent, /v51/vcl/send/email-details, /v51/vcl/send/letter-details, /v51/vcl/start-task, /v51/victim | area, manualTaskName, meetingPurpose, meetingPurposeDetails, nextTask, onboardedStatus, pcdFumoc, pcdSent, pcdStatus, service, serviceLead, taskAssignee, taskDueDate, vclFumoc, vclStatus, victimForename, victimSurname, vlo | None (prototype redirect) | loop.index == 6 | ((data['pcdSent'] == "yes") or (data['pcdFumoc'] == "None") or (data['nextTask'] == "") or (data['nextTask'] == "no-task")) and (data['nextTask'] != "stopped-charge") and (data['nextTask'] != "altered-charge") | (data['nextTask'] == "dtc") | data['meetingPurpose'] == "pre-trial" | data['taskDueDate'] | data['onboardedStatus'] == 'Yes' | (data['nextTask'] == "dtc") or (data['nextTask'] == "nfa") | (data['pcdStatus'] == "log-not-started") | (data['pcdFumoc'] == "Email") | (data['vclStatus'] == "log-not-started") | (data['vclFumoc'] == "Email") | record.purpose | record.dueDateTag |
| v51 | /v51/update-manual-task | Update task status | v51/update-manual-task.html | /v51/tasks | /v51/update-manual-task-answer | manualTaskName, taskAction, taskDueDate, taskNote | None (prototype redirect) | data['taskDueDate'] | data['taskNote'] == "" | request.body['taskAction'] === 'complete' |
| v51 | /v51/vcl/call/follow-up-moc | Follow-up method of contact | v51/vcl/call/follow-up-moc.html | /v51/tasks | /v51/vcl/call/follow-up-moc-answer | vdFumoc, vdNoFumocDetails, victimForename, victimSurname | None (prototype redirect) | fumoc == "Email" | fumoc == "Post" |
| v51 | /v51/vcl/call/next-attempt-moc | Next attempt method of contact | v51/vcl/call/next-attempt-moc.html | /v51/tasks | /v51/vcl/call/next-attempt-moc-answer | vdCallAttempts, vdNextMoc | None (prototype redirect) | (data['vdCallAttempts'] | length) < 3 | nextMoc == "call" | nextMoc == "email" |
| v51 | /v51/vcl/call/phone-call | Telephone call | v51/vcl/call/phone-call.html | — | /v51/vcl/call/phone-call-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, vdCallAttempts, vdCallDate, vdCallHour, vdCallIndividual, vdCallIndividualName, vdCallIndividualRole, vdCallMinutes, vdCallNotes, vdCallType, vdVictimInformed, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' | !Array.isArray(data['vdCallAttempts']) | informed == "Yes" | attemptCount == 1 |
| v51 | /v51/vcl/call/text-message-details | Text message details | v51/vcl/call/text-message-details.html | — | /v51/vcl/call/text-message-details-answer | vdCallAttempts, vdSecondCallHour, vdSecondCallMinutes, vdTextMessageDate, vdTextMessageHour, vdTextMessageMinutes, vdThirdCallHour, vdThirdCallMinutes, vdWasTextMessageSent | None (prototype redirect) | last |
| v51 | /v51/vcl/call/was-text-message-sent | Was a text message sent to the victim? | v51/vcl/call/was-text-message-sent.html | /v51/tasks | /v51/vcl/call/was-text-message-sent-answer | vdCallAttempts, vdWasTextMessageSent, victimForename, victimSurname | None (prototype redirect) | last | data['vdWasTextMessageSent'] == "Yes" |
| v51 | /v51/vcl/draft/stopped-charge | Stopped charge reason | v51/vcl/draft/stopped-charge.html | — | /v51/vcl/draft/stopped-charge-answer | — | None (prototype redirect) | — |
| v51 | /v51/vcl/draft/substantially-altered-charge | Substantially altered charge | v51/vcl/draft/substantially-altered-charge.html | — | /v51/vcl/draft/substantially-altered-charge-answer | — | None (prototype redirect) | — |
| v51 | /v51/vcl/draft/vcl-type | Communication type | v51/vcl/draft/vcl-type.html | — | /v51/vcl/draft/vcl-type-answer | commType, vdType, victimForename, victimSurname | None (prototype redirect) | commType == "dtc" || commType == "nfa" | field !== 'vdType' | commType == "stopped-charge" |
| v51 | /v51/vcl/follow-up/email-details | Follow-up email details | v51/vcl/follow-up/email-details.html | — | /v51/vcl/follow-up/email-details-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, vclFollowUpEmailDate, vclFollowUpEmailIndividual, vclFollowUpEmailIndividualName, vclFollowUpEmailIndividualRole, vclFollowUpEmailNotes, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' |
| v51 | /v51/vcl/follow-up/email-logged | Follow-up email logged | v51/vcl/follow-up/email-logged.html | — | /v51/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/vcl/follow-up/letter-details | Follow-up letter details | v51/vcl/follow-up/letter-details.html | — | /v51/vcl/follow-up/letter-details-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, vclFollowUpLetterDate, vclFollowUpLetterIndividual, vclFollowUpLetterIndividualName, vclFollowUpLetterIndividualRole, vclFollowUpLetterNotes, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' |
| v51 | /v51/vcl/follow-up/letter-logged | Follow-up letter logged | v51/vcl/follow-up/letter-logged.html | — | /v51/victim | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/vcl/follow-up/log-follow-up | Log a follow-up | v51/vcl/follow-up/log-follow-up.html | — | /v51/vcl/follow-up/log-follow-up-answer | vclFollowUpType, victimForename, victimSurname | error markup | followUpType == "email" |
| v51 | /v51/vcl/pre-draft/contacted-by | How did you contact the victim? | v51/vcl/pre-draft/contacted-by.html | — | /v51/vcl/pre-draft/contacted-by-answer | vdContactedBy, victimForename, victimSurname | None (prototype redirect) | contactedBy == "call" | contactedBy == "email" | contactedBy == "post" |
| v51 | /v51/vcl/pre-draft/not-contacted-reason | Reason for not contacting the victim | v51/vcl/pre-draft/not-contacted-reason.html | — | /v51/vcl/pre-draft/not-contacted-reason-answer | vdNotContactedReason, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/vcl/send/email-details | Email details | v51/vcl/send/email-details.html | /v51/tasks | /v51/vcl/send/email-details-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, vdEmailDate, vdEmailNotes, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' |
| v51 | /v51/vcl/send/letter-details | Letter details | v51/vcl/send/letter-details.html | /v51/tasks | /v51/vcl/send/letter-details-answer | idvaDeleted, idvaName, isvaDeleted, isvaName, vdLetterDate, vdLetterNotes, victimForename, victimSurname | None (prototype redirect) | data['isvaName'] and data['isvaDeleted'] != 'yes' | data['idvaName'] and data['idvaDeleted'] != 'yes' |
| v51 | /v51/victim | Victim | v51/victim/index.html | /v51/other/call-logged, /v51/other/email-logged, /v51/other/in-person-logged, /v51/other/letter-logged, /v51/other/other-logged, /v51/other/text-message-logged, /v51/pcd/follow-up/call-logged, /v51/pcd/follow-up/email-logged, /v51/pcd/follow-up/letter-logged, /v51/pcd/follow-up/not-contacted-logged, /v51/pcd/send/email-logged, /v51/pcd/send/letter-logged, /v51/tasks, /v51/vcl/follow-up/email-logged, /v51/vcl/follow-up/letter-logged, /v51/victim/case-contacts/family-liaison-officer, /v51/victim/case-contacts/idva, /v51/victim/case-contacts/isva, /v51/victim/new-task/task-created, /v51/victims, /v51/wft-meetings/tasks, /v51/wft-meetings/tasks2, /v51/wft-meetings/victims | — | area, case-locked, caseType, existingTaskDueDate, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v51 | /v51/victim/case-contacts/family-liaison-officer | Family Liaison Officer | v51/victim/case-contacts/family-liaison-officer.html | — | /v51/victim, /v51/victim/case-contacts/family-liaison-officer-answer, /v51/victim/case-contacts/family-liaison-officer-delete | familyLiaisonOfficerDeleted, familyLiaisonOfficerEmailAddress, familyLiaisonOfficerForename, familyLiaisonOfficerName, familyLiaisonOfficerPhoneNumber, familyLiaisonOfficerSurname | None (prototype redirect) | isExisting | isExisting |
| v51 | /v51/victim/case-contacts/idva | Independent Domestic Violence Advisor (IDVA) | v51/victim/case-contacts/idva.html | — | /v51/victim, /v51/victim/case-contacts/idva-answer, /v51/victim/case-contacts/idva-delete | idvaAddressLine1, idvaAddressLine2, idvaAddressLine3, idvaAddressLine4, idvaAddressLine5, idvaCity, idvaCounty, idvaDeleted, idvaEmailAddress, idvaName, idvaPhoneNumber, idvaPostCode | None (prototype redirect) | isExisting | isExisting |
| v51 | /v51/victim/case-contacts/isva | Independent Sexual Violence Advisor (ISVA) | v51/victim/case-contacts/isva.html | — | /v51/victim, /v51/victim/case-contacts/isva-answer, /v51/victim/case-contacts/isva-delete | isvaAddressLine1, isvaAddressLine2, isvaAddressLine3, isvaAddressLine4, isvaAddressLine5, isvaCity, isvaCounty, isvaDeleted, isvaEmailAddress, isvaName, isvaPhoneNumber, isvaPostCode | None (prototype redirect) | isExisting | isExisting |
| v51 | /v51/victim/case-information/area | Change area | v51/victim/case-information/area.html | — | /v51/victim/case-information/area-answer | area | None (prototype redirect) | — |
| v51 | /v51/victim/case-information/charging-type | Change charging type | v51/victim/case-information/charging-type.html | — | /v51/victim/case-information/charging-type-answer | — | None (prototype redirect) | — |
| v51 | /v51/victim/index-notasks | Victim | v51/victim/index-notasks.html | — | /v51/victim/new-task/task-selection | area, case-locked, caseType, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v51 | /v51/victim/index-withtasks | Victim | v51/victim/index-withtasks.html | — | /v51/victim/new-task/task-selection | area, case-locked, caseType, existingTaskDueDate, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v51 | /v51/victim/index-withtasks-v2 | Victim | v51/victim/index-withtasks-v2.html | — | — | area, case-locked, caseType, existingTaskDueDate, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v51 | /v51/victim/index-withtasks-v3 | Victim | v51/victim/index-withtasks-v3.html | — | /v51/victim/new-task/task-selection | area, case-locked, caseType, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v51 | /v51/victim/index-withtasks-v4 | Victim | v51/victim/index-withtasks-v4.html | — | /v51/victim/new-task/task-selection | area, case-locked, caseType, pmoc, pmocPolice, preferredCorrespondenceLanguage, preferredCorrespondenceLanguageOther, riskLevel, serviceLead, success, successReason, translatorNeeded, victimDateOfBirth, victimDisability, victimEmailAddress, victimEthnicity, victimForename, victimGender, victimPreferredName, victimPreviousConvictions, victimReligion, victimSurname, victimTitle, victimWantsContact, vpsStatus | JS submit guard | (data['case-locked'] == "by-someone-else") | (data['success'] == "yes") and (data['successReason'] == "charging-type-updated" or data['successReason'] == "area-updated") | (data['successReason'] == "charging-type-updated") | (data['successReason'] == "email-address-updated") | data['preferredCorrespondenceLanguage'] == 'Other' | data['serviceLead'] == "Not aligned" | (data['successReason'] == "not-informed-after-call-1") or (data['successReason'] == "informed-after-call-1") |
| v51 | /v51/victim/new-task/check-task | Check the task details are correct | v51/victim/new-task/check-task.html | — | /v51/victim/new-task/check-task-answer, /v51/victim/new-task/manual-task, /v51/victim/new-task/meeting-purpose, /v51/victim/new-task/task-due-date, /v51/victim/new-task/task-selection | existingManualTaskName, existingMeetingPurpose, existingTask, existingTaskDueDate, existingTaskNote, manualTask, manualTaskName, meetingPurpose, meetingPurposeDetails, nextTask, taskDueDate, taskNote, victimForename, victimSurname | None (prototype redirect) | data['nextTask'] | data['nextTask'] == "dtc" | data['nextTask'] == "meeting-offer" or data['nextTask'] == "meeting-arranged" or data['nextTask'] == "meeting-outcome" | data['meetingPurpose'] == "pre-trial" | data['manualTask'] == "yes" | data['manualTaskName'] | data['taskDueDate'] | data['taskNote'] == "" | data['taskDueDate'] | duplicateNonMeeting || duplicateMeeting |
| v51 | /v51/victim/new-task/manual-task | Set a reminder | v51/victim/new-task/manual-task.html | /v51/victim/new-task/check-task, /v51/wft-meetings/new-task/check-task | /v51/victim/new-task/manual-task-answer | manualTaskName, taskNote, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/new-task/meeting-purpose | Task selection | v51/victim/new-task/meeting-purpose.html | /v51/victim/new-task/check-task | /v51/victim/new-task/meeting-purpose-answer | existingMeetingPurpose, existingTask, meetingPurposeDetails, nextTask | None (prototype redirect) | — |
| v51 | /v51/victim/new-task/task-already-exists | This task already exists | v51/victim/new-task/task-already-exists.html | — | /v51/victim/new-task/task-already-exists-answer, /v51/victim/new-task/task-due-date | existingManualTaskName, existingMeetingPurpose, existingTask, existingTaskDueDate, taskDueDate, victimForename, victimSurname | None (prototype redirect) | data['existingTask'] == "meeting-offer" or data['existingTask'] == "meeting-arranged" or data['existingTask'] == "meeting-outcome" | data['existingMeetingPurpose'] == "pre-trial" | data['existingTask'] == "dtc" | data['existingTask'] == "meeting-offer" or data['existingTask'] == "meeting-arranged" or data['existingTask'] == "meeting-outcome" | data['existingMeetingPurpose'] == "pre-trial" | data['existingTaskDueDate'] |
| v51 | /v51/victim/new-task/task-created | Victim onboarded | v51/victim/new-task/task-created.html | — | /v51/victim | manualTaskName, nextTask, taskDueDate | None (prototype redirect) | data['nextTask'] == "dtc" |
| v51 | /v51/victim/new-task/task-due-date | Task due date | v51/victim/new-task/task-due-date.html | /v51/pcd/draft/task-already-exists, /v51/victim/new-task/check-task, /v51/victim/new-task/task-already-exists, /v51/wft-meetings/new-task/check-task | /v51/victim/new-task/task-due-date-answer | existingTaskDueDate, taskDueDate | None (prototype redirect) | fromTaskAlreadyExists | fromPcd | fromCheck and data['taskDueDate'] | request.body.fromTaskAlreadyExists === 'yes' | request.body.fromPcd === 'yes' |
| v51 | /v51/victim/new-task/task-selection | Task selection | v51/victim/new-task/task-selection.html | /v51/victim/index-notasks, /v51/victim/index-withtasks, /v51/victim/index-withtasks-v3, /v51/victim/index-withtasks-v4, /v51/victim/new-task/check-task, /v51/wft-meetings/new-task/check-task | /v51/victim/new-task/next-task-answer | existingTask, nextTask, victimForename, victimSurname | None (prototype redirect) | nextTask == "dtc" | nextTask == "nfa" | nextTask == "stopped-charge" | nextTask == "altered-charge" | nextTask == "other" | nextTask == "no-task" | nextTask == "meeting-offer" || nextTask == "meeting-arranged" || nextTask == "meeting-outcome" |
| v51 | /v51/victim/task-details/another-task1 | Victim record | v51/victim/task-details/another-task1.html | — | — | caseUrn, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/task-details/another-task2 | Victim record | v51/victim/task-details/another-task2.html | — | — | caseUrn, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/task-details/decision-to-charge | Victim record | v51/victim/task-details/decision-to-charge.html | — | — | caseUrn, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/task-details/outcome-logged | Victim record | v51/victim/task-details/outcome-logged.html | — | — | caseUrn, subTab, victimForename, victimSurname | None (prototype redirect) | (data['subTab'] == "ptm") |
| v51 | /v51/victim/victim-details/address | Victim's address | v51/victim/victim-details/address.html | — | /v51/victim/victim-details/address-answer | victimAddressLine1, victimAddressLine2, victimAddressLine3, victimAddressLine4, victimAddressLine5, victimForename, victimPostCode, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/category | Victim category | v51/victim/victim-details/category.html | — | /v51/victim/victim-details/category-answer | victimForename, victimSurname | None (prototype redirect) | opt.hint |
| v51 | /v51/victim/victim-details/contact-times | Preferred contact times | v51/victim/victim-details/contact-times.html | — | /v51/victim/victim-details/contact-times-answer | preferredContactTimes, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/correspondence-language | Preferred correspondence language | v51/victim/victim-details/correspondence-language.html | — | /v51/victim/victim-details/correspondence-language-answer | preferredCorrespondenceLanguageOther, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/date-of-birth | Victim's date of birth | v51/victim/victim-details/date-of-birth.html | — | /v51/victim/victim-details/date-of-birth-answer | victimDobDay, victimDobMonth, victimDobYear, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/disability | Disability or access needs | v51/victim/victim-details/disability.html | — | /v51/victim/victim-details/disability-answer | victimDisability, victimDisabilityDetails | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/email-address | Victim's email address | v51/victim/victim-details/email-address.html | — | /v51/victim/victim-details/email-address-answer | victimEmailAddress, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/ethnicity | Victim ethnicity | v51/victim/victim-details/ethnicity.html | — | /v51/victim/victim-details/ethnicity-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/full-name | Victim's full name | v51/victim/victim-details/full-name.html | — | /v51/victim/victim-details/full-name-answer | victimForename, victimSurname, victimTitle | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/gender | Victim gender | v51/victim/victim-details/gender.html | — | /v51/victim/victim-details/gender-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/pmoc | Preferred method of contact | v51/victim/victim-details/pmoc.html | — | /v51/victim/victim-details/pmoc-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/pmoc-police | Preferred method of contact for police | v51/victim/victim-details/pmoc-police.html | — | /v51/victim/victim-details/pmoc-police-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/power-of-attorney | Power of attorney details | v51/victim/victim-details/power-of-attorney.html | — | /v51/victim/victim-details/power-of-attorney-answer | powerOfAttorneyEmail, powerOfAttorneyName, powerOfAttorneyPhone | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/preferred-name | Victim's preferred name | v51/victim/victim-details/preferred-name.html | — | /v51/victim/victim-details/preferred-name-answer | victimForename, victimPreferredName, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/previous-convictions | Previous convictions | v51/victim/victim-details/previous-convictions.html | — | /v51/victim/victim-details/previous-convictions-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/reasonable-adjustments | Reasonable adjustments | v51/victim/victim-details/reasonable-adjustments.html | — | /v51/victim/victim-details/reasonable-adjustments-answer | reasonableAdjustments, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/religion | Religion or belief | v51/victim/victim-details/religion.html | — | /v51/victim/victim-details/religion-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/risk-level | Domestic abuse risk level | v51/victim/victim-details/risk-level.html | — | /v51/victim/victim-details/risk-level-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/service | Change service | v51/victim/victim-details/service.html | — | /v51/victim/victim-details/service-answer | service, serviceLead, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/telephone-number | Victim's telephone number | v51/victim/victim-details/telephone-number.html | — | /v51/victim/victim-details/telephone-number-answer | victimForename, victimHomePhone, victimPhoneNumber, victimSurname, victimWorkPhone | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/translator-needed | Translator needed | v51/victim/victim-details/translator-needed.html | — | /v51/victim/victim-details/translator-needed-answer | translatorNeededDetails, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/victim-representative | Victim representative details | v51/victim/victim-details/victim-representative.html | — | /v51/victim/victim-details/victim-representative-answer | victimRepresentativeEmail, victimRepresentativeName, victimRepresentativePhone | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/vps-status | VPS status | v51/victim/victim-details/vps-status.html | — | /v51/victim/victim-details/vps-status-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victim/victim-details/wants-contact | Do they want to be contacted? | v51/victim/victim-details/wants-contact.html | — | /v51/victim/victim-details/wants-contact-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/victims | Victims | v51/victims.html | /v51/onb/onboarded | /v51/change-service, /v51/onb/service-lead, /v51/victim, /v51/vlo | area, caseUrn, onboardedStatus, service, serviceLead, victimForename, victimSurname, vlo | None (prototype redirect) | vloNameParts | length == 2 | data['serviceLead'] == 'Not aligned' | vlo.checked | record.surname == 'PALMER' | data['onboardedStatus'] == 'Yes' | data['onboardedStatus'] == 'Yes' | data['serviceLead'] == 'Not aligned' | data['onboardedStatus'] == 'Yes' | data['onboardedStatus'] == 'Yes' | record.onboarded | record.area | record.service in ['Universal', 'Enhanced', 'RASSO'] | record.onboarded |
| v51 | /v51/vlo | Victim liaison officer | v51/vlo.html | /v51/victims, /v51/wft-meetings/victims | /v51/onb/vlo-answer | victimForename, victimSurname, vlo | None (prototype redirect) | — |
| v51 | /v51/wft-meetings/log-arranged-meeting | Tasks | v51/wft-meetings/log-arranged-meeting.html | — | /v51/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v51 | /v51/wft-meetings/log-arranged-meeting-check | Tasks | v51/wft-meetings/log-arranged-meeting-check.html | — | /v51/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v51 | /v51/wft-meetings/log-meeting-outcome | Tasks | v51/wft-meetings/log-meeting-outcome.html | — | /v51/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v51 | /v51/wft-meetings/log-meeting-outcome-check | Tasks | v51/wft-meetings/log-meeting-outcome-check.html | — | /v51/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v51 | /v51/wft-meetings/log-offer-response | Tasks | v51/wft-meetings/log-offer-response.html | — | /v51/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v51 | /v51/wft-meetings/log-offer-response-check | Tasks | v51/wft-meetings/log-offer-response-check.html | — | /v51/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v51 | /v51/wft-meetings/log-offer-task | Tasks | v51/wft-meetings/log-offer-task.html | — | /v51/onb/tasks/clear-filters | taskAssignee, taskDueDate | None (prototype redirect) | assigneeNameParts | length == 2 |
| v51 | /v51/wft-meetings/new-task/check-task | Check the task details are correct | v51/wft-meetings/new-task/check-task.html | — | /v51/victim/new-task/manual-task, /v51/victim/new-task/task-due-date, /v51/victim/new-task/task-selection | manualTask, nextTask, taskDueDate, taskName, taskNote, victimForename, victimSurname | None (prototype redirect) | data['nextTask'] | data['manualTask'] == "yes" | data['taskName'] | data['taskDueDate'] | data['taskNote'] == "" | data['taskDueDate'] |
| v51 | /v51/wft-meetings/new-task/manual-task | Set a reminder | v51/wft-meetings/new-task/manual-task.html | — | /v51/victim/new-task/manual-task-answer | taskDueDate, taskNote, victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/wft-meetings/new-task/purposet | Task selection | v51/wft-meetings/new-task/purposet.html | — | /v51/wft-meetings/new-task/purposet-answer | purposet | None (prototype redirect) | — |
| v51 | /v51/wft-meetings/new-task/task-created | Victim onboarded | v51/wft-meetings/new-task/task-created.html | — | — | manualTask, nextTask, taskDueDate, taskName, victimForename, victimSurname | None (prototype redirect) | data['manualTask'] == "yes" |
| v51 | /v51/wft-meetings/new-task/task-due-date | Task due date | v51/wft-meetings/new-task/task-due-date.html | — | /v51/wft-meetings/new-task/task-due-date-answer | taskDueDate | None (prototype redirect) | — |
| v51 | /v51/wft-meetings/new-task/task-selection | Task selection | v51/wft-meetings/new-task/task-selection.html | — | /v51/wft-meetings/new-task/next-task-answer | victimForename, victimSurname | None (prototype redirect) | — |
| v51 | /v51/wft-meetings/tasks | Tasks | v51/wft-meetings/tasks.html | — | /v51/change-task-due-date, /v51/onb/tasks/clear-filters, /v51/pcd/call/follow-up-moc, /v51/pcd/call/next-attempt-moc, /v51/pcd/call/was-text-message-sent, /v51/pcd/pre-draft/check-details, /v51/pcd/pre-draft/contacted-by, /v51/pcd/send/email-details, /v51/pcd/send/letter-details, /v51/task-assignee, /v51/victim | area, nextTask, nextTaskDueDate, pcdFumoc, pcdSent, pcdStatus, pcdType, service, taskAssignee, taskDueDate, victimForename, victimSurname, vlo | None (prototype redirect) | assigneeNameParts | length == 2 | (data['pcdSent'] == "yes") or (data['pcdFumoc'] == "None") | (data['pcdType'] == "dtc") | (data['pcdStatus'] == "check-details") | (data['pcdFumoc'] == "email") |
| v51 | /v51/wft-meetings/tasks2 | Tasks | v51/wft-meetings/tasks2.html | — | /v51/change-task-due-date, /v51/onb/tasks/clear-filters, /v51/pcd/call/follow-up-moc, /v51/pcd/call/next-attempt-moc, /v51/pcd/call/was-text-message-sent, /v51/pcd/pre-draft/check-details, /v51/pcd/pre-draft/contacted-by, /v51/pcd/send/email-details, /v51/pcd/send/letter-details, /v51/task-assignee, /v51/victim | area, nextTask, nextTaskDueDate, pcdFumoc, pcdSent, pcdStatus, pcdType, service, taskAssignee, taskDueDate, victimForename, victimSurname, vlo | None (prototype redirect) | assigneeNameParts | length == 2 | (data['pcdSent'] == "yes") or (data['pcdFumoc'] == "None") | (data['pcdType'] == "dtc") | (data['pcdStatus'] == "check-details") | (data['pcdFumoc'] == "email") |
| v51 | /v51/wft-meetings/victims | Victims | v51/wft-meetings/victims.html | — | /v51/onb/service-lead, /v51/victim, /v51/vlo | area, caseUrn, onboardedStatus, serviceLead, victimForename, victimSurname, vlo | None (prototype redirect) | vloNameParts | length == 2 | data['onboardedStatus'] == 'Yes' | data['onboardedStatus'] == 'Yes' | data['onboardedStatus'] != 'Yes' | data['onboardedStatus'] == 'Yes' |