Skip to content

Hdpi 6505 add hearing#2154

Open
gmmagruder wants to merge 10 commits into
masterfrom
HDPI-6505-add-hearing
Open

Hdpi 6505 add hearing#2154
gmmagruder wants to merge 10 commits into
masterfrom
HDPI-6505-add-hearing

Conversation

@gmmagruder

@gmmagruder gmmagruder commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Jira link

See HDPI-6505

Change description

  • Add mange hearing event
  • Add new mange hearings and add hearing pages
  • Add placeholder pages for edit and cancel hearing
  • Add hearing table to database
Screenshot 2026-07-10 at 17 21 55 Screenshot 2026-07-10 at 17 00 21

Testing done

Manual testing locally and preview, unit tests

Security Vulnerability Assessment

CVE Suppression: Are there any CVEs present in the codebase (either newly introduced or pre-existing) that are being intentionally suppressed or ignored by this commit?

  • Yes
  • No

Checklist

  • commit messages are meaningful and follow good commit message guidelines
  • README and other documentation has been updated / added (if needed)
  • tests have been updated / new tests has been added (if needed)
  • Does this PR introduce a breaking change

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

DB breaking change scan

Recommended reading: HMCTS zero-downtime database deployments

No potentially breaking database changes were detected in the changed Flyway migration .sql files.

This check only scans changed .sql files under src/main/resources/db/migration and flags high-risk DDL patterns. It does not replace a full migration review.

Run details: https://github.com/hmcts/pcs-api/actions/runs/29107474665?check_suite_focus=true

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

CCD diff summary

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

CaseField.json

RegularExpressionMaxSearchableMinFieldTypeParameterHintTextLabelIDFieldType
+
+
+
+
+Hearing
+
+ 
+hearingList
+Collection
+
+
+N
+
+
+
+ 
+hearingLocation
+Text
+
+
+
+
+
+
+<p class="govuk-body govuk-!-font-weight-bold">Hearing location:</p>
+hearingLocationHeading
+Label
+
+
+
+
+
+
+${hearingLocation}
+hearingLocationbody
+Label
+
+
+
+
+
+
+    <span class="form-label ng-star-inserted">Who should receive the hearing notice?</span>
    <span class="form-hint ng-star-inserted">Select all that apply</span>
+hearingNoticePartiesLabel
+Label
+
+
+
+
+
+
+ 
+hearing_ADDITIONAL_INFORMATION_LABEL
+Text
+
+
+
+
+
+This information will be displayed on the hearing notice
+Enter any additional information
+hearing_AdditionalInformation
+TextArea
+
+
+
+
+
+Enter date and time
+When is the hearing?
+hearing_Date
+DateTime
+
+23
+
+
+
+
+Hour
+hearing_DurationHours
+Number
+
+59
+
+
+
+
+Minute
+hearing_DurationMinutes
+Number
+
+
+
+
+
+
+    <span class="form-label ng-star-inserted">How long will the hearing be?</span>
    <span class="form-hint ng-star-inserted">Enter duration</span>
+hearing_HearingDurationLabel
+Label
+
+
+
+
+VerticalYesNo
+
+Is the hearing without notice?
+hearing_IsWithoutNotice
+FixedRadioList
+
+
+
+
+
+
+ 
+hearing_NOTES_LABEL
+Text
+
+
+
+
+
+
+Hearing notes
+hearing_Notes
+TextArea
+
+
+
+
+VerticalYesNo
+
+Does a hearing notice need to be issued
+hearing_NoticeIssued
+FixedRadioList
+
+
+
+
+HearingNoticeWording
+
+Wording for hearing notice
+hearing_NoticeWording
+FixedList
+
+100
+
+
+
+
+Enter the type of hearing this is
+hearing_OtherHearingType
+Text
+
+
+
+
+HearingType
+
+Which type of hearing is this?
+hearing_Type
+FixedRadioList
+
+
+
+
+ManageHearingOption
+
+Do you want to add, edit or cancel a hearing?
+manageHearingOption
+FixedRadioList
+
+
+
+
+
+
+---
+manageHearingSeparator
+Label
+
+
+
+
+
+
+ 
+partyMultiSelectionList
+DynamicMultiSelectList
+
+
+
+
+
+
+PLACEHOLDER PAGE
+placeholderCancelHearing
+Label
+
+
+
+
+
+
+PLACEHOLDER PAGE
+placeholderEditHearing
+Label
+
+
+
+
+
+
+---
+separator
+Label
+
+
+N
+
+
+
+ 
+showManageHearingPage
+YesOrNo

AuthorisationCaseEvent/AuthorisationCaseEvent.json

UserRoleCaseEventIDCRUD
+circuit-judge
+manageHearing
+R
+ctsc
+manageHearing
+CRUD
+ctsc-team-leader
+manageHearing
+R
+fee-paid-judge
+manageHearing
+R
+hearing-centre-admin
+manageHearing
+CRUD
+judge
+manageHearing
+R
+leadership-judge
+manageHearing
+R
+wlu-admin
+manageHearing
+CRUD
+wlu-team-leader
+manageHearing
+R

AuthorisationCaseField/wlu-team-leader.json

UserRoleCaseFieldIDCRUD
+wlu-team-leader
+hearingLocation
+R
+wlu-team-leader
+hearingLocationHeading
+CR
+wlu-team-leader
+hearingLocationbody
+CR
+wlu-team-leader
+hearingNoticePartiesLabel
+CR
+wlu-team-leader
+hearing_AdditionalInformation
+R
+wlu-team-leader
+hearing_Date
+R
+wlu-team-leader
+hearing_DurationHours
+R
+wlu-team-leader
+hearing_DurationMinutes
+R
+wlu-team-leader
+hearing_HearingDurationLabel
+CR
+wlu-team-leader
+hearing_IsWithoutNotice
+R
+wlu-team-leader
+hearing_Notes
+R
+wlu-team-leader
+hearing_NoticeIssued
+R
+wlu-team-leader
+hearing_NoticeWording
+R
+wlu-team-leader
+hearing_OtherHearingType
+R
+wlu-team-leader
+hearing_Type
+R
+wlu-team-leader
+manageHearingOption
+R
+wlu-team-leader
+manageHearingSeparator
+CR
+wlu-team-leader
+partyMultiSelectionList
+R
+wlu-team-leader
+placeholderCancelHearing
+CR
+wlu-team-leader
+placeholderEditHearing
+CR
+wlu-team-leader
+separator
+CR
+wlu-team-leader
+showManageHearingPage
+R

AuthorisationCaseField/wlu-admin.json

UserRoleCaseFieldIDCRUD
+wlu-admin
+hearingLocation
+CRUD
+wlu-admin
+hearingLocationHeading
+CR
+wlu-admin
+hearingLocationbody
+CR
+wlu-admin
+hearingNoticePartiesLabel
+CR
+wlu-admin
+hearing_AdditionalInformation
+CRUD
+wlu-admin
+hearing_Date
+CRUD
+wlu-admin
+hearing_DurationHours
+CRUD
+wlu-admin
+hearing_DurationMinutes
+CRUD
+wlu-admin
+hearing_HearingDurationLabel
+CR
+wlu-admin
+hearing_IsWithoutNotice
+CRUD
+wlu-admin
+hearing_Notes
+CRUD
+wlu-admin
+hearing_NoticeIssued
+CRUD
+wlu-admin
+hearing_NoticeWording
+CRUD
+wlu-admin
+hearing_OtherHearingType
+CRUD
+wlu-admin
+hearing_Type
+CRUD
+wlu-admin
+manageHearingOption
+CRUD
+wlu-admin
+manageHearingSeparator
+CR
+wlu-admin
+partyMultiSelectionList
+CRUD
+wlu-admin
+placeholderCancelHearing
+CR
+wlu-admin
+placeholderEditHearing
+CR
+wlu-admin
+separator
+CR
+wlu-admin
+showManageHearingPage
+CRUD

