Skip to content

Hdpi 4312 confirm eviction summary#1550

Open
tvr-hmcts wants to merge 35 commits intomasterfrom
HDPI-4312-confirm-eviction-summary
Open

Hdpi 4312 confirm eviction summary#1550
tvr-hmcts wants to merge 35 commits intomasterfrom
HDPI-4312-confirm-eviction-summary

Conversation

@tvr-hmcts
Copy link
Copy Markdown
Contributor

https://tools.hmcts.net/jira/browse/HDPI-4312

This PR introduces the "Confirm Eviction" journey into the Possession Claim Service (PCS), allowing claimants to confirm eviction details once a bailiff date has been assigned.

  • Introduced to handle logic for displaying eviction requirements. EnforcementOrderMediator

  • Dynamically generates summary markup and determines if the "Confirm Eviction" journey should be visible based on the presence of a in the enforcement record. bailiffDate

  • Added a new confirmEviction event accessible to . PCS_SOLICITOR

  • Updated CaseType to include a new "Summary" tab field () and a hidden field for journey visibility control (). confirmEvictionSummaryMarkup``showConfirmEvictionJourney

  • Implemented new UI pages: and . ConfirmEvictionDetailsPage``EvictionDatePage

  • Added (Timestamp) to ( table) via a new flyway migration (V070). bailiffDate``EnforcementOrderEntity``enf_case

  • Updated domain model with necessary fields for eviction summaries. PCSCase

  • Added to . findByClaimId``EnforcementOrderRepository

  • Comprehensive unit tests for , PCSCaseView integration, and page configuration. EnforcementOrderMediator

  • Updated test case generation JSON files to support the new enforcement fields.

Aqib and others added 13 commits March 10, 2026 14:21
…viction-summary' into HDPI-4312-confirm-eviction-summary
…o `ConfirmEviction`, reorganise page configuration classes, update the event ID and imports, and adjust `PCSCaseView` to handle optional enforcement orders and bailiff dates with new date formatting helpers. Adjust repository import and update the test suite accordingly.
…he old `EvictionDatePage` and `EnforcementOrderRepository` from `PCSCaseView`. Update page configuration tests, helper imports, and add comprehensive tests for the new `EnforcementOrderMediator`. This refactor centralises date formatting, bailiff‑date checks, and UI markup generation.
…nd logger, make PageConfigurerHelper final with a private constructor, remove debug logs from the mediator, and hide the showConfirmEvictionJourney field in CaseType.
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 20, 2026

CCD diff summary

👉 Full report: https://github.com/hmcts/pcs-api/actions/runs/23911136026?check_suite_focus=true

CaseField.json

RegularExpressionMaxSearchableMinFieldTypeParameterHintTextLabelIDFieldType
+
+
+
+
+
+
+<p class="govuk-body">
    The bailiff has arranged a date for the eviction and they need you to confirm if you are
    available.
</p>
<p class="govuk-body">
    They will also ask you to confirm if the person being evicted poses any risk.
</p>
<p class="govuk-body">
    The bailiff needs this information to carry out the eviction safely. If you do not provide it,
    they may not be able to complete the eviction.
</p>
<p class="govuk-body govuk-!-font-weight-bold govuk-!-font-size-24">What you’ll need
</p>
<p class="govuk-body govuk-!-margin-bottom-0">You’ll need to know:</p>
<ul class="govuk-list govuk-list--bullet">
    <li class="govuk-!-font-size-19">who will attend the eviction (you, or someone else)</li>
    <li class="govuk-!-font-size-19">if you (or they) can attend the eviction on the date suggested
    by the bailiff</li>
</ul>
<p class="govuk-body govuk-!-margin-bottom-0">We will also ask you to:</p>
<ul class="govuk-list govuk-list--bullet">
    <li class="govuk-!-font-size-19">describe the person who will be evicted</li>
    <li class="govuk-!-font-size-19">tell us how to access the property</li>
    <li class="govuk-!-font-size-19">book a locksmith (this is to make sure that the person being
    evicted cannot return to the property)</li>
</ul>
<p class="govuk-body">
   Once you have confirmed the eviction date, we’ll send you an email reminding you to book a
   locksmith.
</p>
+confirmEvictionDetails-content
+Label
+
+
+
+
+
+
+---
+confirmEvictionDetails-line-separator
+Label
+
+
+N
+
+
+
+ 
+confirmEvictionSummaryMarkup
+Text
+
+
+
+
+
+
+${confirmEvictionSummaryMarkup}
+confirmEvictionSummaryMarkupLabel
+Label
+
+
+
+
+
+
+---
+evictionDate-line-separator
+Label
+
+
+N
+
+
+
+ 
+showConfirmEvictionJourney
+YesOrNo
-100 
+60

Name of firm

warrantFirmNameLegalRep

Text

-100 
+60

Full name

warrantFullNameClaimant

Text

-100 
+60

Full name

warrantFullNameLegalRep

Text

-100 
+60

Position or office held

warrantPositionClaimant

Text

-100 
+60

Position or office held

warrantPositionLegalRep

Text

-100 
+60

Name of firm

writFirmNameLegalRep

Text

-100 
+60

Full name

