@planning-inspectorate/data-model 2.30.0 → 2.31.1

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.
Files changed (39) hide show
  1. package/docs/README.md +4 -0
  2. package/docs/appeal-document.md +96 -94
  3. package/docs/appeal-s78-definitions-significantchangesaffectingapplication.md +14 -0
  4. package/docs/appeal-s78-definitions.md +3 -0
  5. package/docs/appeal-s78.md +292 -198
  6. package/package.json +1 -1
  7. package/pins_data_model/models/model_appeal_document.py +3 -1
  8. package/pins_data_model/models/model_appeal_event.py +1 -1
  9. package/pins_data_model/models/model_appeal_event_estimate.py +1 -1
  10. package/pins_data_model/models/model_appeal_has.py +1 -1
  11. package/pins_data_model/models/model_appeal_representation.py +1 -1
  12. package/pins_data_model/models/model_appeal_s78.py +128 -70
  13. package/pins_data_model/models/model_dart_response.py +1 -1
  14. package/pins_data_model/models/model_entraid.py +1 -1
  15. package/pins_data_model/models/model_folder.py +1 -1
  16. package/pins_data_model/models/model_gettimesheets_response.py +1 -1
  17. package/pins_data_model/models/model_listed_building.py +1 -1
  18. package/pins_data_model/models/model_listed_buildings.py +1 -1
  19. package/pins_data_model/models/model_nsip_document.py +1 -1
  20. package/pins_data_model/models/model_nsip_exam_timetable.py +1 -1
  21. package/pins_data_model/models/model_nsip_invoice.py +1 -1
  22. package/pins_data_model/models/model_nsip_meeting.py +1 -1
  23. package/pins_data_model/models/model_nsip_project.py +1 -1
  24. package/pins_data_model/models/model_nsip_project_update.py +1 -1
  25. package/pins_data_model/models/model_nsip_representation.py +1 -1
  26. package/pins_data_model/models/model_nsip_subscription.py +1 -1
  27. package/pins_data_model/models/model_pins_inspector.py +1 -1
  28. package/pins_data_model/models/model_pins_lpa.py +1 -1
  29. package/pins_data_model/models/model_s51_advice.py +1 -1
  30. package/pins_data_model/models/model_service_user.py +1 -1
  31. package/schemas/appeal-document.schema.json +2 -0
  32. package/schemas/appeal-s78.schema.json +48 -5
  33. package/schemas/commands/appellant-submission.schema.json +3 -1
  34. package/src/enums.cjs +3 -0
  35. package/src/enums.d.ts +3 -0
  36. package/src/enums.js +3 -0
  37. package/src/index.cjs +3 -0
  38. package/src/schemas.d.ts +41 -6
  39. package/tests/appeals/expedited-appeals.test.js +238 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planning-inspectorate/data-model",
3
- "version": "2.30.0",
3
+ "version": "2.31.1",
4
4
  "description": "JSON Schemas for the Planning Inspectorate's Data Model",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-document.schema.json
3
- # timestamp: 2026-03-17T18:45:49+00:00
3
+ # timestamp: 2026-04-13T16:15:35+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -150,6 +150,8 @@ class DocumentType(Enum):
150
150
  groundJSupporting = "groundJSupporting"
151
151
  groundKSupporting = "groundKSupporting"
152
152
  discontinuanceNotice = "discontinuanceNotice"
153
+ otherSupportingInformationAppellant = "otherSupportingInformationAppellant"
154
+ eiaEnvironmentalStatementAppellant = "eiaEnvironmentalStatementAppellant"
153
155
  NoneType_None = None
154
156
 
155
157
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-event.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-event-estimate.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-has.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-representation.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-s78.schema.json
3
- # timestamp: 2026-03-17T18:45:48+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -65,6 +65,7 @@ class CaseProcedure(Enum):
65
65
  hearing = "hearing"
66
66
  inquiry = "inquiry"
67
67
  writtenPart1 = "writtenPart1"
68
+ writtenPart2 = "writtenPart2"
68
69
  NoneType_None = None
69
70
 
70
71
 