AuthorisationCaseField/leadership-judge.json

UserRoleCaseFieldIDCRUD
+leadership-judge
+hearingLocation
+R
+leadership-judge
+hearingLocationHeading
+CR
+leadership-judge
+hearingLocationbody
+CR
+leadership-judge
+hearingNoticePartiesLabel
+CR
+leadership-judge
+hearing_AdditionalInformation
+R
+leadership-judge
+hearing_Date
+R
+leadership-judge
+hearing_DurationHours
+R
+leadership-judge
+hearing_DurationMinutes
+R
+leadership-judge
+hearing_HearingDurationLabel
+CR
+leadership-judge
+hearing_IsWithoutNotice
+R
+leadership-judge
+hearing_Notes
+R
+leadership-judge
+hearing_NoticeIssued
+R
+leadership-judge
+hearing_NoticeWording
+R
+leadership-judge
+hearing_OtherHearingType
+R
+leadership-judge
+hearing_Type
+R
+leadership-judge
+manageHearingOption
+R
+leadership-judge
+manageHearingSeparator
+CR
+leadership-judge
+partyMultiSelectionList
+R
+leadership-judge
+placeholderCancelHearing
+CR
+leadership-judge
+placeholderEditHearing
+CR
+leadership-judge
+separator
+CR
+leadership-judge
+showManageHearingPage
+R

AuthorisationCaseField/judge.json

UserRoleCaseFieldIDCRUD
+judge
+hearingLocation
+R
+judge
+hearingLocationHeading
+CR
+judge
+hearingLocationbody
+CR
+judge
+hearingNoticePartiesLabel
+CR
+judge
+hearing_AdditionalInformation
+R
+judge
+hearing_Date
+R
+judge
+hearing_DurationHours
+R
+judge
+hearing_DurationMinutes
+R
+judge
+hearing_HearingDurationLabel
+CR
+judge
+hearing_IsWithoutNotice
+R
+judge
+hearing_Notes
+R
+judge
+hearing_NoticeIssued
+R
+judge
+hearing_NoticeWording
+R
+judge
+hearing_OtherHearingType
+R
+judge
+hearing_Type
+R
+judge
+manageHearingOption
+R
+judge
+manageHearingSeparator
+CR
+judge
+partyMultiSelectionList
+R
+judge
+placeholderCancelHearing
+CR
+judge
+placeholderEditHearing
+CR
+judge
+separator
+CR
+judge
+showManageHearingPage
+R

AuthorisationCaseField/hearing-centre-admin.json

UserRoleCaseFieldIDCRUD
+hearing-centre-admin
+hearingLocation
+CRUD
+hearing-centre-admin
+hearingLocationHeading
+CR
+hearing-centre-admin
+hearingLocationbody
+CR
+hearing-centre-admin
+hearingNoticePartiesLabel
+CR
+hearing-centre-admin
+hearing_AdditionalInformation
+CRUD
+hearing-centre-admin
+hearing_Date
+CRUD
+hearing-centre-admin
+hearing_DurationHours
+CRUD
+hearing-centre-admin
+hearing_DurationMinutes
+CRUD
+hearing-centre-admin
+hearing_HearingDurationLabel
+CR
+hearing-centre-admin
+hearing_IsWithoutNotice
+CRUD
+hearing-centre-admin
+hearing_Notes
+CRUD
+hearing-centre-admin
+hearing_NoticeIssued
+CRUD
+hearing-centre-admin
+hearing_NoticeWording
+CRUD
+hearing-centre-admin
+hearing_OtherHearingType
+CRUD
+hearing-centre-admin
+hearing_Type
+CRUD
+hearing-centre-admin
+manageHearingOption
+CRUD
+hearing-centre-admin
+manageHearingSeparator
+CR
+hearing-centre-admin
+partyMultiSelectionList
+CRUD
+hearing-centre-admin
+placeholderCancelHearing
+CR
+hearing-centre-admin
+placeholderEditHearing
+CR
+hearing-centre-admin
+separator
+CR
+hearing-centre-admin
+showManageHearingPage
+CRUD