writFullNameClaimant

Text

-100 
+60

Full name

writFullNameLegalRep

Text

-100 
+60

Position or office held

writPositionClaimant

Text

-100 
+60

Position or office held

writPositionLegalRep

Text

AuthorisationCaseEvent/AuthorisationCaseEvent.json

UserRoleCaseEventIDCRUD
+caseworker-pcs-solicitor
+confirmEviction
+CRUD

AuthorisationCaseField/caseworker-pcs-solicitor.json

UserRoleCaseFieldIDCRUD
+caseworker-pcs-solicitor
+confirmEvictionDetails-content
+CR
+caseworker-pcs-solicitor
+confirmEvictionDetails-line-separator
+CR
+caseworker-pcs-solicitor
+confirmEvictionSummaryMarkup
+R
+caseworker-pcs-solicitor
+confirmEvictionSummaryMarkupLabel
+R
+caseworker-pcs-solicitor
+evictionDate-line-separator
+CR
+caseworker-pcs-solicitor
+showConfirmEvictionJourney
+CRU

AuthorisationCaseField/DEFENDANT.json

UserRoleCaseFieldIDCRUD
+[DEFENDANT]
+confirmEvictionSummaryMarkup
+R
+[DEFENDANT]
+confirmEvictionSummaryMarkupLabel
+R

CaseEvent/confirmEviction.json

DescriptionEndButtonLabelIDNamePostConditionStatePreConditionState(s)PublishShowEventNotesShowSummary
+Confirm the eviction details
+Save and continue
+confirmEviction
+Confirm the eviction details
+*
+*
+N
+N
+Y

ComplexTypes/StatementOfTruthDetails.json

MaxListElementCodeIDFieldTypeParameterFieldTypeElementLabel
-100 
+60

fullNameClaimant

StatementOfTruthDetails

Text

Full name

-100 
+60

positionClaimant

StatementOfTruthDetails

Text

Position or office held

-100 
+60

fullNameLegalRep

StatementOfTruthDetails

Text

Full name

-100 
+60

firmNameLegalRep

StatementOfTruthDetails

Text

Name of firm

-100 
+60

positionLegalRep

StatementOfTruthDetails

Text

Position or office held

ComplexTypes/2_DefendantResponses.json

ListElementCodeIDFieldTypeParameterFieldTypeElementLabel
-disputeClaim
-DefendantResponses
-
-YesOrNo
- 
-disputeClaimDetails
-DefendantResponses
-
-Text
- 

CaseEventToFields/confirmEviction.json

CaseEventIDCaseFieldIDDisplayContextPageColumnNumberPageDisplayOrderPageFieldDisplayOrderPageIDPageLabel
+confirmEviction
+confirmEvictionDetails-content
+READONLY
+1
+1
+2
+confirmEvictionDetails
+Confirm the eviction details
+confirmEviction
+confirmEvictionDetails-line-separator
+READONLY
+1
+1
+1
+confirmEvictionDetails
+Confirm the eviction details
+confirmEviction
+evictionDate-line-separator
+READONLY
+1
+2
+1
+evictionDate
+The eviction date

CaseTypeTab/2_summary.json

UserRoleTabShowConditionTabLabelTabIDTabFieldDisplayOrderTabDisplayOrderChannelCaseFieldIDFieldShowCondition
+
+
+Summary
+summary
+2
+2
+CaseWorker
+confirmEvictionSummaryMarkup
+[STATE]="NEVER_SHOW"
+
+
+Summary
+summary
+1
+2
+CaseWorker
+confirmEvictionSummaryMarkupLabel
-[STATE]!="AWAITING_SUBMISSION_TO_HMCTS" 
+

Summary

summary

-1 
+3

2

CaseWorker

propertyAddress

…r; migrate to LocalDateTime, update DB migration to plain timestamp, and simplify PageConfigurerHelper. This consolidates date logic directly in the mediator and aligns tests with the new date handling.
…312-confirm-eviction-summary

# Conflicts:
#	src/main/java/uk/gov/hmcts/reform/pcs/ccd/PCSCaseView.java
#	src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/PCSCase.java
#	src/test/java/uk/gov/hmcts/reform/pcs/ccd/PCSCaseViewTest.java
… is not changed to prepareConfirmEvictionWithDates
if (claims != null && !claims.isEmpty()) {
// At this point we do not know which Enforcement Order the Confirm Eviction is placed against.
// this to be confirmed beyond this ticket scope (HDPI-4312)
List<EnforcementOrderEntity> byClaimId = enforcementOrderRepository
Copy link
Copy Markdown
Contributor

@guygrewal77 guygrewal77 Apr 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor - could it be named to match the returned type ?

return Optional.empty();
}

private void prepareConfirmEvictionWithDates(PCSCase pcsCase, LocalDateTime localDateTime) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor - can the 'Confirm' be removed from names as it's just part of the event name

getEvictionCancellationDeadline(localDateTime)));
}

private static void prepareConfirmEvictionWithNoDates(PCSCase pcsCase) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor - same as above

@@ -0,0 +1,81 @@
package uk.gov.hmcts.reform.pcs.ccd;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor - could this be moved to a sub-package ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants