@planning-inspectorate/data-model 1.11.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/.azure/ci.yml +60 -0
- package/.azure/release.yml +57 -0
- package/.github/dependabot.yml +11 -0
- package/.husky/install.mjs +7 -0
- package/.husky/pre-commit +1 -0
- package/.prettierignore +11 -0
- package/.prettierrc +19 -0
- package/LICENSE +21 -0
- package/README.md +237 -0
- package/commitlint.config.js +8 -0
- package/docs/README.md +85 -0
- package/docs/appeal-document.md +776 -0
- package/docs/appeal-event-estimate.md +108 -0
- package/docs/appeal-event.md +404 -0
- package/docs/appeal-has.md +1960 -0
- package/docs/appeal-representation.md +375 -0
- package/docs/appeal-s78.md +3607 -0
- package/docs/appeal.md +1879 -0
- package/docs/case-schedule.md +8 -0
- package/docs/dart-response.md +1413 -0
- package/docs/employee.md +70 -0
- package/docs/entraid.md +108 -0
- package/docs/folder.md +147 -0
- package/docs/gettimesheets-response.md +188 -0
- package/docs/interested-party.md +284 -0
- package/docs/listed-building.md +113 -0
- package/docs/listed-buildings.md +113 -0
- package/docs/nsip-document.md +966 -0
- package/docs/nsip-exam-timetable-defs-event.md +223 -0
- package/docs/nsip-exam-timetable-defs-line-item.md +51 -0
- package/docs/nsip-exam-timetable-defs.md +3 -0
- package/docs/nsip-exam-timetable-submission.md +113 -0
- package/docs/nsip-exam-timetable.md +352 -0
- package/docs/nsip-project-update.md +163 -0
- package/docs/nsip-project.md +2098 -0
- package/docs/nsip-representation-defs-attachment.md +133 -0
- package/docs/nsip-representation-defs.md +3 -0
- package/docs/nsip-representation.md +448 -0
- package/docs/nsip-subscription.md +193 -0
- package/docs/pins-inspector.md +184 -0
- package/docs/pins-lpa.md +260 -0
- package/docs/s51-advice.md +460 -0
- package/docs/service-user.md +575 -0
- package/eslint.config.js +21 -0
- package/jsconfig.json +12 -0
- package/package.json +55 -0
- package/pins_data_model/__init__.py +0 -0
- package/pins_data_model/gen_models.py +51 -0
- package/pins_data_model/load_schemas.py +51 -0
- package/pins_data_model/models/__init__.py +0 -0
- package/pins_data_model/models/model_appeal_document.py +294 -0
- package/pins_data_model/models/model_appeal_event.py +117 -0
- package/pins_data_model/models/model_appeal_event_estimate.py +37 -0
- package/pins_data_model/models/model_appeal_has.py +585 -0
- package/pins_data_model/models/model_appeal_representation.py +132 -0
- package/pins_data_model/models/model_appeal_s78.py +864 -0
- package/pins_data_model/models/model_case_schedule.py +11 -0
- package/pins_data_model/models/model_dart_response.py +292 -0
- package/pins_data_model/models/model_entraid.py +37 -0
- package/pins_data_model/models/model_folder.py +56 -0
- package/pins_data_model/models/model_gettimesheets_response.py +45 -0
- package/pins_data_model/models/model_listed_building.py +33 -0
- package/pins_data_model/models/model_listed_buildings.py +33 -0
- package/pins_data_model/models/model_nsip_document.py +199 -0
- package/pins_data_model/models/model_nsip_exam_timetable.py +90 -0
- package/pins_data_model/models/model_nsip_project.py +488 -0
- package/pins_data_model/models/model_nsip_project_update.py +60 -0
- package/pins_data_model/models/model_nsip_representation.py +83 -0
- package/pins_data_model/models/model_nsip_subscription.py +60 -0
- package/pins_data_model/models/model_pins_inspector.py +53 -0
- package/pins_data_model/models/model_pins_lpa.py +69 -0
- package/pins_data_model/models/model_s51_advice.py +109 -0
- package/pins_data_model/models/model_service_user.py +121 -0
- package/requirements.txt +2 -0
- package/schemas/__init__.py +0 -0
- package/schemas/appeal-document.schema.json +250 -0
- package/schemas/appeal-event-estimate.schema.json +31 -0
- package/schemas/appeal-event.schema.json +123 -0
- package/schemas/appeal-has.schema.json +576 -0
- package/schemas/appeal-representation.schema.json +131 -0
- package/schemas/appeal-s78.schema.json +1060 -0
- package/schemas/commands/__init__.py +0 -0
- package/schemas/commands/appeal-common-submission.schema.json +202 -0
- package/schemas/commands/appeal-has-submission.schema.json +82 -0
- package/schemas/commands/appeal-representation-submission.schema.json +192 -0
- package/schemas/commands/appeal-s78-submission.schema.json +100 -0
- package/schemas/commands/appellant-submission.schema.json +164 -0
- package/schemas/commands/interested-party.schema.json +80 -0
- package/schemas/commands/lpa-questionnaire-common.schema.json +110 -0
- package/schemas/commands/lpa-questionnaire-has.schema.json +69 -0
- package/schemas/commands/lpa-questionnaire-s78.schema.json +218 -0
- package/schemas/commands/lpa-questionnaire.schema.json +125 -0
- package/schemas/commands/new-deadline-submission.schema.json +59 -0
- package/schemas/commands/nsip-exam-timetable-submission.schema.json +27 -0
- package/schemas/commands/register-nsip-subscription.schema.json +32 -0
- package/schemas/commands/register-representation.schema.json +51 -0
- package/schemas/dart-response.schema.json +350 -0
- package/schemas/entraid.schema.json +31 -0
- package/schemas/folder.schema.json +49 -0
- package/schemas/gettimesheets-response.schema.json +46 -0
- package/schemas/listed-building.schema.json +31 -0
- package/schemas/listed-buildings.schema.json +31 -0
- package/schemas/nsip-document.schema.json +235 -0
- package/schemas/nsip-exam-timetable.schema.json +101 -0
- package/schemas/nsip-project-update.schema.json +49 -0
- package/schemas/nsip-project.schema.json +539 -0
- package/schemas/nsip-representation.schema.json +110 -0
- package/schemas/nsip-subscription.schema.json +52 -0
- package/schemas/pins-inspector.schema.json +47 -0
- package/schemas/pins-lpa.schema.json +63 -0
- package/schemas/s51-advice.schema.json +113 -0
- package/schemas/service-user.schema.json +152 -0
- package/setup.py +15 -0
- package/src/enums.cjs +632 -0
- package/src/enums.d.ts +573 -0
- package/src/enums.js +573 -0
- package/src/gen-docs.js +34 -0
- package/src/gen-enums.js +119 -0
- package/src/gen-types.js +70 -0
- package/src/index.cjs +746 -0
- package/src/index.d.ts +18 -0
- package/src/index.js +34 -0
- package/src/lib/load.js +78 -0
- package/src/schemas.d.ts +4570 -0
- package/tests/appeals/appeal-event.test.js +62 -0
- package/tests/appeals/commands/appeal-representation-submission.test.js +107 -0
- package/tests/appeals/commands/has-questionnaire.test.js +92 -0
- package/tests/appeals/commands/has-submission.test.js +113 -0
- package/tests/appeals/commands/s78-questionnaire.test.js +96 -0
- package/tests/appeals/commands/s78-submission.test.js +119 -0
- package/tests/schemas.test.js +97 -0
|
@@ -0,0 +1,576 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "appeal-has.schema.json",
|
|
4
|
+
"title": "Appeal HAS Case",
|
|
5
|
+
"description": "Schema defining the metadata for an appeal",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": [
|
|
9
|
+
"caseId",
|
|
10
|
+
"caseReference",
|
|
11
|
+
"caseStatus",
|
|
12
|
+
"caseType",
|
|
13
|
+
"caseProcedure",
|
|
14
|
+
"lpaCode",
|
|
15
|
+
"caseOfficerId",
|
|
16
|
+
"inspectorId",
|
|
17
|
+
"allocationLevel",
|
|
18
|
+
"allocationBand",
|
|
19
|
+
"caseSpecialisms",
|
|
20
|
+
"caseSubmittedDate",
|
|
21
|
+
"caseCreatedDate",
|
|
22
|
+
"caseUpdatedDate",
|
|
23
|
+
"caseValidDate",
|
|
24
|
+
"caseValidationDate",
|
|
25
|
+
"caseValidationOutcome",
|
|
26
|
+
"caseValidationInvalidDetails",
|
|
27
|
+
"caseValidationIncompleteDetails",
|
|
28
|
+
"caseExtensionDate",
|
|
29
|
+
"caseStartedDate",
|
|
30
|
+
"casePublishedDate",
|
|
31
|
+
"linkedCaseStatus",
|
|
32
|
+
"leadCaseReference",
|
|
33
|
+
"lpaQuestionnaireDueDate",
|
|
34
|
+
"lpaQuestionnaireSubmittedDate",
|
|
35
|
+
"lpaQuestionnaireCreatedDate",
|
|
36
|
+
"lpaQuestionnairePublishedDate",
|
|
37
|
+
"lpaQuestionnaireValidationOutcome",
|
|
38
|
+
"lpaQuestionnaireValidationOutcomeDate",
|
|
39
|
+
"lpaQuestionnaireValidationDetails",
|
|
40
|
+
"lpaStatement",
|
|
41
|
+
"caseWithdrawnDate",
|
|
42
|
+
"caseTransferredDate",
|
|
43
|
+
"transferredCaseClosedDate",
|
|
44
|
+
"caseDecisionOutcomeDate",
|
|
45
|
+
"caseDecisionPublishedDate",
|
|
46
|
+
"caseDecisionOutcome",
|
|
47
|
+
"caseCompletedDate",
|
|
48
|
+
"enforcementNotice",
|
|
49
|
+
"applicationReference",
|
|
50
|
+
"applicationDate",
|
|
51
|
+
"applicationDecision",
|
|
52
|
+
"applicationDecisionDate",
|
|
53
|
+
"caseSubmissionDueDate",
|
|
54
|
+
"siteAddressLine1",
|
|
55
|
+
"siteAddressLine2",
|
|
56
|
+
"siteAddressTown",
|
|
57
|
+
"siteAddressCounty",
|
|
58
|
+
"siteAddressPostcode",
|
|
59
|
+
"siteAccessDetails",
|
|
60
|
+
"siteSafetyDetails",
|
|
61
|
+
"siteAreaSquareMetres",
|
|
62
|
+
"floorSpaceSquareMetres",
|
|
63
|
+
"isCorrectAppealType",
|
|
64
|
+
"isGreenBelt",
|
|
65
|
+
"inConservationArea",
|
|
66
|
+
"ownsAllLand",
|
|
67
|
+
"ownsSomeLand",
|
|
68
|
+
"knowsOtherOwners",
|
|
69
|
+
"knowsAllOwners",
|
|
70
|
+
"advertisedAppeal",
|
|
71
|
+
"notificationMethod",
|
|
72
|
+
"ownersInformed",
|
|
73
|
+
"originalDevelopmentDescription",
|
|
74
|
+
"changedDevelopmentDescription",
|
|
75
|
+
"newConditionDetails",
|
|
76
|
+
"nearbyCaseReferences",
|
|
77
|
+
"neighbouringSiteAddresses",
|
|
78
|
+
"affectedListedBuildingNumbers",
|
|
79
|
+
"appellantCostsAppliedFor",
|
|
80
|
+
"lpaCostsAppliedFor"
|
|
81
|
+
],
|
|
82
|
+
"properties": {
|
|
83
|
+
"caseId": {
|
|
84
|
+
"type": ["integer", "null"],
|
|
85
|
+
"examples": [1200],
|
|
86
|
+
"description": "Internal case identifier"
|
|
87
|
+
},
|
|
88
|
+
"caseReference": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"examples": ["7002471"],
|
|
91
|
+
"description": "External case identifier"
|
|
92
|
+
},
|
|
93
|
+
"submissionId": {
|
|
94
|
+
"type": ["string", "null"],
|
|
95
|
+
"format": "uuid",
|
|
96
|
+
"examples": ["7f45748c-2342-4b59-b934-ad6183e8d834"],
|
|
97
|
+
"description": "Case submission id - link to draft submission created by appellant"
|
|
98
|
+
},
|
|
99
|
+
"caseStatus": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"enum": [
|
|
102
|
+
"assign_case_officer",
|
|
103
|
+
"validation",
|
|
104
|
+
"ready_to_start",
|
|
105
|
+
"lpa_questionnaire",
|
|
106
|
+
"issue_determination",
|
|
107
|
+
"complete",
|
|
108
|
+
"invalid",
|
|
109
|
+
"closed",
|
|
110
|
+
"withdrawn",
|
|
111
|
+
"awaiting_transfer",
|
|
112
|
+
"transferred",
|
|
113
|
+
"event",
|
|
114
|
+
"awaiting_event"
|
|
115
|
+
],
|
|
116
|
+
"description": "The processing status for the appeal"
|
|
117
|
+
},
|
|
118
|
+
"caseType": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"enum": ["C", "D", "F", "G", "H", "L", "Q", "S", "V", "W", "X", "Y", "Z", "ZA", "ZP"],
|
|
121
|
+
"description": "The internal code for an appeal type, e.g. D (Householder)"
|
|
122
|
+
},
|
|
123
|
+
"caseProcedure": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"enum": ["written", "hearing", "inquiry"],
|
|
126
|
+
"description": "The type of procedure for the appeal"
|
|
127
|
+
},
|
|
128
|
+
"lpaCode": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"examples": ["Q9999"],
|
|
131
|
+
"description": "A unique identifier for the Local Planning Authority",
|
|
132
|
+
"$comment": "Uses the internal PINS code identifying LPAs"
|
|
133
|
+
},
|
|
134
|
+
"caseOfficerId": {
|
|
135
|
+
"type": ["string", "null"],
|
|
136
|
+
"description": "Unique identifier for the case officer assigned to the case",
|
|
137
|
+
"$comment": "This is the user in Entra ID"
|
|
138
|
+
},
|
|
139
|
+
"inspectorId": {
|
|
140
|
+
"type": ["string", "null"],
|
|
141
|
+
"description": "Unique identifier for the inspector assigned to the case",
|
|
142
|
+
"$comment": "This is the user in Entra ID"
|
|
143
|
+
},
|
|
144
|
+
"allocationLevel": {
|
|
145
|
+
"type": ["string", "null"],
|
|
146
|
+
"enum": ["A", "B", "C", "D", "E", "F", "G", "H", null],
|
|
147
|
+
"description": "A level used for allocation purposes"
|
|
148
|
+
},
|
|
149
|
+
"allocationBand": {
|
|
150
|
+
"type": ["number", "null"],
|
|
151
|
+
"enum": [1, 2, 3, null],
|
|
152
|
+
"description": "A band used for allocation purposes",
|
|
153
|
+
"$comment": "Linked to the level, e.g. 1[E,F,G,H], 2[C,D], 3[A,B]"
|
|
154
|
+
},
|
|
155
|
+
"caseSpecialisms": {
|
|
156
|
+
"type": ["array", "null"],
|
|
157
|
+
"items": {
|
|
158
|
+
"type": "string"
|
|
159
|
+
},
|
|
160
|
+
"examples": ["Access", "Listed building and enforcement", "Roads and traffics", "Natural heritage", "Schedule 1"],
|
|
161
|
+
"description": "A list of specialisms for allocation purposes"
|
|
162
|
+
},
|
|
163
|
+
"caseSubmittedDate": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"format": "date-time",
|
|
166
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
167
|
+
"description": "The date the appeal was submitted by the appellant"
|
|
168
|
+
},
|
|
169
|
+
"caseCreatedDate": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"format": "date-time",
|
|
172
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
173
|
+
"description": "The date the appeal was received"
|
|
174
|
+
},
|
|
175
|
+
"caseUpdatedDate": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"format": "date-time",
|
|
178
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
179
|
+
"description": "The date the appeal was last updated in the back-office"
|
|
180
|
+
},
|
|
181
|
+
"caseValidDate": {
|
|
182
|
+
"type": ["string", "null"],
|
|
183
|
+
"format": "date-time",
|
|
184
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
185
|
+
"description": "The date since when the appeal was considered valid"
|
|
186
|
+
},
|
|
187
|
+
"caseValidationDate": {
|
|
188
|
+
"type": ["string", "null"],
|
|
189
|
+
"format": "date-time",
|
|
190
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
191
|
+
"description": "The date the appeal was validated in the back-office"
|
|
192
|
+
},
|
|
193
|
+
"caseValidationOutcome": {
|
|
194
|
+
"type": ["string", "null"],
|
|
195
|
+
"enum": ["valid", "invalid", "incomplete", null],
|
|
196
|
+
"description": "The outcome of the validation action"
|
|
197
|
+
},
|
|
198
|
+
"caseValidationInvalidDetails": {
|
|
199
|
+
"type": ["array", "null"],
|
|
200
|
+
"items": {
|
|
201
|
+
"type": "string",
|
|
202
|
+
"examples": ["Appeal has not been submitted on time", "The appellant doesn't have the right to appeal"]
|
|
203
|
+
},
|
|
204
|
+
"description": "A list of reasons why the appeal is invalid",
|
|
205
|
+
"$comment": "The list will contain items only if the caseValidationOutcome is invalid"
|
|
206
|
+
},
|
|
207
|
+
"caseValidationIncompleteDetails": {
|
|
208
|
+
"type": ["array", "null"],
|
|
209
|
+
"items": {
|
|
210
|
+
"type": "string",
|
|
211
|
+
"examples": [
|
|
212
|
+
"Appellant name is not the same on the application form and appeal form",
|
|
213
|
+
"LPA's decision notice is missing"
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
"description": "A list of reasons why the appeal is incomplete",
|
|
217
|
+
"$comment": "The list will contain items only if the caseValidationOutcome is incomplete"
|
|
218
|
+
},
|
|
219
|
+
"caseExtensionDate": {
|
|
220
|
+
"type": ["string", "null"],
|
|
221
|
+
"format": "date-time",
|
|
222
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
223
|
+
"description": "When the validation outcome is incomplete, an extension may be granted to provide missing information"
|
|
224
|
+
},
|
|
225
|
+
"caseStartedDate": {
|
|
226
|
+
"type": ["string", "null"],
|
|
227
|
+
"format": "date-time",
|
|
228
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
229
|
+
"description": "A date indicating when the case was started, resulting in the creation of a timetable"
|
|
230
|
+
},
|
|
231
|
+
"casePublishedDate": {
|
|
232
|
+
"type": ["string", "null"],
|
|
233
|
+
"format": "date-time",
|
|
234
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
235
|
+
"description": "A date indicating when the case was published"
|
|
236
|
+
},
|
|
237
|
+
"linkedCaseStatus": {
|
|
238
|
+
"type": ["string", "null"],
|
|
239
|
+
"enum": ["lead", "child", null],
|
|
240
|
+
"description": "Indicates if the case is linked, and the type of relationship"
|
|
241
|
+
},
|
|
242
|
+
"leadCaseReference": {
|
|
243
|
+
"type": ["string", "null"],
|
|
244
|
+
"examples": ["7002471"],
|
|
245
|
+
"description": "The reference of the lead case, if the case is a child case"
|
|
246
|
+
},
|
|
247
|
+
"lpaQuestionnaireDueDate": {
|
|
248
|
+
"type": ["string", "null"],
|
|
249
|
+
"format": "date-time",
|
|
250
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
251
|
+
"description": "If the case is started and has a timetable, a deadline for the LPA to provide a response"
|
|
252
|
+
},
|
|
253
|
+
"lpaQuestionnaireSubmittedDate": {
|
|
254
|
+
"type": ["string", "null"],
|
|
255
|
+
"format": "date-time",
|
|
256
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
257
|
+
"description": "The date the LPA provided a response to the case"
|
|
258
|
+
},
|
|
259
|
+
"lpaQuestionnaireCreatedDate": {
|
|
260
|
+
"type": ["string", "null"],
|
|
261
|
+
"format": "date-time",
|
|
262
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
263
|
+
"description": "The date the LPA response was receeived"
|
|
264
|
+
},
|
|
265
|
+
"lpaQuestionnairePublishedDate": {
|
|
266
|
+
"type": ["string", "null"],
|
|
267
|
+
"format": "date-time",
|
|
268
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
269
|
+
"description": "The date indicating when the questionnaire review was completed and the questionnaire published"
|
|
270
|
+
},
|
|
271
|
+
"lpaQuestionnaireValidationOutcome": {
|
|
272
|
+
"type": ["string", "null"],
|
|
273
|
+
"enum": ["complete", "incomplete", null],
|
|
274
|
+
"description": "The outcome of the validation action"
|
|
275
|
+
},
|
|
276
|
+
"lpaQuestionnaireValidationOutcomeDate": {
|
|
277
|
+
"type": ["string", "null"],
|
|
278
|
+
"format": "date-time",
|
|
279
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
280
|
+
"description": "The date the LPA response was validated"
|
|
281
|
+
},
|
|
282
|
+
"lpaQuestionnaireValidationDetails": {
|
|
283
|
+
"type": ["array", "null"],
|
|
284
|
+
"items": {
|
|
285
|
+
"type": "string",
|
|
286
|
+
"examples": ["Policies are missing", "Other documents or information are missing"]
|
|
287
|
+
},
|
|
288
|
+
"description": "A list of reasons why the questionnaire is incomplete",
|
|
289
|
+
"$comment": "The list will contain items only if the lpaQuestionnaireValidationOutcome is incomplete"
|
|
290
|
+
},
|
|
291
|
+
"lpaStatement": {
|
|
292
|
+
"type": ["string", "null"],
|
|
293
|
+
"examples": ["We refused the application because of ..."],
|
|
294
|
+
"description": "A statement provided by the LPA"
|
|
295
|
+
},
|
|
296
|
+
"caseWithdrawnDate": {
|
|
297
|
+
"type": ["string", "null"],
|
|
298
|
+
"format": "date-time",
|
|
299
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
300
|
+
"description": "The date the appeal was withdrawn by the appellant"
|
|
301
|
+
},
|
|
302
|
+
"caseTransferredDate": {
|
|
303
|
+
"type": ["string", "null"],
|
|
304
|
+
"format": "date-time",
|
|
305
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
306
|
+
"description": "The date the appeal was transferred to a new case of a different type"
|
|
307
|
+
},
|
|
308
|
+
"transferredCaseClosedDate": {
|
|
309
|
+
"type": ["string", "null"],
|
|
310
|
+
"format": "date-time",
|
|
311
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
312
|
+
"description": "The date the appeal was closed and the appellant requested to resubmit"
|
|
313
|
+
},
|
|
314
|
+
"caseDecisionOutcomeDate": {
|
|
315
|
+
"type": ["string", "null"],
|
|
316
|
+
"format": "date-time",
|
|
317
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
318
|
+
"description": "The date of the appeal decision"
|
|
319
|
+
},
|
|
320
|
+
"caseDecisionPublishedDate": {
|
|
321
|
+
"type": ["string", "null"],
|
|
322
|
+
"format": "date-time",
|
|
323
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
324
|
+
"description": "The date the appeal decision was published"
|
|
325
|
+
},
|
|
326
|
+
"caseDecisionOutcome": {
|
|
327
|
+
"type": ["string", "null"],
|
|
328
|
+
"enum": ["allowed", "split_decision", "dismissed", "invalid", null],
|
|
329
|
+
"description": "The final outcome for the decision"
|
|
330
|
+
},
|
|
331
|
+
"caseCompletedDate": {
|
|
332
|
+
"type": ["string", "null"],
|
|
333
|
+
"format": "date-time",
|
|
334
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
335
|
+
"description": "The date the appeal decision letter"
|
|
336
|
+
},
|
|
337
|
+
"enforcementNotice": {
|
|
338
|
+
"type": ["boolean", "null"],
|
|
339
|
+
"description": "Indicates if an enforcement notice is the reason for the appeal"
|
|
340
|
+
},
|
|
341
|
+
"applicationReference": {
|
|
342
|
+
"type": "string",
|
|
343
|
+
"examples": ["43010/APP/1/290572"],
|
|
344
|
+
"description": "The unique identifier of the LPA application"
|
|
345
|
+
},
|
|
346
|
+
"applicationDate": {
|
|
347
|
+
"type": "string",
|
|
348
|
+
"format": "date-time",
|
|
349
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
350
|
+
"description": "The date of the original LPA application"
|
|
351
|
+
},
|
|
352
|
+
"applicationDecision": {
|
|
353
|
+
"type": "string",
|
|
354
|
+
"enum": ["granted", "refused", "not_received"],
|
|
355
|
+
"description": "The outcome of the original LPA decision"
|
|
356
|
+
},
|
|
357
|
+
"applicationDecisionDate": {
|
|
358
|
+
"type": ["string", "null"],
|
|
359
|
+
"format": "date-time",
|
|
360
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
361
|
+
"description": "The date of the original LPA decision"
|
|
362
|
+
},
|
|
363
|
+
"caseSubmissionDueDate": {
|
|
364
|
+
"type": ["string", "null"],
|
|
365
|
+
"format": "date-time",
|
|
366
|
+
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
367
|
+
"description": "The statutory deadline for submitting an appeal from the original LPA decision date",
|
|
368
|
+
"$comment": "Calculated from the applicationDecisionDate"
|
|
369
|
+
},
|
|
370
|
+
"siteAddressLine1": {
|
|
371
|
+
"type": "string",
|
|
372
|
+
"examples": ["96 The Avenue"],
|
|
373
|
+
"description": "First line of address for the appeal site"
|
|
374
|
+
},
|
|
375
|
+
"siteAddressLine2": {
|
|
376
|
+
"type": ["string", "null"],
|
|
377
|
+
"description": "Second line of address for the appeal site"
|
|
378
|
+
},
|
|
379
|
+
"siteAddressTown": {
|
|
380
|
+
"type": "string",
|
|
381
|
+
"examples": ["Maidstone"],
|
|
382
|
+
"description": "Town / City of the site address"
|
|
383
|
+
},
|
|
384
|
+
"siteAddressCounty": {
|
|
385
|
+
"type": ["string", "null"],
|
|
386
|
+
"examples": ["Kent"],
|
|
387
|
+
"description": "County of the site address"
|
|
388
|
+
},
|
|
389
|
+
"siteAddressPostcode": {
|
|
390
|
+
"type": "string",
|
|
391
|
+
"examples": ["MD21 5XY"],
|
|
392
|
+
"description": "Postal code of the site address"
|
|
393
|
+
},
|
|
394
|
+
"siteAccessDetails": {
|
|
395
|
+
"type": ["array", "null"],
|
|
396
|
+
"items": {
|
|
397
|
+
"type": "string",
|
|
398
|
+
"examples": ["The site is accessible through the small gate on the left of the property"]
|
|
399
|
+
},
|
|
400
|
+
"description": "Provided information on site accessibility"
|
|
401
|
+
},
|
|
402
|
+
"siteSafetyDetails": {
|
|
403
|
+
"type": ["array", "null"],
|
|
404
|
+
"items": {
|
|
405
|
+
"type": "string",
|
|
406
|
+
"examples": ["There is an aggressive dog in the property"]
|
|
407
|
+
},
|
|
408
|
+
"description": "Provided information on site health and safety"
|
|
409
|
+
},
|
|
410
|
+
"siteAreaSquareMetres": {
|
|
411
|
+
"type": ["number", "null"],
|
|
412
|
+
"examples": [45.7],
|
|
413
|
+
"description": "The site area, in square meters"
|
|
414
|
+
},
|
|
415
|
+
"floorSpaceSquareMetres": {
|
|
416
|
+
"type": ["number", "null"],
|
|
417
|
+
"examples": [3.5],
|
|
418
|
+
"description": "The floor space, in square meters"
|
|
419
|
+
},
|
|
420
|
+
"isCorrectAppealType": {
|
|
421
|
+
"type": ["boolean", "null"],
|
|
422
|
+
"description": "Indicates if the LPA considers the appeal type appropriate"
|
|
423
|
+
},
|
|
424
|
+
"isGreenBelt": {
|
|
425
|
+
"type": ["boolean", "null"],
|
|
426
|
+
"description": "Indicates if the site is in a green belt"
|
|
427
|
+
},
|
|
428
|
+
"inConservationArea": {
|
|
429
|
+
"type": ["boolean", "null"],
|
|
430
|
+
"description": "Indicates if the site is in a conservation area"
|
|
431
|
+
},
|
|
432
|
+
"ownsAllLand": {
|
|
433
|
+
"type": ["boolean", "null"],
|
|
434
|
+
"description": "Indicates if the appellant has complete ownership of the site"
|
|
435
|
+
},
|
|
436
|
+
"ownsSomeLand": {
|
|
437
|
+
"type": ["boolean", "null"],
|
|
438
|
+
"description": "Indicates if the appellant has partial ownership of the site"
|
|
439
|
+
},
|
|
440
|
+
"knowsOtherOwners": {
|
|
441
|
+
"type": ["string", "null"],
|
|
442
|
+
"enum": ["Yes", "No", "Some", null],
|
|
443
|
+
"description": "Indicates if the appellant knows other owners of the site"
|
|
444
|
+
},
|
|
445
|
+
"knowsAllOwners": {
|
|
446
|
+
"type": ["string", "null"],
|
|
447
|
+
"enum": ["Yes", "No", "Some", null],
|
|
448
|
+
"description": "Indicates if the appellant knows all owners of the site"
|
|
449
|
+
},
|
|
450
|
+
"advertisedAppeal": {
|
|
451
|
+
"type": ["boolean", "null"],
|
|
452
|
+
"description": "Indicates if the appellant has advertised the appeal to the LPA decision"
|
|
453
|
+
},
|
|
454
|
+
"notificationMethod": {
|
|
455
|
+
"type": ["array", "null"],
|
|
456
|
+
"items": {
|
|
457
|
+
"type": "string",
|
|
458
|
+
"enum": ["notice", "letter", "advert", null]
|
|
459
|
+
},
|
|
460
|
+
"description": "The methods used to notify relevant parties"
|
|
461
|
+
},
|
|
462
|
+
"ownersInformed": {
|
|
463
|
+
"type": ["boolean", "null"],
|
|
464
|
+
"description": "Indicates if the appellant has informed other owners of the site"
|
|
465
|
+
},
|
|
466
|
+
"originalDevelopmentDescription": {
|
|
467
|
+
"type": ["string", "null"],
|
|
468
|
+
"examples": ["Replacement of an existing gate to access the property"],
|
|
469
|
+
"description": "The original description of the development, as provided by the appellant"
|
|
470
|
+
},
|
|
471
|
+
"changedDevelopmentDescription": {
|
|
472
|
+
"type": ["boolean", "null"],
|
|
473
|
+
"description": "Indicates that the LPA has changed the development description"
|
|
474
|
+
},
|
|
475
|
+
"newConditionDetails": {
|
|
476
|
+
"type": ["string", "null"],
|
|
477
|
+
"examples": ["Since the original application, a number of things have changed..."],
|
|
478
|
+
"description": "New conditions details provided by the LPA"
|
|
479
|
+
},
|
|
480
|
+
"nearbyCaseReferences": {
|
|
481
|
+
"type": ["array", "null"],
|
|
482
|
+
"items": {
|
|
483
|
+
"type": "string",
|
|
484
|
+
"examples": ["6000456", "8004567"]
|
|
485
|
+
},
|
|
486
|
+
"description": "A list of related case references known to the appellant and the LPA"
|
|
487
|
+
},
|
|
488
|
+
"neighbouringSiteAddresses": {
|
|
489
|
+
"type": ["array", "null"],
|
|
490
|
+
"items": {
|
|
491
|
+
"type": "object",
|
|
492
|
+
"additionalProperties": true,
|
|
493
|
+
"properties": {
|
|
494
|
+
"neighbouringSiteAddressLine1": {
|
|
495
|
+
"type": "string",
|
|
496
|
+
"examples": ["96 The Avenue"],
|
|
497
|
+
"description": "First line of address of the site"
|
|
498
|
+
},
|
|
499
|
+
"neighbouringSiteAddressLine2": {
|
|
500
|
+
"type": ["string", "null"],
|
|
501
|
+
"description": "Second line of address of the site"
|
|
502
|
+
},
|
|
503
|
+
"neighbouringSiteAddressTown": {
|
|
504
|
+
"type": "string",
|
|
505
|
+
"examples": ["Maidstone"],
|
|
506
|
+
"description": "Town / City of the site address"
|
|
507
|
+
},
|
|
508
|
+
"neighbouringSiteAddressCounty": {
|
|
509
|
+
"type": ["string", "null"],
|
|
510
|
+
"examples": ["Kent"],
|
|
511
|
+
"description": "County of the site address"
|
|
512
|
+
},
|
|
513
|
+
"neighbouringSiteAddressPostcode": {
|
|
514
|
+
"type": "string",
|
|
515
|
+
"examples": ["MD21 5XY"],
|
|
516
|
+
"description": "Postal code of the site address"
|
|
517
|
+
},
|
|
518
|
+
"neighbouringSiteAccessDetails": {
|
|
519
|
+
"type": ["string", "null"],
|
|
520
|
+
"examples": ["Ongoing road works at this address"],
|
|
521
|
+
"description": "Provided information on site accessibility on this address"
|
|
522
|
+
},
|
|
523
|
+
"neighbouringSiteSafetyDetails": {
|
|
524
|
+
"type": ["string", "null"],
|
|
525
|
+
"examples": ["Ongoing road works at this address"],
|
|
526
|
+
"description": "Provided information on site health and safety on this address"
|
|
527
|
+
}
|
|
528
|
+
},
|
|
529
|
+
"required": [
|
|
530
|
+
"neighbouringSiteAddressLine1",
|
|
531
|
+
"neighbouringSiteAddressLine2",
|
|
532
|
+
"neighbouringSiteAddressTown",
|
|
533
|
+
"neighbouringSiteAddressCounty",
|
|
534
|
+
"neighbouringSiteAddressPostcode",
|
|
535
|
+
"neighbouringSiteAccessDetails",
|
|
536
|
+
"neighbouringSiteSafetyDetails"
|
|
537
|
+
]
|
|
538
|
+
},
|
|
539
|
+
"description": "A list of neighbouring site addresses"
|
|
540
|
+
},
|
|
541
|
+
"reasonForNeighbourVisits": {
|
|
542
|
+
"type": ["string", "null"],
|
|
543
|
+
"description": "A general reason given for the need to visit any neighbours"
|
|
544
|
+
},
|
|
545
|
+
"affectedListedBuildingNumbers": {
|
|
546
|
+
"type": ["array", "null"],
|
|
547
|
+
"items": {
|
|
548
|
+
"type": "string",
|
|
549
|
+
"examples": ["10023", "17824"]
|
|
550
|
+
},
|
|
551
|
+
"description": "A list of affected listed building IDs from Historic England"
|
|
552
|
+
},
|
|
553
|
+
"appellantCostsAppliedFor": {
|
|
554
|
+
"type": ["boolean", "null"],
|
|
555
|
+
"description": "Indicates if the appellant has applied for costs"
|
|
556
|
+
},
|
|
557
|
+
"lpaCostsAppliedFor": {
|
|
558
|
+
"type": ["boolean", "null"],
|
|
559
|
+
"description": "Indicates if the appellant has applied for costs"
|
|
560
|
+
},
|
|
561
|
+
"typeOfPlanningApplication": {
|
|
562
|
+
"type": ["string", "null"],
|
|
563
|
+
"enum": [
|
|
564
|
+
"full-appeal",
|
|
565
|
+
"householder-planning",
|
|
566
|
+
"outline-planning",
|
|
567
|
+
"prior-approval",
|
|
568
|
+
"reserved-matters",
|
|
569
|
+
"removal-or-variation-of-conditions",
|
|
570
|
+
"listed-building",
|
|
571
|
+
"minor-commercial-development",
|
|
572
|
+
null
|
|
573
|
+
]
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
}
|