AuthorisationCaseField/fee-paid-judge.json

UserRoleCaseFieldIDCRUD
+fee-paid-judge
+hearingLocation
+R
+fee-paid-judge
+hearingLocationHeading
+CR
+fee-paid-judge
+hearingLocationbody
+CR
+fee-paid-judge
+hearingNoticePartiesLabel
+CR
+fee-paid-judge
+hearing_AdditionalInformation
+R
+fee-paid-judge
+hearing_Date
+R
+fee-paid-judge
+hearing_DurationHours
+R
+fee-paid-judge
+hearing_DurationMinutes
+R
+fee-paid-judge
+hearing_HearingDurationLabel
+CR
+fee-paid-judge
+hearing_IsWithoutNotice
+R
+fee-paid-judge
+hearing_Notes
+R
+fee-paid-judge
+hearing_NoticeIssued
+R
+fee-paid-judge
+hearing_NoticeWording
+R
+fee-paid-judge
+hearing_OtherHearingType
+R
+fee-paid-judge
+hearing_Type
+R
+fee-paid-judge
+manageHearingOption
+R
+fee-paid-judge
+manageHearingSeparator
+CR
+fee-paid-judge
+partyMultiSelectionList
+R
+fee-paid-judge
+placeholderCancelHearing
+CR
+fee-paid-judge
+placeholderEditHearing
+CR
+fee-paid-judge
+separator
+CR
+fee-paid-judge
+showManageHearingPage
+R

AuthorisationCaseField/ctsc.json

UserRoleCaseFieldIDCRUD
+ctsc
+hearingLocation
+CRUD
+ctsc
+hearingLocationHeading
+CR
+ctsc
+hearingLocationbody
+CR
+ctsc
+hearingNoticePartiesLabel
+CR
+ctsc
+hearing_AdditionalInformation
+CRUD
+ctsc
+hearing_Date
+CRUD
+ctsc
+hearing_DurationHours
+CRUD
+ctsc
+hearing_DurationMinutes
+CRUD
+ctsc
+hearing_HearingDurationLabel
+CR
+ctsc
+hearing_IsWithoutNotice
+CRUD
+ctsc
+hearing_Notes
+CRUD
+ctsc
+hearing_NoticeIssued
+CRUD
+ctsc
+hearing_NoticeWording
+CRUD
+ctsc
+hearing_OtherHearingType
+CRUD
+ctsc
+hearing_Type
+CRUD
+ctsc
+manageHearingOption
+CRUD
+ctsc
+manageHearingSeparator
+CR
+ctsc
+partyMultiSelectionList
+CRUD
+ctsc
+placeholderCancelHearing
+CR
+ctsc
+placeholderEditHearing
+CR
+ctsc
+separator
+CR
+ctsc
+showManageHearingPage
+CRUD

AuthorisationCaseField/ctsc-team-leader.json

UserRoleCaseFieldIDCRUD
+ctsc-team-leader
+hearingLocation
+R
+ctsc-team-leader
+hearingLocationHeading
+CR
+ctsc-team-leader
+hearingLocationbody
+CR
+ctsc-team-leader
+hearingNoticePartiesLabel
+CR
+ctsc-team-leader
+hearing_AdditionalInformation
+R
+ctsc-team-leader
+hearing_Date
+R
+ctsc-team-leader
+hearing_DurationHours
+R
+ctsc-team-leader
+hearing_DurationMinutes
+R
+ctsc-team-leader
+hearing_HearingDurationLabel
+CR
+ctsc-team-leader
+hearing_IsWithoutNotice
+R
+ctsc-team-leader
+hearing_Notes
+R
+ctsc-team-leader
+hearing_NoticeIssued
+R
+ctsc-team-leader
+hearing_NoticeWording
+R
+ctsc-team-leader
+hearing_OtherHearingType
+R
+ctsc-team-leader
+hearing_Type
+R
+ctsc-team-leader
+manageHearingOption
+R
+ctsc-team-leader
+manageHearingSeparator
+CR
+ctsc-team-leader
+partyMultiSelectionList
+R
+ctsc-team-leader
+placeholderCancelHearing
+CR
+ctsc-team-leader
+placeholderEditHearing
+CR
+ctsc-team-leader
+separator
+CR
+ctsc-team-leader
+showManageHearingPage
+R

