@planning-inspectorate/data-model 2.38.1 → 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 CHANGED
@@ -14,6 +14,8 @@
14
14
 
15
15
  * [Appeal S78 Case](./appeal-s78.md "Group B - Schema defining the metadata for an appeal") – `appeal-s78.schema.json`
16
16
 
17
+ * [Application Update Schema](./application-update.md "Application Update for Casework Project") – `application-update.schema.json`
18
+
17
19
  * [DaRT API response](./dart-response.md "Schema defining the data returned by the DaRT API") – `dart-response.schema.json`
18
20
 
19
21
  * [Entra ID User Objects](./entraid.md "A list of users from EntraID") – `entraid.schema.json`
@@ -58,6 +60,10 @@
58
60
 
59
61
  * [Untitled object in Appeal HAS Case](./appeal-has-properties-advertdetails-items.md) – `appeal-has.schema.json#/properties/advertDetails/items`
60
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
+
61
67
  * [Untitled object in Appeal S78 Case](./appeal-s78-properties-neighbouringsiteaddresses-items.md) – `appeal-s78.schema.json#/properties/neighbouringSiteAddresses/items`
62
68
 
63
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` | |
@@ -0,0 +1,3 @@
1
+ ## definitions Type
2
+
3
+ unknown
@@ -10,114 +10,117 @@ any of
10
10
 
11
11
  # Appeal HAS Case Properties
12
12
 
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
- | Additional Properties | Any | Optional | can be null | |
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
+ | :------- | :--- | :------- | :------- | :--------- |
@@ -0,0 +1,206 @@
1
+ ## Application Update Schema Type
2
+
3
+ `object` ([Application Update Schema](application-update.md))
4
+
5
+ # Application Update Schema Properties
6
+
7
+ | Property | Type | Required | Nullable | Defined by |
8
+ | :-------------------------------------------------- | :------- | :------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | [id](#id) | `string` | Required | cannot be null | [Application Update Schema](application-update-properties-id.md "application-update.schema.json#/properties/id") |
10
+ | [caseReference](#casereference) | `string` | Required | cannot be null | [Application Update Schema](application-update-properties-casereference.md "application-update.schema.json#/properties/caseReference") |
11
+ | [caseId](#caseid) | `string` | Required | cannot be null | [Application Update Schema](application-update-properties-caseid.md "application-update.schema.json#/properties/caseId") |
12
+ | [caseType](#casetype) | `string` | Required | cannot be null | [Application Update Schema](application-update-properties-casetype.md "application-update.schema.json#/properties/caseType") |
13
+ | [applicationUpdateStatus](#applicationupdatestatus) | `string` | Required | cannot be null | [Application Update Schema](application-update-properties-applicationupdatestatus.md "application-update.schema.json#/properties/applicationUpdateStatus") |
14
+ | [details](#details) | `string` | Required | cannot be null | [Application Update Schema](application-update-properties-details.md "application-update.schema.json#/properties/details") |
15
+ | [firstPublished](#firstpublished) | `string` | Optional | can be null | [Application Update Schema](application-update-properties-firstpublished.md "application-update.schema.json#/properties/firstPublished") |
16
+ | [unpublishedDate](#unpublisheddate) | `string` | Optional | can be null | [Application Update Schema](application-update-properties-unpublisheddate.md "application-update.schema.json#/properties/unpublishedDate") |
17
+ | [lastEdited](#lastedited) | `string` | Optional | can be null | [Application Update Schema](application-update-properties-lastedited.md "application-update.schema.json#/properties/lastEdited") |
18
+ | Additional Properties | Any | Optional | can be null | |
19
+
20
+ ## id
21
+
22
+ Primary key
23
+
24
+ `id`
25
+
26
+ * is required
27
+
28
+ * Type: `string`
29
+
30
+ * cannot be null
31
+
32
+ * defined in: [Application Update Schema](application-update-properties-id.md "application-update.schema.json#/properties/id")
33
+
34
+ ### id Type
35
+
36
+ `string`
37
+
38
+ ## caseReference
39
+
40
+ Business Key for the related case
41
+
42
+ `caseReference`
43
+
44
+ * is required
45
+
46
+ * Type: `string`
47
+
48
+ * cannot be null
49
+
50
+ * defined in: [Application Update Schema](application-update-properties-casereference.md "application-update.schema.json#/properties/caseReference")
51
+
52
+ ### caseReference Type
53
+
54
+ `string`
55
+
56
+ ## caseId
57
+
58
+ The unique ID for the case this Application Update belongs to.
59
+
60
+ `caseId`
61
+
62
+ * is required
63
+
64
+ * Type: `string`
65
+
66
+ * cannot be null
67
+
68
+ * defined in: [Application Update Schema](application-update-properties-caseid.md "application-update.schema.json#/properties/caseId")
69
+
70
+ ### caseId Type
71
+
72
+ `string`
73
+
74
+ ## caseType
75
+
76
+ The type of case this Application Update is for.
77
+
78
+ `caseType`
79
+
80
+ * is required
81
+
82
+ * Type: `string`
83
+
84
+ * cannot be null
85
+
86
+ * defined in: [Application Update Schema](application-update-properties-casetype.md "application-update.schema.json#/properties/caseType")
87
+
88
+ ### caseType Type
89
+
90
+ `string`
91
+
92
+ ## applicationUpdateStatus
93
+
94
+ Application Update Status. Name displayed to users, e.g. Draft
95
+
96
+ `applicationUpdateStatus`
97
+
98
+ * is required
99
+
100
+ * Type: `string`
101
+
102
+ * cannot be null
103
+
104
+ * defined in: [Application Update Schema](application-update-properties-applicationupdatestatus.md "application-update.schema.json#/properties/applicationUpdateStatus")
105
+
106
+ ### applicationUpdateStatus Type
107
+
108
+ `string`
109
+
110
+ ### applicationUpdateStatus Constraints
111
+
112
+ **enum**: the value of this property must be equal to one of the following values:
113
+
114
+ | Value | Explanation |
115
+ | :-------------- | :---------- |
116
+ | `"Draft"` | |
117
+ | `"Published"` | |
118
+ | `"Unpublished"` | |
119
+
120
+ ## details
121
+
122
+ Application Update text description.
123
+
124
+ `details`
125
+
126
+ * is required
127
+
128
+ * Type: `string`
129
+
130
+ * cannot be null
131
+
132
+ * defined in: [Application Update Schema](application-update-properties-details.md "application-update.schema.json#/properties/details")
133
+
134
+ ### details Type
135
+
136
+ `string`
137
+
138
+ ## firstPublished
139
+
140
+
141
+
142
+ `firstPublished`
143
+
144
+ * is optional
145
+
146
+ * Type: `string`
147
+
148
+ * can be null
149
+
150
+ * defined in: [Application Update Schema](application-update-properties-firstpublished.md "application-update.schema.json#/properties/firstPublished")
151
+
152
+ ### firstPublished Type
153
+
154
+ `string`
155
+
156
+ ### firstPublished Constraints
157
+
158
+ **date time**: the string must be a date time string, according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339 "check the specification")
159
+
160
+ ## unpublishedDate
161
+
162
+
163
+
164
+ `unpublishedDate`
165
+
166
+ * is optional
167
+
168
+ * Type: `string`
169
+
170
+ * can be null
171
+
172
+ * defined in: [Application Update Schema](application-update-properties-unpublisheddate.md "application-update.schema.json#/properties/unpublishedDate")
173
+
174
+ ### unpublishedDate Type
175
+
176
+ `string`
177
+
178
+ ### unpublishedDate Constraints
179
+
180
+ **date time**: the string must be a date time string, according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339 "check the specification")
181
+
182
+ ## lastEdited
183
+
184
+
185
+
186
+ `lastEdited`
187
+
188
+ * is optional
189
+
190
+ * Type: `string`
191
+
192
+ * can be null
193
+
194
+ * defined in: [Application Update Schema](application-update-properties-lastedited.md "application-update.schema.json#/properties/lastEdited")
195
+
196
+ ### lastEdited Type
197
+
198
+ `string`
199
+
200
+ ### lastEdited Constraints
201
+
202
+ **date time**: the string must be a date time string, according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339 "check the specification")
203
+
204
+ ## Additional Properties
205
+
206
+ Additional properties are allowed and do not have to follow a specific schema
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planning-inspectorate/data-model",
3
- "version": "2.38.1",
3
+ "version": "2.40.0",
4
4
  "description": "JSON Schemas for the Planning Inspectorate's Data Model",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -30,8 +30,8 @@
30
30
  },
31
31
  "devDependencies": {
32
32
  "@adobe/jsonschema2md": "^8.0.3",
33
- "@commitlint/cli": "^20.1.0",
34
- "@commitlint/config-conventional": "^20.0.0",
33
+ "@commitlint/cli": "^21.0.0",
34
+ "@commitlint/config-conventional": "^21.0.0",
35
35
  "@eslint/js": "^10.0.1",
36
36
  "ajv": "^8.17.1",
37
37
  "ajv-formats": "^3.0.1",
@@ -41,7 +41,7 @@
41
41
  "globals": "^17.3.0",
42
42
  "husky": "^9.1.7",
43
43
  "json-schema-to-typescript": "^15.0.4",
44
- "lint-staged": "^16.1.2",
44
+ "lint-staged": "^17.0.4",
45
45
  "lodash.snakecase": "^4.1.1",
46
46
  "prettier": "^3.6.2",
47
47
  "rollup": "^4.44.2",
@@ -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
- Is the advertisement in position?
791
+ Reason for appeal as provided by the appellant
766
792
  """
767
- isSiteOnHighwayLand: bool | None = None
793
+ significantChangesAffectingApplicationAppellant: (
794
+ list[SignificantChangesAffectingApplicationAppellantItem] | None
795
+ ) = None
768
796
  """
769
- Is the site on highway land?
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]):
@@ -0,0 +1,55 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: application-update.schema.json
3
+
4
+ from __future__ import annotations
5
+
6
+ from enum import Enum
7
+
8
+ from pydantic import AwareDatetime, BaseModel, ConfigDict, Field
9
+
10
+
11
+ class ApplicationUpdateStatus(Enum):
12
+ """
13
+ Application Update Status. Name displayed to users, e.g. Draft
14
+ """
15
+
16
+ Draft = "Draft"
17
+ Published = "Published"
18
+ Unpublished = "Unpublished"
19
+
20
+
21
+ class ApplicationUpdateSchema(BaseModel):
22
+ """
23
+ Application Update for Casework Project
24
+ """
25
+
26
+ model_config = ConfigDict(
27
+ extra="allow",
28
+ )
29
+ id: str = Field(..., examples=["AAAAAAAA-1234-1234-1234-AAAAAAAAAAAA"])
30
+ """
31
+ Primary key
32
+ """
33
+ caseReference: str = Field(..., examples=["CROWN/2025/12345"])
34
+ """
35
+ Business Key for the related case
36
+ """
37
+ caseId: str = Field(..., examples=["AAAAAAAA-1234-1234-1234-AAAAAAAAAAAA"])
38
+ """
39
+ The unique ID for the case this Application Update belongs to.
40
+ """
41
+ caseType: str = Field(..., examples=["Crown Development Application"])
42
+ """
43
+ The type of case this Application Update is for.
44
+ """
45
+ applicationUpdateStatus: ApplicationUpdateStatus
46
+ """
47
+ Application Update Status. Name displayed to users, e.g. Draft
48
+ """
49
+ details: str
50
+ """
51
+ Application Update text description.
52
+ """
53
+ firstPublished: AwareDatetime | None = None
54
+ unpublishedDate: AwareDatetime | None = None
55
+ lastEdited: AwareDatetime | None = None
@@ -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
  }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "application-update.schema.json",
4
+ "title": "Application Update Schema",
5
+ "description": "Application Update for Casework Project",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["id", "caseReference", "caseId", "caseType", "applicationUpdateStatus", "details"],
9
+ "properties": {
10
+ "id": {
11
+ "type": "string",
12
+ "description": "Primary key",
13
+ "example": "AAAAAAAA-1234-1234-1234-AAAAAAAAAAAA"
14
+ },
15
+ "caseReference": {
16
+ "type": "string",
17
+ "description": "Business Key for the related case",
18
+ "example": "CROWN/2025/12345"
19
+ },
20
+ "caseId": {
21
+ "type": "string",
22
+ "description": "The unique ID for the case this Application Update belongs to.",
23
+ "example": "AAAAAAAA-1234-1234-1234-AAAAAAAAAAAA"
24
+ },
25
+ "caseType": {
26
+ "type": "string",
27
+ "description": "The type of case this Application Update is for.",
28
+ "example": "Crown Development Application"
29
+ },
30
+ "applicationUpdateStatus": {
31
+ "type": "string",
32
+ "description": "Application Update Status. Name displayed to users, e.g. Draft",
33
+ "enum": ["Draft", "Published", "Unpublished"]
34
+ },
35
+ "details": {
36
+ "type": "string",
37
+ "description": "Application Update text description."
38
+ },
39
+ "firstPublished": {
40
+ "type": ["string", "null"],
41
+ "format": "date-time"
42
+ },
43
+ "unpublishedDate": {
44
+ "type": ["string", "null"],
45
+ "format": "date-time"
46
+ },
47
+ "lastEdited": {
48
+ "type": ["string", "null"],
49
+ "format": "date-time"
50
+ }
51
+ }
52
+ }
@@ -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/enums.cjs CHANGED
@@ -436,6 +436,12 @@ const APPEAL_VIRUS_CHECK_STATUS = Object.freeze({
436
436
  SCANNED: 'scanned',
437
437
  });
438
438
 
439
+ const APPLICATION_UPDATE_STATUS = Object.freeze({
440
+ DRAFT: 'Draft',
441
+ PUBLISHED: 'Published',
442
+ UNPUBLISHED: 'Unpublished',
443
+ });
444
+
439
445
  const CASE_STAGE = Object.freeze({
440
446
  0: '0',
441
447
  ACCEPTANCE: 'acceptance',
@@ -852,6 +858,7 @@ exports.APPEAL_SOURCE = APPEAL_SOURCE;
852
858
  exports.APPEAL_SOURCE_SYSTEM = APPEAL_SOURCE_SYSTEM;
853
859
  exports.APPEAL_TYPE_OF_PLANNING_APPLICATION = APPEAL_TYPE_OF_PLANNING_APPLICATION;
854
860
  exports.APPEAL_VIRUS_CHECK_STATUS = APPEAL_VIRUS_CHECK_STATUS;
861
+ exports.APPLICATION_UPDATE_STATUS = APPLICATION_UPDATE_STATUS;
855
862
  exports.CASE_STAGE = CASE_STAGE;
856
863
  exports.MESSAGE_EVENT_TYPE = MESSAGE_EVENT_TYPE;
857
864
  exports.METHOD = METHOD;
package/src/enums.d.ts CHANGED
@@ -434,6 +434,12 @@ export const APPEAL_VIRUS_CHECK_STATUS = {
434
434
  SCANNED: 'scanned',
435
435
  } as const;
436
436
 
437
+ export const APPLICATION_UPDATE_STATUS = {
438
+ DRAFT: 'Draft',
439
+ PUBLISHED: 'Published',
440
+ UNPUBLISHED: 'Unpublished',
441
+ } as const;
442
+
437
443
  export const CASE_STAGE = {
438
444
  0: '0',
439
445
  ACCEPTANCE: 'acceptance',
package/src/enums.js CHANGED
@@ -434,6 +434,12 @@ export const APPEAL_VIRUS_CHECK_STATUS = Object.freeze({
434
434
  SCANNED: 'scanned',
435
435
  });
436
436
 
437
+ export const APPLICATION_UPDATE_STATUS = Object.freeze({
438
+ DRAFT: 'Draft',
439
+ PUBLISHED: 'Published',
440
+ UNPUBLISHED: 'Unpublished',
441
+ });
442
+
437
443
  export const CASE_STAGE = Object.freeze({
438
444
  0: '0',
439
445
  ACCEPTANCE: 'acceptance',
package/src/index.cjs CHANGED
@@ -517,6 +517,12 @@ const APPEAL_VIRUS_CHECK_STATUS = Object.freeze({
517
517
  SCANNED: 'scanned',
518
518
  });
519
519
 
520
+ const APPLICATION_UPDATE_STATUS = Object.freeze({
521
+ DRAFT: 'Draft',
522
+ PUBLISHED: 'Published',
523
+ UNPUBLISHED: 'Unpublished',
524
+ });
525
+
520
526
  const CASE_STAGE = Object.freeze({
521
527
  0: '0',
522
528
  ACCEPTANCE: 'acceptance',
@@ -965,6 +971,7 @@ exports.APPEAL_SOURCE = APPEAL_SOURCE;
965
971
  exports.APPEAL_SOURCE_SYSTEM = APPEAL_SOURCE_SYSTEM;
966
972
  exports.APPEAL_TYPE_OF_PLANNING_APPLICATION = APPEAL_TYPE_OF_PLANNING_APPLICATION;
967
973
  exports.APPEAL_VIRUS_CHECK_STATUS = APPEAL_VIRUS_CHECK_STATUS;
974
+ exports.APPLICATION_UPDATE_STATUS = APPLICATION_UPDATE_STATUS;
968
975
  exports.CASE_STAGE = CASE_STAGE;
969
976
  exports.MESSAGE_EVENT_TYPE = MESSAGE_EVENT_TYPE;
970
977
  exports.METHOD = METHOD;
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
 
@@ -1750,6 +1772,40 @@ export interface SiteAddress {
1750
1772
  siteAddressPostcode: string;
1751
1773
  }
1752
1774
 
1775
+ /**
1776
+ * Application Update for Casework Project
1777
+ */
1778
+ export interface ApplicationUpdateSchema {
1779
+ /**
1780
+ * Primary key
1781
+ */
1782
+ id: string;
1783
+ /**
1784
+ * Business Key for the related case
1785
+ */
1786
+ caseReference: string;
1787
+ /**
1788
+ * The unique ID for the case this Application Update belongs to.
1789
+ */
1790
+ caseId: string;
1791
+ /**
1792
+ * The type of case this Application Update is for.
1793
+ */
1794
+ caseType: string;
1795
+ /**
1796
+ * Application Update Status. Name displayed to users, e.g. Draft
1797
+ */
1798
+ applicationUpdateStatus: 'Draft' | 'Published' | 'Unpublished';
1799
+ /**
1800
+ * Application Update text description.
1801
+ */
1802
+ details: string;
1803
+ firstPublished?: string | null;
1804
+ unpublishedDate?: string | null;
1805
+ lastEdited?: string | null;
1806
+ [k: string]: unknown;
1807
+ }
1808
+
1753
1809
  /**
1754
1810
  * Schema defining the data returned by the DaRT API
1755
1811
  */
@@ -4447,6 +4503,15 @@ export type LPAQHASSubmissionProperties = {
4447
4503
  * A statement provided by the LPA, unused?
4448
4504
  */
4449
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;
4450
4515
  };
4451
4516
  /**
4452
4517
  * Schema defining any S78 specific properties for LPAQ submissions
@@ -5131,6 +5196,7 @@ export type SchemaMap = {
5131
5196
  'appeal-has.schema.json': AppealHASCase;
5132
5197
  'appeal-representation.schema.json': AppealRepresentation;
5133
5198
  'appeal-s78.schema.json': AppealS78Case;
5199
+ 'application-update.schema.json': ApplicationUpdateSchema;
5134
5200
  'dart-response.schema.json': DaRTAPIResponse;
5135
5201
  'entraid.schema.json': EntraIDUserObjects;
5136
5202
  'folder.schema.json': Folder;
@@ -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
  });