@planning-inspectorate/data-model 2.39.0 → 2.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/README.md +4 -0
- package/docs/appeal-has-definitions-significantchangesaffectingapplication.md +15 -0
- package/docs/appeal-has-definitions.md +3 -0
- package/docs/appeal-has.md +178 -108
- package/package.json +1 -1
- package/pins_data_model/models/model_appeal_has.py +61 -11
- package/schemas/appeal-has.schema.json +44 -0
- package/schemas/commands/appeals-components/lpa-questionnaire-has.schema.json +17 -0
- package/src/schemas.d.ts +31 -0
- package/tests/appeals/appeal-has.test.js +40 -1
package/docs/README.md
CHANGED
|
@@ -60,6 +60,10 @@
|
|
|
60
60
|
|
|
61
61
|
* [Untitled object in Appeal HAS Case](./appeal-has-properties-advertdetails-items.md) – `appeal-has.schema.json#/properties/advertDetails/items`
|
|
62
62
|
|
|
63
|
+
* [Untitled object in Appeal HAS Case](./appeal-has-properties-significantchangesaffectingapplicationappellant-items.md) – `appeal-has.schema.json#/properties/significantChangesAffectingApplicationAppellant/items`
|
|
64
|
+
|
|
65
|
+
* [Untitled object in Appeal HAS Case](./appeal-has-properties-significantchangesaffectingapplicationlpa-items.md) – `appeal-has.schema.json#/properties/significantChangesAffectingApplicationLpa/items`
|
|
66
|
+
|
|
63
67
|
* [Untitled object in Appeal S78 Case](./appeal-s78-properties-neighbouringsiteaddresses-items.md) – `appeal-s78.schema.json#/properties/neighbouringSiteAddresses/items`
|
|
64
68
|
|
|
65
69
|
* [Untitled object in Appeal S78 Case](./appeal-s78-properties-advertdetails-items.md) – `appeal-s78.schema.json#/properties/advertDetails/items`
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
## SignificantChangesAffectingApplication Type
|
|
2
|
+
|
|
3
|
+
`string`
|
|
4
|
+
|
|
5
|
+
## SignificantChangesAffectingApplication Constraints
|
|
6
|
+
|
|
7
|
+
**enum**: the value of this property must be equal to one of the following values:
|
|
8
|
+
|
|
9
|
+
| Value | Explanation |
|
|
10
|
+
| :--------------------------- | :---------- |
|
|
11
|
+
| `"adopted-a-new-local-plan"` | |
|
|
12
|
+
| `"national-policy-change"` | |
|
|
13
|
+
| `"court-judgement"` | |
|
|
14
|
+
| `"other"` | |
|
|
15
|
+
| `null` | |
|
package/docs/appeal-has.md
CHANGED
|
@@ -10,114 +10,117 @@ any of
|
|
|
10
10
|
|
|
11
11
|
# Appeal HAS Case Properties
|
|
12
12
|
|
|
13
|
-
| Property
|
|
14
|
-
|
|
|
15
|
-
| [caseId](#caseid)
|
|
16
|
-
| [caseReference](#casereference)
|
|
17
|
-
| [submissionId](#submissionid)
|
|
18
|
-
| [caseStatus](#casestatus)
|
|
19
|
-
| [caseType](#casetype)
|
|
20
|
-
| [caseProcedure](#caseprocedure)
|
|
21
|
-
| [lpaCode](#lpacode)
|
|
22
|
-
| [caseOfficerId](#caseofficerid)
|
|
23
|
-
| [inspectorId](#inspectorid)
|
|
24
|
-
| [allocationLevel](#allocationlevel)
|
|
25
|
-
| [allocationBand](#allocationband)
|
|
26
|
-
| [caseSpecialisms](#casespecialisms)
|
|
27
|
-
| [caseSubmittedDate](#casesubmitteddate)
|
|
28
|
-
| [caseCreatedDate](#casecreateddate)
|
|
29
|
-
| [caseUpdatedDate](#caseupdateddate)
|
|
30
|
-
| [caseValidDate](#casevaliddate)
|
|
31
|
-
| [caseValidationDate](#casevalidationdate)
|
|
32
|
-
| [caseValidationOutcome](#casevalidationoutcome)
|
|
33
|
-
| [caseValidationInvalidDetails](#casevalidationinvaliddetails)
|
|
34
|
-
| [caseValidationIncompleteDetails](#casevalidationincompletedetails)
|
|
35
|
-
| [caseExtensionDate](#caseextensiondate)
|
|
36
|
-
| [caseStartedDate](#casestarteddate)
|
|
37
|
-
| [casePublishedDate](#casepublisheddate)
|
|
38
|
-
| [linkedCaseStatus](#linkedcasestatus)
|
|
39
|
-
| [leadCaseReference](#leadcasereference)
|
|
40
|
-
| [lpaQuestionnaireDueDate](#lpaquestionnaireduedate)
|
|
41
|
-
| [lpaQuestionnaireSubmittedDate](#lpaquestionnairesubmitteddate)
|
|
42
|
-
| [lpaQuestionnaireCreatedDate](#lpaquestionnairecreateddate)
|
|
43
|
-
| [lpaQuestionnairePublishedDate](#lpaquestionnairepublisheddate)
|
|
44
|
-
| [lpaQuestionnaireValidationOutcome](#lpaquestionnairevalidationoutcome)
|
|
45
|
-
| [lpaQuestionnaireValidationOutcomeDate](#lpaquestionnairevalidationoutcomedate)
|
|
46
|
-
| [lpaQuestionnaireValidationDetails](#lpaquestionnairevalidationdetails)
|
|
47
|
-
| [lpaStatement](#lpastatement)
|
|
48
|
-
| [caseWithdrawnDate](#casewithdrawndate)
|
|
49
|
-
| [caseTransferredDate](#casetransferreddate)
|
|
50
|
-
| [transferredCaseClosedDate](#transferredcasecloseddate)
|
|
51
|
-
| [caseDecisionOutcomeDate](#casedecisionoutcomedate)
|
|
52
|
-
| [caseDecisionPublishedDate](#casedecisionpublisheddate)
|
|
53
|
-
| [caseDecisionOutcome](#casedecisionoutcome)
|
|
54
|
-
| [caseCompletedDate](#casecompleteddate)
|
|
55
|
-
| [enforcementNotice](#enforcementnotice)
|
|
56
|
-
| [applicationReference](#applicationreference)
|
|
57
|
-
| [applicationDate](#applicationdate)
|
|
58
|
-
| [applicationDecision](#applicationdecision)
|
|
59
|
-
| [applicationDecisionDate](#applicationdecisiondate)
|
|
60
|
-
| [applicationDecisionDueDate](#applicationdecisionduedate)
|
|
61
|
-
| [caseSubmissionDueDate](#casesubmissionduedate)
|
|
62
|
-
| [siteAddressLine1](#siteaddressline1)
|
|
63
|
-
| [siteAddressLine2](#siteaddressline2)
|
|
64
|
-
| [siteAddressTown](#siteaddresstown)
|
|
65
|
-
| [siteAddressCounty](#siteaddresscounty)
|
|
66
|
-
| [siteAddressPostcode](#siteaddresspostcode)
|
|
67
|
-
| [siteAccessDetails](#siteaccessdetails)
|
|
68
|
-
| [siteSafetyDetails](#sitesafetydetails)
|
|
69
|
-
| [siteAreaSquareMetres](#siteareasquaremetres)
|
|
70
|
-
| [floorSpaceSquareMetres](#floorspacesquaremetres)
|
|
71
|
-
| [isCorrectAppealType](#iscorrectappealtype)
|
|
72
|
-
| [isGreenBelt](#isgreenbelt)
|
|
73
|
-
| [inConservationArea](#inconservationarea)
|
|
74
|
-
| [affectsScheduledMonument](#affectsscheduledmonument)
|
|
75
|
-
| [hasProtectedSpecies](#hasprotectedspecies)
|
|
76
|
-
| [isAonbNationalLandscape](#isaonbnationallandscape)
|
|
77
|
-
| [isSiteOnHighwayLand](#issiteonhighwayland)
|
|
78
|
-
| [designatedSitesNames](#designatedsitesnames)
|
|
79
|
-
| [hasInfrastructureLevy](#hasinfrastructurelevy)
|
|
80
|
-
| [isInfrastructureLevyFormallyAdopted](#isinfrastructurelevyformallyadopted)
|
|
81
|
-
| [infrastructureLevyAdoptedDate](#infrastructurelevyadopteddate)
|
|
82
|
-
| [infrastructureLevyExpectedDate](#infrastructurelevyexpecteddate)
|
|
83
|
-
| [lpaProcedurePreference](#lpaprocedurepreference)
|
|
84
|
-
| [lpaProcedurePreferenceDetails](#lpaprocedurepreferencedetails)
|
|
85
|
-
| [lpaProcedurePreferenceDuration](#lpaprocedurepreferenceduration)
|
|
86
|
-
| [caseworkReason](#caseworkreason)
|
|
87
|
-
| [importantInformation](#importantinformation)
|
|
88
|
-
| [jurisdiction](#jurisdiction)
|
|
89
|
-
| [redeterminedIndicator](#redeterminedindicator)
|
|
90
|
-
| [dateCostsReportDespatched](#datecostsreportdespatched)
|
|
91
|
-
| [dateNotRecoveredOrDerecovered](#datenotrecoveredorderecovered)
|
|
92
|
-
| [dateRecovered](#daterecovered)
|
|
93
|
-
| [originalCaseDecisionDate](#originalcasedecisiondate)
|
|
94
|
-
| [targetDate](#targetdate)
|
|
95
|
-
| [ownsAllLand](#ownsallland)
|
|
96
|
-
| [ownsSomeLand](#ownssomeland)
|
|
97
|
-
| [knowsOtherOwners](#knowsotherowners)
|
|
98
|
-
| [knowsAllOwners](#knowsallowners)
|
|
99
|
-
| [advertisedAppeal](#advertisedappeal)
|
|
100
|
-
| [notificationMethod](#notificationmethod)
|
|
101
|
-
| [ownersInformed](#ownersinformed)
|
|
102
|
-
| [originalDevelopmentDescription](#originaldevelopmentdescription)
|
|
103
|
-
| [changedDevelopmentDescription](#changeddevelopmentdescription)
|
|
104
|
-
| [newConditionDetails](#newconditiondetails)
|
|
105
|
-
| [nearbyCaseReferences](#nearbycasereferences)
|
|
106
|
-
| [neighbouringSiteAddresses](#neighbouringsiteaddresses)
|
|
107
|
-
| [reasonForNeighbourVisits](#reasonforneighbourvisits)
|
|
108
|
-
| [affectedListedBuildingNumbers](#affectedlistedbuildingnumbers)
|
|
109
|
-
| [appellantCostsAppliedFor](#appellantcostsappliedfor)
|
|
110
|
-
| [lpaCostsAppliedFor](#lpacostsappliedfor)
|
|
111
|
-
| [typeOfPlanningApplication](#typeofplanningapplication)
|
|
112
|
-
| [siteGridReferenceEasting](#sitegridreferenceeasting)
|
|
113
|
-
| [siteGridReferenceNorthing](#sitegridreferencenorthing)
|
|
114
|
-
| [hasLandownersPermission](#haslandownerspermission)
|
|
115
|
-
| [wasApplicationRefusedDueToHighwayOrTraffic](#wasapplicationrefusedduetohighwayortraffic)
|
|
116
|
-
| [didAppellantSubmitCompletePhotosAndPlans](#didappellantsubmitcompletephotosandplans)
|
|
117
|
-
| [isSiteInAreaOfSpecialControlAdverts](#issiteinareaofspecialcontroladverts)
|
|
118
|
-
| [advertDetails](#advertdetails)
|
|
119
|
-
| [padsSapId](#padssapid)
|
|
120
|
-
|
|
|
13
|
+
| Property | Type | Required | Nullable | Defined by |
|
|
14
|
+
| :-------------------------------------------------------------------------------------------------- | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
15
|
+
| [caseId](#caseid) | `integer` | Required | can be null | [Appeal HAS Case](appeal-has-properties-caseid.md "appeal-has.schema.json#/properties/caseId") |
|
|
16
|
+
| [caseReference](#casereference) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-casereference.md "appeal-has.schema.json#/properties/caseReference") |
|
|
17
|
+
| [submissionId](#submissionid) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-submissionid.md "appeal-has.schema.json#/properties/submissionId") |
|
|
18
|
+
| [caseStatus](#casestatus) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-casestatus.md "appeal-has.schema.json#/properties/caseStatus") |
|
|
19
|
+
| [caseType](#casetype) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-casetype.md "appeal-has.schema.json#/properties/caseType") |
|
|
20
|
+
| [caseProcedure](#caseprocedure) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-caseprocedure.md "appeal-has.schema.json#/properties/caseProcedure") |
|
|
21
|
+
| [lpaCode](#lpacode) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-lpacode.md "appeal-has.schema.json#/properties/lpaCode") |
|
|
22
|
+
| [caseOfficerId](#caseofficerid) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-caseofficerid.md "appeal-has.schema.json#/properties/caseOfficerId") |
|
|
23
|
+
| [inspectorId](#inspectorid) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-inspectorid.md "appeal-has.schema.json#/properties/inspectorId") |
|
|
24
|
+
| [allocationLevel](#allocationlevel) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-allocationlevel.md "appeal-has.schema.json#/properties/allocationLevel") |
|
|
25
|
+
| [allocationBand](#allocationband) | `number` | Required | can be null | [Appeal HAS Case](appeal-has-properties-allocationband.md "appeal-has.schema.json#/properties/allocationBand") |
|
|
26
|
+
| [caseSpecialisms](#casespecialisms) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casespecialisms.md "appeal-has.schema.json#/properties/caseSpecialisms") |
|
|
27
|
+
| [caseSubmittedDate](#casesubmitteddate) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-casesubmitteddate.md "appeal-has.schema.json#/properties/caseSubmittedDate") |
|
|
28
|
+
| [caseCreatedDate](#casecreateddate) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-casecreateddate.md "appeal-has.schema.json#/properties/caseCreatedDate") |
|
|
29
|
+
| [caseUpdatedDate](#caseupdateddate) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-caseupdateddate.md "appeal-has.schema.json#/properties/caseUpdatedDate") |
|
|
30
|
+
| [caseValidDate](#casevaliddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casevaliddate.md "appeal-has.schema.json#/properties/caseValidDate") |
|
|
31
|
+
| [caseValidationDate](#casevalidationdate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casevalidationdate.md "appeal-has.schema.json#/properties/caseValidationDate") |
|
|
32
|
+
| [caseValidationOutcome](#casevalidationoutcome) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casevalidationoutcome.md "appeal-has.schema.json#/properties/caseValidationOutcome") |
|
|
33
|
+
| [caseValidationInvalidDetails](#casevalidationinvaliddetails) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casevalidationinvaliddetails.md "appeal-has.schema.json#/properties/caseValidationInvalidDetails") |
|
|
34
|
+
| [caseValidationIncompleteDetails](#casevalidationincompletedetails) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casevalidationincompletedetails.md "appeal-has.schema.json#/properties/caseValidationIncompleteDetails") |
|
|
35
|
+
| [caseExtensionDate](#caseextensiondate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-caseextensiondate.md "appeal-has.schema.json#/properties/caseExtensionDate") |
|
|
36
|
+
| [caseStartedDate](#casestarteddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casestarteddate.md "appeal-has.schema.json#/properties/caseStartedDate") |
|
|
37
|
+
| [casePublishedDate](#casepublisheddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casepublisheddate.md "appeal-has.schema.json#/properties/casePublishedDate") |
|
|
38
|
+
| [linkedCaseStatus](#linkedcasestatus) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-linkedcasestatus.md "appeal-has.schema.json#/properties/linkedCaseStatus") |
|
|
39
|
+
| [leadCaseReference](#leadcasereference) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-leadcasereference.md "appeal-has.schema.json#/properties/leadCaseReference") |
|
|
40
|
+
| [lpaQuestionnaireDueDate](#lpaquestionnaireduedate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-lpaquestionnaireduedate.md "appeal-has.schema.json#/properties/lpaQuestionnaireDueDate") |
|
|
41
|
+
| [lpaQuestionnaireSubmittedDate](#lpaquestionnairesubmitteddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-lpaquestionnairesubmitteddate.md "appeal-has.schema.json#/properties/lpaQuestionnaireSubmittedDate") |
|
|
42
|
+
| [lpaQuestionnaireCreatedDate](#lpaquestionnairecreateddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-lpaquestionnairecreateddate.md "appeal-has.schema.json#/properties/lpaQuestionnaireCreatedDate") |
|
|
43
|
+
| [lpaQuestionnairePublishedDate](#lpaquestionnairepublisheddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-lpaquestionnairepublisheddate.md "appeal-has.schema.json#/properties/lpaQuestionnairePublishedDate") |
|
|
44
|
+
| [lpaQuestionnaireValidationOutcome](#lpaquestionnairevalidationoutcome) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-lpaquestionnairevalidationoutcome.md "appeal-has.schema.json#/properties/lpaQuestionnaireValidationOutcome") |
|
|
45
|
+
| [lpaQuestionnaireValidationOutcomeDate](#lpaquestionnairevalidationoutcomedate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-lpaquestionnairevalidationoutcomedate.md "appeal-has.schema.json#/properties/lpaQuestionnaireValidationOutcomeDate") |
|
|
46
|
+
| [lpaQuestionnaireValidationDetails](#lpaquestionnairevalidationdetails) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-lpaquestionnairevalidationdetails.md "appeal-has.schema.json#/properties/lpaQuestionnaireValidationDetails") |
|
|
47
|
+
| [lpaStatement](#lpastatement) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-lpastatement.md "appeal-has.schema.json#/properties/lpaStatement") |
|
|
48
|
+
| [caseWithdrawnDate](#casewithdrawndate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casewithdrawndate.md "appeal-has.schema.json#/properties/caseWithdrawnDate") |
|
|
49
|
+
| [caseTransferredDate](#casetransferreddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casetransferreddate.md "appeal-has.schema.json#/properties/caseTransferredDate") |
|
|
50
|
+
| [transferredCaseClosedDate](#transferredcasecloseddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-transferredcasecloseddate.md "appeal-has.schema.json#/properties/transferredCaseClosedDate") |
|
|
51
|
+
| [caseDecisionOutcomeDate](#casedecisionoutcomedate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casedecisionoutcomedate.md "appeal-has.schema.json#/properties/caseDecisionOutcomeDate") |
|
|
52
|
+
| [caseDecisionPublishedDate](#casedecisionpublisheddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casedecisionpublisheddate.md "appeal-has.schema.json#/properties/caseDecisionPublishedDate") |
|
|
53
|
+
| [caseDecisionOutcome](#casedecisionoutcome) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casedecisionoutcome.md "appeal-has.schema.json#/properties/caseDecisionOutcome") |
|
|
54
|
+
| [caseCompletedDate](#casecompleteddate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casecompleteddate.md "appeal-has.schema.json#/properties/caseCompletedDate") |
|
|
55
|
+
| [enforcementNotice](#enforcementnotice) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-enforcementnotice.md "appeal-has.schema.json#/properties/enforcementNotice") |
|
|
56
|
+
| [applicationReference](#applicationreference) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-applicationreference.md "appeal-has.schema.json#/properties/applicationReference") |
|
|
57
|
+
| [applicationDate](#applicationdate) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-applicationdate.md "appeal-has.schema.json#/properties/applicationDate") |
|
|
58
|
+
| [applicationDecision](#applicationdecision) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-properties-applicationdecision.md "appeal-has.schema.json#/properties/applicationDecision") |
|
|
59
|
+
| [applicationDecisionDate](#applicationdecisiondate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-applicationdecisiondate.md "appeal-has.schema.json#/properties/applicationDecisionDate") |
|
|
60
|
+
| [applicationDecisionDueDate](#applicationdecisionduedate) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-applicationdecisionduedate.md "appeal-has.schema.json#/properties/applicationDecisionDueDate") |
|
|
61
|
+
| [caseSubmissionDueDate](#casesubmissionduedate) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-casesubmissionduedate.md "appeal-has.schema.json#/properties/caseSubmissionDueDate") |
|
|
62
|
+
| [siteAddressLine1](#siteaddressline1) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-siteaddressline1.md "appeal-has.schema.json#/properties/siteAddressLine1") |
|
|
63
|
+
| [siteAddressLine2](#siteaddressline2) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-siteaddressline2.md "appeal-has.schema.json#/properties/siteAddressLine2") |
|
|
64
|
+
| [siteAddressTown](#siteaddresstown) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-siteaddresstown.md "appeal-has.schema.json#/properties/siteAddressTown") |
|
|
65
|
+
| [siteAddressCounty](#siteaddresscounty) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-siteaddresscounty.md "appeal-has.schema.json#/properties/siteAddressCounty") |
|
|
66
|
+
| [siteAddressPostcode](#siteaddresspostcode) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-siteaddresspostcode.md "appeal-has.schema.json#/properties/siteAddressPostcode") |
|
|
67
|
+
| [siteAccessDetails](#siteaccessdetails) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-siteaccessdetails.md "appeal-has.schema.json#/properties/siteAccessDetails") |
|
|
68
|
+
| [siteSafetyDetails](#sitesafetydetails) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-sitesafetydetails.md "appeal-has.schema.json#/properties/siteSafetyDetails") |
|
|
69
|
+
| [siteAreaSquareMetres](#siteareasquaremetres) | `number` | Required | can be null | [Appeal HAS Case](appeal-has-properties-siteareasquaremetres.md "appeal-has.schema.json#/properties/siteAreaSquareMetres") |
|
|
70
|
+
| [floorSpaceSquareMetres](#floorspacesquaremetres) | `number` | Required | can be null | [Appeal HAS Case](appeal-has-properties-floorspacesquaremetres.md "appeal-has.schema.json#/properties/floorSpaceSquareMetres") |
|
|
71
|
+
| [isCorrectAppealType](#iscorrectappealtype) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-iscorrectappealtype.md "appeal-has.schema.json#/properties/isCorrectAppealType") |
|
|
72
|
+
| [isGreenBelt](#isgreenbelt) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-isgreenbelt.md "appeal-has.schema.json#/properties/isGreenBelt") |
|
|
73
|
+
| [inConservationArea](#inconservationarea) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-inconservationarea.md "appeal-has.schema.json#/properties/inConservationArea") |
|
|
74
|
+
| [affectsScheduledMonument](#affectsscheduledmonument) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-affectsscheduledmonument.md "appeal-has.schema.json#/properties/affectsScheduledMonument") |
|
|
75
|
+
| [hasProtectedSpecies](#hasprotectedspecies) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-hasprotectedspecies.md "appeal-has.schema.json#/properties/hasProtectedSpecies") |
|
|
76
|
+
| [isAonbNationalLandscape](#isaonbnationallandscape) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-isaonbnationallandscape.md "appeal-has.schema.json#/properties/isAonbNationalLandscape") |
|
|
77
|
+
| [isSiteOnHighwayLand](#issiteonhighwayland) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-issiteonhighwayland.md "appeal-has.schema.json#/properties/isSiteOnHighwayLand") |
|
|
78
|
+
| [designatedSitesNames](#designatedsitesnames) | `array` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-designatedsitesnames.md "appeal-has.schema.json#/properties/designatedSitesNames") |
|
|
79
|
+
| [hasInfrastructureLevy](#hasinfrastructurelevy) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-hasinfrastructurelevy.md "appeal-has.schema.json#/properties/hasInfrastructureLevy") |
|
|
80
|
+
| [isInfrastructureLevyFormallyAdopted](#isinfrastructurelevyformallyadopted) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-isinfrastructurelevyformallyadopted.md "appeal-has.schema.json#/properties/isInfrastructureLevyFormallyAdopted") |
|
|
81
|
+
| [infrastructureLevyAdoptedDate](#infrastructurelevyadopteddate) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-infrastructurelevyadopteddate.md "appeal-has.schema.json#/properties/infrastructureLevyAdoptedDate") |
|
|
82
|
+
| [infrastructureLevyExpectedDate](#infrastructurelevyexpecteddate) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-infrastructurelevyexpecteddate.md "appeal-has.schema.json#/properties/infrastructureLevyExpectedDate") |
|
|
83
|
+
| [lpaProcedurePreference](#lpaprocedurepreference) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-lpaprocedurepreference.md "appeal-has.schema.json#/properties/lpaProcedurePreference") |
|
|
84
|
+
| [lpaProcedurePreferenceDetails](#lpaprocedurepreferencedetails) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-lpaprocedurepreferencedetails.md "appeal-has.schema.json#/properties/lpaProcedurePreferenceDetails") |
|
|
85
|
+
| [lpaProcedurePreferenceDuration](#lpaprocedurepreferenceduration) | `number` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-lpaprocedurepreferenceduration.md "appeal-has.schema.json#/properties/lpaProcedurePreferenceDuration") |
|
|
86
|
+
| [caseworkReason](#caseworkreason) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-caseworkreason.md "appeal-has.schema.json#/properties/caseworkReason") |
|
|
87
|
+
| [importantInformation](#importantinformation) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-importantinformation.md "appeal-has.schema.json#/properties/importantInformation") |
|
|
88
|
+
| [jurisdiction](#jurisdiction) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-jurisdiction.md "appeal-has.schema.json#/properties/jurisdiction") |
|
|
89
|
+
| [redeterminedIndicator](#redeterminedindicator) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-redeterminedindicator.md "appeal-has.schema.json#/properties/redeterminedIndicator") |
|
|
90
|
+
| [dateCostsReportDespatched](#datecostsreportdespatched) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-datecostsreportdespatched.md "appeal-has.schema.json#/properties/dateCostsReportDespatched") |
|
|
91
|
+
| [dateNotRecoveredOrDerecovered](#datenotrecoveredorderecovered) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-datenotrecoveredorderecovered.md "appeal-has.schema.json#/properties/dateNotRecoveredOrDerecovered") |
|
|
92
|
+
| [dateRecovered](#daterecovered) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-daterecovered.md "appeal-has.schema.json#/properties/dateRecovered") |
|
|
93
|
+
| [originalCaseDecisionDate](#originalcasedecisiondate) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-originalcasedecisiondate.md "appeal-has.schema.json#/properties/originalCaseDecisionDate") |
|
|
94
|
+
| [targetDate](#targetdate) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-targetdate.md "appeal-has.schema.json#/properties/targetDate") |
|
|
95
|
+
| [ownsAllLand](#ownsallland) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-ownsallland.md "appeal-has.schema.json#/properties/ownsAllLand") |
|
|
96
|
+
| [ownsSomeLand](#ownssomeland) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-ownssomeland.md "appeal-has.schema.json#/properties/ownsSomeLand") |
|
|
97
|
+
| [knowsOtherOwners](#knowsotherowners) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-knowsotherowners.md "appeal-has.schema.json#/properties/knowsOtherOwners") |
|
|
98
|
+
| [knowsAllOwners](#knowsallowners) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-knowsallowners.md "appeal-has.schema.json#/properties/knowsAllOwners") |
|
|
99
|
+
| [advertisedAppeal](#advertisedappeal) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-advertisedappeal.md "appeal-has.schema.json#/properties/advertisedAppeal") |
|
|
100
|
+
| [notificationMethod](#notificationmethod) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-notificationmethod.md "appeal-has.schema.json#/properties/notificationMethod") |
|
|
101
|
+
| [ownersInformed](#ownersinformed) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-ownersinformed.md "appeal-has.schema.json#/properties/ownersInformed") |
|
|
102
|
+
| [originalDevelopmentDescription](#originaldevelopmentdescription) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-originaldevelopmentdescription.md "appeal-has.schema.json#/properties/originalDevelopmentDescription") |
|
|
103
|
+
| [changedDevelopmentDescription](#changeddevelopmentdescription) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-changeddevelopmentdescription.md "appeal-has.schema.json#/properties/changedDevelopmentDescription") |
|
|
104
|
+
| [newConditionDetails](#newconditiondetails) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-newconditiondetails.md "appeal-has.schema.json#/properties/newConditionDetails") |
|
|
105
|
+
| [nearbyCaseReferences](#nearbycasereferences) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-nearbycasereferences.md "appeal-has.schema.json#/properties/nearbyCaseReferences") |
|
|
106
|
+
| [neighbouringSiteAddresses](#neighbouringsiteaddresses) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-neighbouringsiteaddresses.md "appeal-has.schema.json#/properties/neighbouringSiteAddresses") |
|
|
107
|
+
| [reasonForNeighbourVisits](#reasonforneighbourvisits) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-reasonforneighbourvisits.md "appeal-has.schema.json#/properties/reasonForNeighbourVisits") |
|
|
108
|
+
| [affectedListedBuildingNumbers](#affectedlistedbuildingnumbers) | `array` | Required | can be null | [Appeal HAS Case](appeal-has-properties-affectedlistedbuildingnumbers.md "appeal-has.schema.json#/properties/affectedListedBuildingNumbers") |
|
|
109
|
+
| [appellantCostsAppliedFor](#appellantcostsappliedfor) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-appellantcostsappliedfor.md "appeal-has.schema.json#/properties/appellantCostsAppliedFor") |
|
|
110
|
+
| [lpaCostsAppliedFor](#lpacostsappliedfor) | `boolean` | Required | can be null | [Appeal HAS Case](appeal-has-properties-lpacostsappliedfor.md "appeal-has.schema.json#/properties/lpaCostsAppliedFor") |
|
|
111
|
+
| [typeOfPlanningApplication](#typeofplanningapplication) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-typeofplanningapplication.md "appeal-has.schema.json#/properties/typeOfPlanningApplication") |
|
|
112
|
+
| [siteGridReferenceEasting](#sitegridreferenceeasting) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-sitegridreferenceeasting.md "appeal-has.schema.json#/properties/siteGridReferenceEasting") |
|
|
113
|
+
| [siteGridReferenceNorthing](#sitegridreferencenorthing) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-sitegridreferencenorthing.md "appeal-has.schema.json#/properties/siteGridReferenceNorthing") |
|
|
114
|
+
| [hasLandownersPermission](#haslandownerspermission) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-haslandownerspermission.md "appeal-has.schema.json#/properties/hasLandownersPermission") |
|
|
115
|
+
| [wasApplicationRefusedDueToHighwayOrTraffic](#wasapplicationrefusedduetohighwayortraffic) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-wasapplicationrefusedduetohighwayortraffic.md "appeal-has.schema.json#/properties/wasApplicationRefusedDueToHighwayOrTraffic") |
|
|
116
|
+
| [didAppellantSubmitCompletePhotosAndPlans](#didappellantsubmitcompletephotosandplans) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-didappellantsubmitcompletephotosandplans.md "appeal-has.schema.json#/properties/didAppellantSubmitCompletePhotosAndPlans") |
|
|
117
|
+
| [isSiteInAreaOfSpecialControlAdverts](#issiteinareaofspecialcontroladverts) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-issiteinareaofspecialcontroladverts.md "appeal-has.schema.json#/properties/isSiteInAreaOfSpecialControlAdverts") |
|
|
118
|
+
| [advertDetails](#advertdetails) | `array` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-advertdetails.md "appeal-has.schema.json#/properties/advertDetails") |
|
|
119
|
+
| [padsSapId](#padssapid) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-padssapid.md "appeal-has.schema.json#/properties/padsSapId") |
|
|
120
|
+
| [reasonForAppealAppellant](#reasonforappealappellant) | `string` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-reasonforappealappellant.md "appeal-has.schema.json#/properties/reasonForAppealAppellant") |
|
|
121
|
+
| [significantChangesAffectingApplicationAppellant](#significantchangesaffectingapplicationappellant) | `array` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-significantchangesaffectingapplicationappellant.md "appeal-has.schema.json#/properties/significantChangesAffectingApplicationAppellant") |
|
|
122
|
+
| [significantChangesAffectingApplicationLpa](#significantchangesaffectingapplicationlpa) | `array` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-significantchangesaffectingapplicationlpa.md "appeal-has.schema.json#/properties/significantChangesAffectingApplicationLpa") |
|
|
123
|
+
| Additional Properties | Any | Optional | can be null | |
|
|
121
124
|
|
|
122
125
|
## caseId
|
|
123
126
|
|
|
@@ -2672,6 +2675,73 @@ padsSapId for PADS inspectors
|
|
|
2672
2675
|
|
|
2673
2676
|
`string`
|
|
2674
2677
|
|
|
2678
|
+
## reasonForAppealAppellant
|
|
2679
|
+
|
|
2680
|
+
Reason for appeal as provided by the appellant
|
|
2681
|
+
|
|
2682
|
+
`reasonForAppealAppellant`
|
|
2683
|
+
|
|
2684
|
+
* is optional
|
|
2685
|
+
|
|
2686
|
+
* Type: `string`
|
|
2687
|
+
|
|
2688
|
+
* can be null
|
|
2689
|
+
|
|
2690
|
+
* defined in: [Appeal HAS Case](appeal-has-properties-reasonforappealappellant.md "appeal-has.schema.json#/properties/reasonForAppealAppellant")
|
|
2691
|
+
|
|
2692
|
+
### reasonForAppealAppellant Type
|
|
2693
|
+
|
|
2694
|
+
`string`
|
|
2695
|
+
|
|
2696
|
+
## significantChangesAffectingApplicationAppellant
|
|
2697
|
+
|
|
2698
|
+
Significant changes affecting the application as reported by the appellant
|
|
2699
|
+
|
|
2700
|
+
`significantChangesAffectingApplicationAppellant`
|
|
2701
|
+
|
|
2702
|
+
* is optional
|
|
2703
|
+
|
|
2704
|
+
* Type: `object[]` ([Details](appeal-has-properties-significantchangesaffectingapplicationappellant-items.md))
|
|
2705
|
+
|
|
2706
|
+
* can be null
|
|
2707
|
+
|
|
2708
|
+
* defined in: [Appeal HAS Case](appeal-has-properties-significantchangesaffectingapplicationappellant.md "appeal-has.schema.json#/properties/significantChangesAffectingApplicationAppellant")
|
|
2709
|
+
|
|
2710
|
+
### significantChangesAffectingApplicationAppellant Type
|
|
2711
|
+
|
|
2712
|
+
`object[]` ([Details](appeal-has-properties-significantchangesaffectingapplicationappellant-items.md))
|
|
2713
|
+
|
|
2714
|
+
## significantChangesAffectingApplicationLpa
|
|
2715
|
+
|
|
2716
|
+
Significant changes affecting the application as reported by the LPA
|
|
2717
|
+
|
|
2718
|
+
`significantChangesAffectingApplicationLpa`
|
|
2719
|
+
|
|
2720
|
+
* is optional
|
|
2721
|
+
|
|
2722
|
+
* Type: `object[]` ([Details](appeal-has-properties-significantchangesaffectingapplicationlpa-items.md))
|
|
2723
|
+
|
|
2724
|
+
* can be null
|
|
2725
|
+
|
|
2726
|
+
* defined in: [Appeal HAS Case](appeal-has-properties-significantchangesaffectingapplicationlpa.md "appeal-has.schema.json#/properties/significantChangesAffectingApplicationLpa")
|
|
2727
|
+
|
|
2728
|
+
### significantChangesAffectingApplicationLpa Type
|
|
2729
|
+
|
|
2730
|
+
`object[]` ([Details](appeal-has-properties-significantchangesaffectingapplicationlpa-items.md))
|
|
2731
|
+
|
|
2675
2732
|
## Additional Properties
|
|
2676
2733
|
|
|
2677
2734
|
Additional properties are allowed and do not have to follow a specific schema
|
|
2735
|
+
|
|
2736
|
+
# Appeal HAS Case Definitions
|
|
2737
|
+
|
|
2738
|
+
## Definitions group SignificantChangesAffectingApplication
|
|
2739
|
+
|
|
2740
|
+
Reference this group by using
|
|
2741
|
+
|
|
2742
|
+
```json
|
|
2743
|
+
{"$ref":"appeal-has.schema.json#/definitions/SignificantChangesAffectingApplication"}
|
|
2744
|
+
```
|
|
2745
|
+
|
|
2746
|
+
| Property | Type | Required | Nullable | Defined by |
|
|
2747
|
+
| :------- | :--- | :------- | :------- | :--------- |
|
package/package.json
CHANGED
|
@@ -265,6 +265,39 @@ class AdvertDetail(BaseModel):
|
|
|
265
265
|
"""
|
|
266
266
|
|
|
267
267
|
|
|
268
|
+
class AdvertDetail1(BaseModel):
|
|
269
|
+
model_config = ConfigDict(
|
|
270
|
+
extra="allow",
|
|
271
|
+
)
|
|
272
|
+
advertType: AdvertType
|
|
273
|
+
isAdvertInPosition: bool | None = None
|
|
274
|
+
"""
|
|
275
|
+
Is the advertisement in position?
|
|
276
|
+
"""
|
|
277
|
+
isSiteOnHighwayLand: bool | None = None
|
|
278
|
+
"""
|
|
279
|
+
Is the site on highway land?
|
|
280
|
+
"""
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
class SignificantChangesAffectingApplication(Enum):
|
|
284
|
+
adopted_a_new_local_plan = "adopted-a-new-local-plan"
|
|
285
|
+
national_policy_change = "national-policy-change"
|
|
286
|
+
court_judgement = "court-judgement"
|
|
287
|
+
other = "other"
|
|
288
|
+
NoneType_None = None
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
class SignificantChangesAffectingApplicationAppellantItem(BaseModel):
|
|
292
|
+
value: SignificantChangesAffectingApplication
|
|
293
|
+
comment: str | None = None
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
class SignificantChangesAffectingApplicationLpaItem(BaseModel):
|
|
297
|
+
value: SignificantChangesAffectingApplication
|
|
298
|
+
comment: str | None = None
|
|
299
|
+
|
|
300
|
+
|
|
268
301
|
class AppealHasCase1(BaseModel):
|
|
269
302
|
"""
|
|
270
303
|
Group A - Schema defining the metadata for an appeal
|
|
@@ -753,20 +786,21 @@ class AppealHasCase1(BaseModel):
|
|
|
753
786
|
"""
|
|
754
787
|
padsSapId for PADS inspectors
|
|
755
788
|
"""
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
class AdvertDetail1(BaseModel):
|
|
759
|
-
model_config = ConfigDict(
|
|
760
|
-
extra="allow",
|
|
761
|
-
)
|
|
762
|
-
advertType: AdvertType
|
|
763
|
-
isAdvertInPosition: bool | None = None
|
|
789
|
+
reasonForAppealAppellant: str | None = None
|
|
764
790
|
"""
|
|
765
|
-
|
|
791
|
+
Reason for appeal as provided by the appellant
|
|
766
792
|
"""
|
|
767
|
-
|
|
793
|
+
significantChangesAffectingApplicationAppellant: (
|
|
794
|
+
list[SignificantChangesAffectingApplicationAppellantItem] | None
|
|
795
|
+
) = None
|
|
768
796
|
"""
|
|
769
|
-
|
|
797
|
+
Significant changes affecting the application as reported by the appellant
|
|
798
|
+
"""
|
|
799
|
+
significantChangesAffectingApplicationLpa: (
|
|
800
|
+
list[SignificantChangesAffectingApplicationLpaItem] | None
|
|
801
|
+
) = None
|
|
802
|
+
"""
|
|
803
|
+
Significant changes affecting the application as reported by the LPA
|
|
770
804
|
"""
|
|
771
805
|
|
|
772
806
|
|
|
@@ -1258,6 +1292,22 @@ class AppealHasCase2(BaseModel):
|
|
|
1258
1292
|
"""
|
|
1259
1293
|
padsSapId for PADS inspectors
|
|
1260
1294
|
"""
|
|
1295
|
+
reasonForAppealAppellant: str | None = None
|
|
1296
|
+
"""
|
|
1297
|
+
Reason for appeal as provided by the appellant
|
|
1298
|
+
"""
|
|
1299
|
+
significantChangesAffectingApplicationAppellant: (
|
|
1300
|
+
list[SignificantChangesAffectingApplicationAppellantItem] | None
|
|
1301
|
+
) = None
|
|
1302
|
+
"""
|
|
1303
|
+
Significant changes affecting the application as reported by the appellant
|
|
1304
|
+
"""
|
|
1305
|
+
significantChangesAffectingApplicationLpa: (
|
|
1306
|
+
list[SignificantChangesAffectingApplicationLpaItem] | None
|
|
1307
|
+
) = None
|
|
1308
|
+
"""
|
|
1309
|
+
Significant changes affecting the application as reported by the LPA
|
|
1310
|
+
"""
|
|
1261
1311
|
|
|
1262
1312
|
|
|
1263
1313
|
class AppealHasCase(RootModel[AppealHasCase1 | AppealHasCase2]):
|
|
@@ -776,6 +776,50 @@
|
|
|
776
776
|
"padsSapId": {
|
|
777
777
|
"type": ["string", "null"],
|
|
778
778
|
"description": "padsSapId for PADS inspectors"
|
|
779
|
+
},
|
|
780
|
+
"reasonForAppealAppellant": {
|
|
781
|
+
"type": ["string", "null"],
|
|
782
|
+
"description": "Reason for appeal as provided by the appellant"
|
|
783
|
+
},
|
|
784
|
+
"significantChangesAffectingApplicationAppellant": {
|
|
785
|
+
"type": ["array", "null"],
|
|
786
|
+
"items": {
|
|
787
|
+
"type": "object",
|
|
788
|
+
"properties": {
|
|
789
|
+
"value": {
|
|
790
|
+
"$ref": "#/definitions/SignificantChangesAffectingApplication",
|
|
791
|
+
"type": ["string", "null"]
|
|
792
|
+
},
|
|
793
|
+
"comment": {
|
|
794
|
+
"type": ["string", "null"]
|
|
795
|
+
}
|
|
796
|
+
},
|
|
797
|
+
"required": ["value"]
|
|
798
|
+
},
|
|
799
|
+
"description": "Significant changes affecting the application as reported by the appellant"
|
|
800
|
+
},
|
|
801
|
+
"significantChangesAffectingApplicationLpa": {
|
|
802
|
+
"type": ["array", "null"],
|
|
803
|
+
"items": {
|
|
804
|
+
"type": "object",
|
|
805
|
+
"properties": {
|
|
806
|
+
"value": {
|
|
807
|
+
"$ref": "#/definitions/SignificantChangesAffectingApplication",
|
|
808
|
+
"type": ["string", "null"]
|
|
809
|
+
},
|
|
810
|
+
"comment": {
|
|
811
|
+
"type": ["string", "null"]
|
|
812
|
+
}
|
|
813
|
+
},
|
|
814
|
+
"required": ["value"]
|
|
815
|
+
},
|
|
816
|
+
"description": "Significant changes affecting the application as reported by the LPA"
|
|
817
|
+
}
|
|
818
|
+
},
|
|
819
|
+
"definitions": {
|
|
820
|
+
"SignificantChangesAffectingApplication": {
|
|
821
|
+
"type": ["string", "null"],
|
|
822
|
+
"enum": ["adopted-a-new-local-plan", "national-policy-change", "court-judgement", "other", null]
|
|
779
823
|
}
|
|
780
824
|
}
|
|
781
825
|
}
|
|
@@ -56,6 +56,23 @@
|
|
|
56
56
|
"type": ["string", "null"],
|
|
57
57
|
"examples": ["We refused the application because of ..."],
|
|
58
58
|
"description": "A statement provided by the LPA, unused?"
|
|
59
|
+
},
|
|
60
|
+
"significantChangesAffectingApplicationLpa": {
|
|
61
|
+
"type": ["array", "null"],
|
|
62
|
+
"items": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"properties": {
|
|
65
|
+
"value": {
|
|
66
|
+
"type": ["string", "null"],
|
|
67
|
+
"enum": ["adopted-a-new-local-plan", "national-policy-change", "court-judgement", "other", null]
|
|
68
|
+
},
|
|
69
|
+
"comment": {
|
|
70
|
+
"type": ["string", "null"]
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"required": ["value"]
|
|
74
|
+
},
|
|
75
|
+
"description": "Significant changes affecting the application as reported by the LPA"
|
|
59
76
|
}
|
|
60
77
|
}
|
|
61
78
|
}
|
package/src/schemas.d.ts
CHANGED
|
@@ -834,6 +834,28 @@ export type AppealHASCase = (GridReference | SiteAddress) & {
|
|
|
834
834
|
* padsSapId for PADS inspectors
|
|
835
835
|
*/
|
|
836
836
|
padsSapId?: string | null;
|
|
837
|
+
/**
|
|
838
|
+
* Reason for appeal as provided by the appellant
|
|
839
|
+
*/
|
|
840
|
+
reasonForAppealAppellant?: string | null;
|
|
841
|
+
/**
|
|
842
|
+
* Significant changes affecting the application as reported by the appellant
|
|
843
|
+
*/
|
|
844
|
+
significantChangesAffectingApplicationAppellant?:
|
|
845
|
+
| {
|
|
846
|
+
value: 'adopted-a-new-local-plan' | 'national-policy-change' | 'court-judgement' | 'other' | null;
|
|
847
|
+
comment?: string | null;
|
|
848
|
+
}[]
|
|
849
|
+
| null;
|
|
850
|
+
/**
|
|
851
|
+
* Significant changes affecting the application as reported by the LPA
|
|
852
|
+
*/
|
|
853
|
+
significantChangesAffectingApplicationLpa?:
|
|
854
|
+
| {
|
|
855
|
+
value: 'adopted-a-new-local-plan' | 'national-policy-change' | 'court-judgement' | 'other' | null;
|
|
856
|
+
comment?: string | null;
|
|
857
|
+
}[]
|
|
858
|
+
| null;
|
|
837
859
|
[k: string]: unknown;
|
|
838
860
|
};
|
|
839
861
|
|
|
@@ -4481,6 +4503,15 @@ export type LPAQHASSubmissionProperties = {
|
|
|
4481
4503
|
* A statement provided by the LPA, unused?
|
|
4482
4504
|
*/
|
|
4483
4505
|
lpaStatement?: string | null;
|
|
4506
|
+
/**
|
|
4507
|
+
* Significant changes affecting the application as reported by the LPA
|
|
4508
|
+
*/
|
|
4509
|
+
significantChangesAffectingApplicationLpa?:
|
|
4510
|
+
| {
|
|
4511
|
+
value: 'adopted-a-new-local-plan' | 'national-policy-change' | 'court-judgement' | 'other' | null;
|
|
4512
|
+
comment?: string | null;
|
|
4513
|
+
}[]
|
|
4514
|
+
| null;
|
|
4484
4515
|
};
|
|
4485
4516
|
/**
|
|
4486
4517
|
* Schema defining any S78 specific properties for LPAQ submissions
|
|
@@ -174,7 +174,13 @@ const appealHas = {
|
|
|
174
174
|
advertType: 'Other'
|
|
175
175
|
}
|
|
176
176
|
],
|
|
177
|
-
padsSapId: null
|
|
177
|
+
padsSapId: null,
|
|
178
|
+
reasonForAppealAppellant: 'This is my reason for appeal',
|
|
179
|
+
significantChangesAffectingApplicationAppellant: [
|
|
180
|
+
{ value: 'adopted-a-new-local-plan', comment: 'Plan adopted last month' },
|
|
181
|
+
{ value: 'other', comment: 'General policy shift' }
|
|
182
|
+
],
|
|
183
|
+
significantChangesAffectingApplicationLpa: null
|
|
178
184
|
};
|
|
179
185
|
|
|
180
186
|
describe(schema, () => {
|
|
@@ -267,4 +273,37 @@ describe(schema, () => {
|
|
|
267
273
|
const validationResult = ajv.validate(schema, test);
|
|
268
274
|
assert.strictEqual(validationResult, false);
|
|
269
275
|
});
|
|
276
|
+
|
|
277
|
+
it('should allow null for new attributes', () => {
|
|
278
|
+
const test = structuredClone(appealHas);
|
|
279
|
+
test.reasonForAppealAppellant = null;
|
|
280
|
+
test.significantChangesAffectingApplicationAppellant = null;
|
|
281
|
+
test.significantChangesAffectingApplicationLpa = null;
|
|
282
|
+
const validationResult = ajv.validate(schema, test);
|
|
283
|
+
if (!validationResult) {
|
|
284
|
+
console.error(ajv.errors);
|
|
285
|
+
}
|
|
286
|
+
assert.strictEqual(validationResult, true);
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
it('should enforce enum for significantChangesAffectingApplication', () => {
|
|
290
|
+
const test = structuredClone(appealHas);
|
|
291
|
+
test.significantChangesAffectingApplicationAppellant = [{ value: 'invalid-enum-value', comment: 'some comment' }];
|
|
292
|
+
const validationResult = ajv.validate(schema, test);
|
|
293
|
+
assert.strictEqual(validationResult, false);
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
it('should enforce required value for significantChangesAffectingApplication entries', () => {
|
|
297
|
+
const test = structuredClone(appealHas);
|
|
298
|
+
test.significantChangesAffectingApplicationAppellant = [{ comment: 'some comment' }];
|
|
299
|
+
const validationResult = ajv.validate(schema, test);
|
|
300
|
+
assert.strictEqual(validationResult, false);
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
it('should allow missing/null comment for significantChangesAffectingApplication entries', () => {
|
|
304
|
+
const test = structuredClone(appealHas);
|
|
305
|
+
test.significantChangesAffectingApplicationAppellant = [{ value: 'adopted-a-new-local-plan' }];
|
|
306
|
+
const validationResult = ajv.validate(schema, test);
|
|
307
|
+
assert.strictEqual(validationResult, true);
|
|
308
|
+
});
|
|
270
309
|
});
|