AuthorisationCaseField/circuit-judge.json

UserRoleCaseFieldIDCRUD
+circuit-judge
+hearingLocation
+R
+circuit-judge
+hearingLocationHeading
+CR
+circuit-judge
+hearingLocationbody
+CR
+circuit-judge
+hearingNoticePartiesLabel
+CR
+circuit-judge
+hearing_AdditionalInformation
+R
+circuit-judge
+hearing_Date
+R
+circuit-judge
+hearing_DurationHours
+R
+circuit-judge
+hearing_DurationMinutes
+R
+circuit-judge
+hearing_HearingDurationLabel
+CR
+circuit-judge
+hearing_IsWithoutNotice
+R
+circuit-judge
+hearing_Notes
+R
+circuit-judge
+hearing_NoticeIssued
+R
+circuit-judge
+hearing_NoticeWording
+R
+circuit-judge
+hearing_OtherHearingType
+R
+circuit-judge
+hearing_Type
+R
+circuit-judge
+manageHearingOption
+R
+circuit-judge
+manageHearingSeparator
+CR
+circuit-judge
+partyMultiSelectionList
+R
+circuit-judge
+placeholderCancelHearing
+CR
+circuit-judge
+placeholderEditHearing
+CR
+circuit-judge
+separator
+CR
+circuit-judge
+showManageHearingPage
+R

CaseEvent/manageHearing.json

CallBackURLAboutToStartEventDescriptionEndButtonLabelIDNamePostConditionStatePreConditionState(s)PublishShowEventNotesShowSummary
+http://localhost:3206/callbacks/about-to-start?eventId=manageHearing
+Manage hearing
+Submit
+manageHearing
+Manage hearing
+CASE_ISSUED
+CASE_ISSUED
+N
+N
+Y

ComplexTypes/Hearing.json

ElementLabelFieldTypeIDListElementCode
+ 
+Text
+Hearing
+NOTES_LABEL
+ 
+Text
+Hearing
+ADDITIONAL_INFORMATION_LABEL
+Which type of hearing is this?
+FixedRadioList
+HearingType
+Hearing
+type
+Enter the type of hearing this is
+Text
+Hearing
+otherHearingType
+100
+Wording for hearing notice
+FixedList
+HearingNoticeWording
+Hearing
+noticeWording
+When is the hearing?
+DateTime
+Enter date and time
+Hearing
+date
+Hour
+Number
+Hearing
+durationHours
+23
+Minute
+Number
+Hearing
+durationMinutes
+59
+Hearing notes
+TextArea
+Hearing
+notes
+Does a hearing notice need to be issued
+FixedRadioList
+VerticalYesNo
+Hearing
+noticeIssued
+Is the hearing without notice?
+FixedRadioList
+VerticalYesNo
+Hearing
+isWithoutNotice
+Enter any additional information
+TextArea
+This information will be displayed on the hearing notice
+Hearing
+additionalInformation

CaseEventToFields/manageHearing.json