@@ -426,6 +427,92 @@ class DiscontinuanceNoticeServedReason(Enum):
426
427
  NoneType_None = None
427
428
 
428
429
 
430
+ class AdvertDetail1(BaseModel):
431
+ model_config = ConfigDict(
432
+ extra="allow",
433
+ )
434
+ advertType: AdvertType
435
+ isAdvertInPosition: bool | None = None
436
+ """
437
+ Is the advertisement in position?
438
+ """
439
+ isSiteOnHighwayLand: bool | None = None
440
+ """
441
+ Is the site on highway land?
442
+ """
443
+
444
+
445
+ class AppealGroundLetter2(Enum):
446
+ a = "a"
447
+ b = "b"
448
+ c = "c"
449
+ d = "d"
450
+ e = "e"
451
+ f = "f"
452
+ g = "g"
453
+ NoneType_None = None
454
+
455
+
456
+ class EnforcementAppealGroundsDetail1(BaseModel):
457
+ model_config = ConfigDict(
458
+ extra="allow",
459
+ )
460
+ appealGroundLetter: AppealGroundLetter2 | None = None
461
+ groundForAppealStartDate: AwareDatetime | None = Field(
462
+ None, examples=["2023-07-27T20:30:00.000Z"]
463
+ )
464
+ groundFacts: str | None = None
465
+ """
466
+ Facts supporting the appeal ground
467
+ """
468
+
469
+
470
+ class AppealGroundLetter3(Enum):
471
+ a = "a"
472
+ b = "b"
473
+ c = "c"
474
+ d = "d"
475
+ e = "e"
476
+ f = "f"
477
+ g = "g"
478
+ h = "h"
479
+ i = "i"
480
+ j = "j"
481
+ k = "k"
482
+ NoneType_None = None
483
+
484
+
485
+ class ApplicationElbAppealGroundsDetail1(BaseModel):
486
+ model_config = ConfigDict(
487
+ extra="allow",
488
+ )
489
+ appealGroundLetter: AppealGroundLetter3 | None = None
490
+ groundForAppealStartDate: AwareDatetime | None = Field(
491
+ None, examples=["2023-07-27T20:30:00.000Z"]
492
+ )
493
+ groundFacts: str | None = None
494
+ """
495
+ Facts supporting the appeal ground
496
+ """
497
+
498
+
499
+ class SignificantChangesAffectingApplication(Enum):
500
+ adopted_a_new_local_plan = "adopted-a-new-local-plan"
501
+ national_policy_change = "national-policy-change"
502
+ court_judgement = "court-judgement"
503
+ other = "other"
504
+
505
+
506
+ class SignificantChangesAffectingApplicationAppellantItem(BaseModel):
507
+ value: SignificantChangesAffectingApplication
508
+ comment: str | None = None
509
+
510
+
511
+ class SignificantChangesAffectingApplicationLpaItem(BaseModel):
512
+ value: SignificantChangesAffectingApplication
513
+ comment: str | None = None
514
+
515
+
429
516
  class AppealS78Case1(BaseModel):
430
517
  """
431
518
  Group B - Schema defining the metadata for an appeal
@@ -967,10 +1054,10 @@ class AppealS78Case1(BaseModel):
967
1054
  ..., examples=["2023-07-27T20:30:00.000Z"]
968
1055
  )
969
1056
  finalCommentsDueDate: AwareDatetime | None = Field(
970
- ..., examples=["2023-07-27T20:30:00.000Z"]
1057
+ None, examples=["2023-07-27T20:30:00.000Z"]
971
1058
  )
972
1059
  interestedPartyRepsDueDate: AwareDatetime | None = Field(
973
- ..., examples=["2023-07-27T20:30:00.000Z"]
1060
+ None, examples=["2023-07-27T20:30:00.000Z"]
974
1061
  )
975
1062
  lpaCommentsSubmittedDate: AwareDatetime | None = Field(
976
1063
  ..., examples=["2023-07-27T20:30:00.000Z"]
@@ -982,13 +1069,13 @@ class AppealS78Case1(BaseModel):
982
1069
  ..., examples=["2023-07-27T20:30:00.000Z"]
983
1070
  )
984
1071
  proofsOfEvidenceDueDate: AwareDatetime | None = Field(
985
- ..., examples=["2023-07-27T20:30:00.000Z"]
1072
+ None, examples=["2023-07-27T20:30:00.000Z"]
986
1073
  )
987
1074
  siteNoticesSentDate: AwareDatetime | None = Field(
988
1075
  ..., examples=["2023-07-27T20:30:00.000Z"]
989
1076
  )
990
1077
  statementDueDate: AwareDatetime | None = Field(
991
- ..., examples=["2023-07-27T20:30:00.000Z"]
1078
+ None, examples=["2023-07-27T20:30:00.000Z"]
992
1079
  )
993
1080
  caseManagementConferenceDate: AwareDatetime | None = Field(
994
1081
  None, examples=["2023-07-27T20:30:00.000Z"]
@@ -1163,74 +1250,25 @@ class AppealS78Case1(BaseModel):
1163
1250
  Other reason for serving a discontinuance notice, for discontinuanceNoticeServedReason: other
1164
1251
  """
1165
1252
  wasRetrospectivePlanningApplicationMade: bool | None = None
1166
-
1167
-
1168
- class AdvertDetail1(BaseModel):
1169
- model_config = ConfigDict(
1170
- extra="allow",
1171
- )
1172
- advertType: AdvertType
1173
- isAdvertInPosition: bool | None = None
1253
+ reasonForAppealAppellant: constr(max_length=250) | None = None
1174
1254
  """
1175
- Is the advertisement in position?
1255
+ Reason for appeal as provided by the appellant (Expedited Appeals)
1176
1256
  """
1177
- isSiteOnHighwayLand: bool | None = None
1257
+ screeningOpinionIndicatesEiaRequired: bool | None = None
1178
1258
  """
1179
- Is the site on highway land?
1259
+ Indicates if the screening opinion specifies that an EIA is required (Expedited Appeals)
1180
1260
  """
1181
-
1182
-
1183
- class AppealGroundLetter2(Enum):
1184
- a = "a"
1185
- b = "b"
1186
- c = "c"
1187
- d = "d"
1188
- e = "e"
1189
- f = "f"
1190
- g = "g"
1191
- NoneType_None = None
1192
-
1193
-
1194
- class EnforcementAppealGroundsDetail1(BaseModel):
1195
- model_config = ConfigDict(
1196
- extra="allow",
1197
- )
1198
- appealGroundLetter: AppealGroundLetter2 | None = None
1199
- groundForAppealStartDate: AwareDatetime | None = Field(
1200
- None, examples=["2023-07-27T20:30:00.000Z"]
1201
- )
1202
- groundFacts: str | None = None
1261
+ significantChangesAffectingApplicationAppellant: (
1262
+ list[SignificantChangesAffectingApplicationAppellantItem] | None
1263
+ ) = None
1203
1264
  """
1204
- Facts supporting the appeal ground
1265
+ Significant changes affecting the application as reported by the appellant (Expedited Appeals)
1205
1266
  """
1206
-
1207
-
1208
- class AppealGroundLetter3(Enum):
1209
- a = "a"
1210
- b = "b"
1211
- c = "c"
1212
- d = "d"
1213
- e = "e"
1214
- f = "f"
1215
- g = "g"
1216
- h = "h"
1217
- i = "i"
1218
- j = "j"
1219
- k = "k"
1220
- NoneType_None = None
1221
-
1222
-
1223
- class ApplicationElbAppealGroundsDetail1(BaseModel):
1224
- model_config = ConfigDict(
1225
- extra="allow",
1226
- )
1227
- appealGroundLetter: AppealGroundLetter3 | None = None
1228
- groundForAppealStartDate: AwareDatetime | None = Field(
1229
- None, examples=["2023-07-27T20:30:00.000Z"]
1230
- )
1231
- groundFacts: str | None = None
1267
+ significantChangesAffectingApplicationLpa: (
1268
+ list[SignificantChangesAffectingApplicationLpaItem] | None
1269
+ ) = None
1232
1270
  """
1233
- Facts supporting the appeal ground
1271
+ Significant changes affecting the application as reported by the LPA (Expedited Appeals)
1234
1272
  """