CallBackURLMidEventCaseEventIDCaseFieldIDDisplayContextFieldShowConditionPageColumnNumberPageDisplayOrderPageFieldDisplayOrderPageIDPageLabelPageShowConditionShowSummaryChangeOption
+http://localhost:3206/callbacks/mid-event?page=addHearing&eventId=manageHearing
+manageHearing
+hearingLocation
+READONLY
+[STATE]="NEVER_SHOW"
+1
+2
+1
+addHearing
+Add a hearing
+manageHearingOption="ADD"
+Y
+manageHearing
+hearingLocationHeading
+READONLY
+1
+2
+3
+addHearing
+Add a hearing
+manageHearing
+hearingLocationbody
+READONLY
+1
+2
+4
+addHearing
+Add a hearing
+manageHearing
+hearingNoticePartiesLabel
+READONLY
+hearing_IsWithoutNotice="YES"
+1
+2
+15
+addHearing
+Add a hearing
+manageHearing
+hearing_AdditionalInformation
+OPTIONAL
+1
+2
+17
+addHearing
+Add a hearing
+Y
+manageHearing
+hearing_Date
+MANDATORY
+1
+2
+8
+addHearing
+Add a hearing
+Y
+manageHearing
+hearing_DurationHours
+MANDATORY
+1
+2
+10
+addHearing
+Add a hearing
+Y
+manageHearing
+hearing_DurationMinutes
+MANDATORY
+1
+2
+11
+addHearing
+Add a hearing
+Y
+manageHearing
+hearing_HearingDurationLabel
+READONLY
+1
+2
+9
+addHearing
+Add a hearing
+manageHearing
+hearing_IsWithoutNotice
+MANDATORY
+hearing_NoticeIssued="YES"
+1
+2
+14
+addHearing
+Add a hearing
+Y
+manageHearing
+hearing_Notes
+MANDATORY
+1
+2
+12
+addHearing
+Add a hearing
+Y
+manageHearing
+hearing_NoticeIssued
+MANDATORY
+1
+2
+13
+addHearing
+Add a hearing
+Y
+manageHearing
+hearing_NoticeWording
+MANDATORY
+1
+2
+7
+addHearing
+Add a hearing
+Y
+manageHearing
+hearing_OtherHearingType
+MANDATORY
+hearing_Type="OTHER"
+1
+2
+6
+addHearing
+Add a hearing
+Y
+manageHearing
+hearing_Type
+MANDATORY
+1
+2
+5
+addHearing
+Add a hearing
+Y
+manageHearing
+manageHearingOption
+MANDATORY
+1
+1
+3
+manageHearing
+Manage hearing
+Y
+manageHearing
+manageHearingSeparator
+READONLY
+1
+1
+2
+manageHearing
+Manage hearing
+manageHearing
+partyMultiSelectionList
+MANDATORY
+hearing_IsWithoutNotice="YES"
+1
+2
+16
+addHearing
+Add a hearing
+Y
+manageHearing
+placeholderCancelHearing
+READONLY
+1
+4
+1
+cancelHearing
+Cancel a hearing
+manageHearingOption="CANCEL"
+manageHearing
+placeholderEditHearing
+READONLY
+1
+3
+1
+editHearing
+Edit a hearing
+manageHearingOption="EDIT"
+manageHearing
+separator
+READONLY
+1
+2
+2
+addHearing
+Add a hearing
+manageHearing
+showManageHearingPage
+READONLY
+[STATE]="NEVER_SHOW"
+1
+1
+1
+manageHearing
+Manage hearing
+showManageHearingPage="Yes"
+Y

FixedLists/ManageHearingOption.json

IDListElementListElementCode
+ManageHearingOption
+Add a hearing
+ADD
+ManageHearingOption
+Cancel a hearing
+CANCEL
+ManageHearingOption
+Edit a hearing
+EDIT

FixedLists/HearingType.json

IDListElementListElementCode
+HearingType
+Adjourned first hearing
+ADJOURNED
+HearingType
+Application
+APPLICATION
+HearingType
+Other
+OTHER
+HearingType
+Possession first hearing
+POSSESSION

FixedLists/HearingNoticeWording.json

IDListElementListElementCode
+HearingNoticeWording
+ADJ - has been adjourned until
+ADJ
+HearingNoticeWording
+RES - has been restored to
+RES
+HearingNoticeWording
+TPL - will take place on
+TPL

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.

1 participant