1235
1273
 
1236
1274
 
@@ -1775,10 +1813,10 @@ class AppealS78Case2(BaseModel):
1775
1813
  ..., examples=["2023-07-27T20:30:00.000Z"]
1776
1814
  )
1777
1815
  finalCommentsDueDate: AwareDatetime | None = Field(
1778
- ..., examples=["2023-07-27T20:30:00.000Z"]
1816
+ None, examples=["2023-07-27T20:30:00.000Z"]
1779
1817
  )
1780
1818
  interestedPartyRepsDueDate: AwareDatetime | None = Field(
1781
- ..., examples=["2023-07-27T20:30:00.000Z"]
1819
+ None, examples=["2023-07-27T20:30:00.000Z"]
1782
1820
  )
1783
1821
  lpaCommentsSubmittedDate: AwareDatetime | None = Field(
1784
1822
  ..., examples=["2023-07-27T20:30:00.000Z"]
@@ -1790,13 +1828,13 @@ class AppealS78Case2(BaseModel):
1790
1828
  ..., examples=["2023-07-27T20:30:00.000Z"]
1791
1829
  )
1792
1830
  proofsOfEvidenceDueDate: AwareDatetime | None = Field(
1793
- ..., examples=["2023-07-27T20:30:00.000Z"]
1831
+ None, examples=["2023-07-27T20:30:00.000Z"]
1794
1832
  )
1795
1833
  siteNoticesSentDate: AwareDatetime | None = Field(
1796
1834
  ..., examples=["2023-07-27T20:30:00.000Z"]
1797
1835
  )
1798
1836
  statementDueDate: AwareDatetime | None = Field(
1799
- ..., examples=["2023-07-27T20:30:00.000Z"]
1837
+ None, examples=["2023-07-27T20:30:00.000Z"]
1800
1838
  )
1801
1839
  caseManagementConferenceDate: AwareDatetime | None = Field(
1802
1840
  None, examples=["2023-07-27T20:30:00.000Z"]
@@ -1971,6 +2009,26 @@ class AppealS78Case2(BaseModel):
1971
2009
  Other reason for serving a discontinuance notice, for discontinuanceNoticeServedReason: other
1972
2010
  """
1973
2011
  wasRetrospectivePlanningApplicationMade: bool | None = None
2012
+ reasonForAppealAppellant: constr(max_length=250) | None = None
2013
+ """
2014
+ Reason for appeal as provided by the appellant (Expedited Appeals)
2015
+ """
2016
+ screeningOpinionIndicatesEiaRequired: bool | None = None
2017
+ """
2018
+ Indicates if the screening opinion specifies that an EIA is required (Expedited Appeals)
2019
+ """
2020
+ significantChangesAffectingApplicationAppellant: (
2021
+ list[SignificantChangesAffectingApplicationAppellantItem] | None
2022
+ ) = None
2023
+ """
2024
+ Significant changes affecting the application as reported by the appellant (Expedited Appeals)
2025
+ """
2026
+ significantChangesAffectingApplicationLpa: (
2027
+ list[SignificantChangesAffectingApplicationLpaItem] | None
2028
+ ) = None
2029
+ """
2030
+ Significant changes affecting the application as reported by the LPA (Expedited Appeals)
2031
+ """
1974
2032
 
1975
2033
 
1976
2034
  class AppealS78Case(RootModel[AppealS78Case1 | AppealS78Case2]):
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: dart-response.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: entraid.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: folder.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: gettimesheets-response.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: listed-building.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: listed-buildings.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-document.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-exam-timetable.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-invoice.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-meeting.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-project.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-project-update.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-representation.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-subscription.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: pins-inspector.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: pins-lpa.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: s51-advice.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: service-user.schema.json
3
- # timestamp: 2026-03-06T13:54:17+00:00
3
+ # timestamp: 2026-04-13T16:15:34+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -228,6 +228,8 @@
228
228
  "groundJSupporting",
229
229
  "groundKSupporting",
230
230
  "discontinuanceNotice",
231
+ "otherSupportingInformationAppellant",
232
+ "eiaEnvironmentalStatementAppellant",
231
233
  null
232
234
  ],
233
235
  "description": "The type of document, used for exchange, migrations and consumption from the appeal back-office system"
@@ -118,14 +118,10 @@
118
118
  "appellantCommentsSubmittedDate",
119
119
  "appellantStatementSubmittedDate",
120
120
  "appellantProofsSubmittedDate",
121
- "finalCommentsDueDate",
122
- "interestedPartyRepsDueDate",
123
121
  "lpaCommentsSubmittedDate",
124
122
  "lpaProofsSubmittedDate",
125
123
  "lpaStatementSubmittedDate",
126
- "proofsOfEvidenceDueDate",
127
124
  "siteNoticesSentDate",
128
- "statementDueDate",
129
125
  "reasonForNeighbourVisits",
130
126
  "numberOfResidencesNetChange",
131
127
  "siteViewableFromRoad",
@@ -213,7 +209,7 @@
213
209
  },
214
210
  "caseProcedure": {
215
211
  "type": ["string", "null"],
216
- "enum": ["written", "hearing", "inquiry", "writtenPart1", null],
212
+ "enum": ["written", "hearing", "inquiry", "writtenPart1", "writtenPart2", null],
217
213
  "description": "The type of procedure for the appeal",
218
214
  "$comment": "Also available on HAS cases"
219
215
  },
@@ -1351,6 +1347,53 @@
1351
1347
  },
1352
1348
  "wasRetrospectivePlanningApplicationMade": {
1353
1349
  "type": ["boolean", "null"]
1350
+ },
1351
+ "reasonForAppealAppellant": {
1352
+ "type": ["string", "null"],
1353
+ "maxLength": 250,
1354
+ "description": "Reason for appeal as provided by the appellant (Expedited Appeals)"
1355
+ },
1356
+ "screeningOpinionIndicatesEiaRequired": {
1357
+ "type": ["boolean", "null"],
1358
+ "description": "Indicates if the screening opinion specifies that an EIA is required (Expedited Appeals)"
1359
+ },
1360
+ "significantChangesAffectingApplicationAppellant": {
1361
+ "type": ["array", "null"],
1362
+ "items": {
1363
+ "type": "object",
1364
+ "properties": {
1365
+ "value": {
1366
+ "$ref": "#/definitions/SignificantChangesAffectingApplication"
1367
+ },
1368
+ "comment": {
1369
+ "type": ["string", "null"]
1370
+ }
1371
+ },
1372
+ "required": ["value"]
1373
+ },
1374
+ "description": "Significant changes affecting the application as reported by the appellant (Expedited Appeals)"
1375
+ },
1376
+ "significantChangesAffectingApplicationLpa": {
1377
+ "type": ["array", "null"],
1378
+ "items": {
1379
+ "type": "object",
1380
+ "properties": {
1381
+ "value": {
1382
+ "$ref": "#/definitions/SignificantChangesAffectingApplication"
1383
+ },
1384
+ "comment": {
1385
+ "type": ["string", "null"]
1386
+ }
1387
+ },
1388
+ "required": ["value"]
1389
+ },
1390
+ "description": "Significant changes affecting the application as reported by the LPA (Expedited Appeals)"
1391
+ }
1392
+ },
1393
+ "definitions": {
1394
+ "SignificantChangesAffectingApplication": {
1395
+ "type": "string",
1396
+ "enum": ["adopted-a-new-local-plan", "national-policy-change", "court-judgement", "other"]
1354
1397
  }
1355
1398
  }
1356
1399
  }
@@ -168,7 +168,9 @@
168
168
  "groundKSupporting",
169
169
  "groundAFeeReceipt",
170
170
  null,
171
- "environmentalAssessment"
171
+ "environmentalAssessment",
172
+ "eiaEnvironmentalStatementAppellant",
173
+ "otherSupportingInformationAppellant"
172
174
  ],
173
175
  "description": "The type of document, used for exchange, migrations and consumption from the appeal back-office system"
174
176
  }
package/src/enums.cjs CHANGED
@@ -98,6 +98,7 @@ const APPEAL_CASE_PROCEDURE = Object.freeze({
98
98
  INQUIRY: 'inquiry',
99
99
  WRITTEN: 'written',
100
100
  WRITTEN_PART_1: 'writtenPart1',
101
+ WRITTEN_PART_2: 'writtenPart2',
101
102
  });
102
103
 
103
104
  const APPEAL_CASE_STAGE = Object.freeze({
@@ -210,6 +211,7 @@ const APPEAL_DOCUMENT_TYPE = Object.freeze({
210
211
  DEVELOPMENT_PLAN_POLICIES: 'developmentPlanPolicies',
211
212
  DISCONTINUANCE_NOTICE: 'discontinuanceNotice',
212
213
  EIA_ENVIRONMENTAL_STATEMENT: 'eiaEnvironmentalStatement',
214
+ EIA_ENVIRONMENTAL_STATEMENT_APPELLANT: 'eiaEnvironmentalStatementAppellant',
213
215
  EIA_SCOPING_OPINION: 'eiaScopingOpinion',
214
216
  EIA_SCREENING_DIRECTION: 'eiaScreeningDirection',
215
217
  EIA_SCREENING_OPINION: 'eiaScreeningOpinion',
@@ -253,6 +255,7 @@ const APPEAL_DOCUMENT_TYPE = Object.freeze({
253
255
  OTHER_PARTY_REPRESENTATIONS: 'otherPartyRepresentations',
254
256
  OTHER_RELEVANT_MATTERS: 'otherRelevantMatters',
255
257
  OTHER_RELEVANT_POLICIES: 'otherRelevantPolicies',
258
+ OTHER_SUPPORTING_INFORMATION_APPELLANT: 'otherSupportingInformationAppellant',
256
259
  OWNERSHIP_CERTIFICATE: 'ownershipCertificate',
257
260
  PLAN_SHOWING_EXTENT_OF_ORDER: 'planShowingExtentOfOrder',
258
261
  PLANNING_CONTRAVENTION_NOTICE: 'planningContraventionNotice',
package/src/enums.d.ts CHANGED
@@ -96,6 +96,7 @@ export const APPEAL_CASE_PROCEDURE = {
96
96
  INQUIRY: 'inquiry',
97
97
  WRITTEN: 'written',
98
98
  WRITTEN_PART_1: 'writtenPart1',
99
+ WRITTEN_PART_2: 'writtenPart2',
99
100
  } as const;
100
101
 
101
102
  export const APPEAL_CASE_STAGE = {
@@ -208,6 +209,7 @@ export const APPEAL_DOCUMENT_TYPE = {
208
209
  DEVELOPMENT_PLAN_POLICIES: 'developmentPlanPolicies',
209
210
  DISCONTINUANCE_NOTICE: 'discontinuanceNotice',
210
211
  EIA_ENVIRONMENTAL_STATEMENT: 'eiaEnvironmentalStatement',
212
+ EIA_ENVIRONMENTAL_STATEMENT_APPELLANT: 'eiaEnvironmentalStatementAppellant',
211
213
  EIA_SCOPING_OPINION: 'eiaScopingOpinion',
212
214
  EIA_SCREENING_DIRECTION: 'eiaScreeningDirection',
213
215
  EIA_SCREENING_OPINION: 'eiaScreeningOpinion',
@@ -251,6 +253,7 @@ export const APPEAL_DOCUMENT_TYPE = {
251
253
  OTHER_PARTY_REPRESENTATIONS: 'otherPartyRepresentations',
252
254
  OTHER_RELEVANT_MATTERS: 'otherRelevantMatters',
253
255
  OTHER_RELEVANT_POLICIES: 'otherRelevantPolicies',
256
+ OTHER_SUPPORTING_INFORMATION_APPELLANT: 'otherSupportingInformationAppellant',
254
257
  OWNERSHIP_CERTIFICATE: 'ownershipCertificate',
255
258
  PLAN_SHOWING_EXTENT_OF_ORDER: 'planShowingExtentOfOrder',
256
259
  PLANNING_CONTRAVENTION_NOTICE: 'planningContraventionNotice',