@planning-inspectorate/data-model 2.52.0 → 2.54.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.
Files changed (35) hide show
  1. package/.azure/ci.yml +6 -6
  2. package/.azure/release.yml +2 -2
  3. package/docs/README.md +9 -5
  4. package/docs/appeal-document.md +1 -0
  5. package/docs/appeal-has.md +17 -15
  6. package/docs/appeal-s78.md +63 -19
  7. package/docs/applications-crowndev-application-defs-address.md +108 -0
  8. package/docs/applications-crowndev-application-defs-contact.md +99 -0
  9. package/docs/applications-crowndev-application-defs-organisation.md +117 -0
  10. package/docs/applications-crowndev-application-defs.md +3 -0
  11. package/docs/applications-crowndev-application.md +2257 -0
  12. package/docs/applications-notify-email-defs-contact.md +1 -0
  13. package/docs/applications-notify-email.md +1 -0
  14. package/docs/applications-representation-defs-contact.md +1 -0
  15. package/docs/applications-representation.md +5 -0
  16. package/package.json +1 -1
  17. package/pins_data_model/models/model_appeal_document.py +1 -0
  18. package/pins_data_model/models/model_appeal_has.py +2 -0
  19. package/pins_data_model/models/model_appeal_s78.py +118 -4
  20. package/pins_data_model/models/model_applications_crowndev_application.py +525 -0
  21. package/pins_data_model/models/model_applications_notify_email.py +1 -0
  22. package/pins_data_model/models/model_applications_representation.py +5 -0
  23. package/schemas/appeal-document.schema.json +1 -0
  24. package/schemas/appeal-has.schema.json +3 -1
  25. package/schemas/appeal-s78.schema.json +43 -1
  26. package/schemas/{applications-application.schema.json → applications-crowndev-application.schema.json} +11 -9
  27. package/schemas/applications-notify-email.schema.json +2 -2
  28. package/schemas/applications-representation.schema.json +6 -5
  29. package/src/enums.cjs +5 -0
  30. package/src/enums.d.ts +5 -0
  31. package/src/enums.js +5 -0
  32. package/src/index.cjs +5 -0
  33. package/src/schemas.d.ts +66 -47
  34. package/tests/appeals/appeal-has.test.js +41 -0
  35. package/tests/appeals/appeal-s78.test.js +41 -0
@@ -55,6 +55,7 @@ Preferred contact method
55
55
  | :-------- | :---------- |
56
56
  | `"email"` | |
57
57
  | `"post"` | |
58
+ | `null` | |
58
59
 
59
60
  ## writtenRepOrgName
60
61
 
@@ -420,6 +420,7 @@ Preferred contact method
420
420
  | :-------- | :---------- |
421
421
  | `"email"` | |
422
422
  | `"post"` | |
423
+ | `null` | |
423
424
 
424
425
  ### writtenRepOrgName
425
426
 
@@ -55,6 +55,7 @@ Source PK for Contact
55
55
  | :-------- | :---------- |
56
56
  | `"email"` | |
57
57
  | `"post"` | |
58
+ | `null` | |
58
59
 
59
60
  ## writtenRepOrgName
60
61
 
@@ -285,6 +285,7 @@ How we received the representation
285
285
  | `"Email"` | |
286
286
  | `"Post"` | |
287
287
  | `"In person"` | |
288
+ | `null` | |
288
289
 
289
290
  ## submissionMethodReason
290
291
 
@@ -367,6 +368,7 @@ When representation is on behalf of a person/org/group
367
368
  | `"A person"` | |
368
369
  | `"An organisation or charity I work or volunteer for"` | |
369
370
  | `"An organisation or charity I do not work or volunteer for"` | |
371
+ | `null` | |
370
372
 
371
373
  ## representedContact
372
374
 
@@ -412,6 +414,7 @@ When representation is on behalf of a person/org/group
412
414
  | :------------------- | :---------- |
413
415
  | `"Consultees"` | |
414
416
  | `"Interested party"` | |
417
+ | `null` | |
415
418
 
416
419
  ## wantsToBeHeard
417
420
 
@@ -535,6 +538,7 @@ Reason for the withdrawal
535
538
  | `"Mistaken Submission"` | |
536
539
  | `"Misunderstanding"` | |
537
540
  | `"Personal Reasons"` | |
541
+ | `null` | |
538
542
 
539
543
  ## dateWithdrawn
540
544
 
@@ -641,6 +645,7 @@ Source PK for Contact
641
645
  | :-------- | :---------- |
642
646
  | `"email"` | |
643
647
  | `"post"` | |
648
+ | `null` | |
644
649
 
645
650
  ### writtenRepOrgName
646
651
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planning-inspectorate/data-model",
3
- "version": "2.52.0",
3
+ "version": "2.54.0",
4
4
  "description": "JSON Schemas for the Planning Inspectorate's Data Model",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -157,6 +157,7 @@ class DocumentType(Enum):
157
157
  hearingProcess = "hearingProcess"
158
158
  inquiryCore = "inquiryCore"
159
159
  inquiryPostEvent = "inquiryPostEvent"
160
+ noticeWithdrawal = "noticeWithdrawal"
160
161
  NoneType_None = None
161
162
 
162
163
 
@@ -27,6 +27,8 @@ class CaseStatus(StrEnum):
27
27
  transferred = "transferred"
28
28
  event = "event"
29
29
  awaiting_event = "awaiting_event"
30
+ notice_withdrawn = "notice_withdrawn"
31
+ closed_opened_in_error = "closed_opened_in_error"
30
32
 
31
33
 
32
34
  class CaseType(StrEnum):
@@ -31,6 +31,8 @@ class CaseStatus(StrEnum):
31
31
  transferred = "transferred"
32
32
  event = "event"
33
33
  awaiting_event = "awaiting_event"
34
+ notice_withdrawn = "notice_withdrawn"
35
+ closed_opened_in_error = "closed_opened_in_error"
34
36
 
35
37
 
36
38
  class CaseType(StrEnum):
@@ -394,6 +396,52 @@ class ApplicationElbAppealGroundsDetail(BaseModel):
394
396
  """
395
397
 
396
398
 
399
+ class AppealGroundLetter2(Enum):
400
+ a = "a"
401
+ b = "b"
402
+ c = "c"
403
+ d = "d"
404
+ e = "e"
405
+ f = "f"
406
+ g = "g"
407
+ NoneType_None = None
408
+
409
+
410
+ class EnforcementCaseGroundsOfAppealItem(BaseModel):
411
+ model_config = ConfigDict(
412
+ extra="allow",
413
+ )
414
+ appealGroundLetter: AppealGroundLetter2 | None = None
415
+ groundForAppealStartDate: AwareDatetime | None = Field(
416
+ None, examples=["2023-07-27T20:30:00.000Z"]
417
+ )
418
+
419
+
420
+ class AppealGroundLetter3(Enum):
421
+ a = "a"
422
+ b = "b"
423
+ c = "c"
424
+ d = "d"
425
+ e = "e"
426
+ f = "f"
427
+ g = "g"
428
+ h = "h"
429
+ i = "i"
430
+ j = "j"
431
+ k = "k"
432
+ NoneType_None = None
433
+
434
+
435
+ class ElbCaseGroundsOfAppealItem(BaseModel):
436
+ model_config = ConfigDict(
437
+ extra="allow",
438
+ )
439
+ appealGroundLetter: AppealGroundLetter3 | None = None
440
+ groundForAppealStartDate: AwareDatetime | None = Field(
441
+ None, examples=["2023-07-27T20:30:00.000Z"]
442
+ )
443
+
444
+
397
445
  class ApplicationPartOrWholeDevelopment(Enum):
398
446
  """
399
447
  Did the application relate to all or part of the development
@@ -1099,6 +1147,16 @@ class AppealS78Case1(BaseModel):
1099
1147
  """
1100
1148
  A list of grounds for the appeal, supporting facts & start dates. Enforcement cases (C) can have grounds (a) to (g)
1101
1149
  """
1150
+ enforcementCaseGroundsOfAppeal: list[EnforcementCaseGroundsOfAppealItem] | None = (
1151
+ None
1152
+ )
1153
+ """
1154
+ Case Officer list of grounds for the appeal & start dates. Enforcement cases (C) can have grounds (a) to (g)
1155
+ """
1156
+ elbCaseGroundsOfAppeal: list[ElbCaseGroundsOfAppealItem] | None = None
1157
+ """
1158
+ Case Officer list of grounds for the appeal & start dates. Enforcement cases (C) can have grounds (a) to (g)
1159
+ """
1102
1160
  applicationMadeAndFeePaid: bool | None = None
1103
1161
  """
1104
1162
  Was an application made and paid for
@@ -1223,7 +1281,7 @@ class AdvertDetail1(BaseModel):
1223
1281
  """
1224
1282
 
1225
1283
 
1226
- class AppealGroundLetter2(Enum):
1284
+ class AppealGroundLetter4(Enum):
1227
1285
  a = "a"
1228
1286
  b = "b"
1229
1287
  c = "c"
@@ -1238,7 +1296,7 @@ class EnforcementAppealGroundsDetail1(BaseModel):
1238
1296
  model_config = ConfigDict(
1239
1297
  extra="allow",
1240
1298
  )
1241
- appealGroundLetter: AppealGroundLetter2 | None = None
1299
+ appealGroundLetter: AppealGroundLetter4 | None = None
1242
1300
  groundForAppealStartDate: AwareDatetime | None = Field(
1243
1301
  None, examples=["2023-07-27T20:30:00.000Z"]
1244
1302
  )
@@ -1248,7 +1306,7 @@ class EnforcementAppealGroundsDetail1(BaseModel):
1248
1306
  """
1249
1307
 
1250
1308
 
1251
- class AppealGroundLetter3(Enum):
1309
+ class AppealGroundLetter5(Enum):
1252
1310
  a = "a"
1253
1311
  b = "b"
1254
1312
  c = "c"
@@ -1267,7 +1325,7 @@ class ApplicationElbAppealGroundsDetail1(BaseModel):
1267
1325
  model_config = ConfigDict(
1268
1326
  extra="allow",
1269
1327
  )
1270
- appealGroundLetter: AppealGroundLetter3 | None = None
1328
+ appealGroundLetter: AppealGroundLetter5 | None = None
1271
1329
  groundForAppealStartDate: AwareDatetime | None = Field(
1272
1330
  None, examples=["2023-07-27T20:30:00.000Z"]
1273
1331
  )
@@ -1277,6 +1335,52 @@ class ApplicationElbAppealGroundsDetail1(BaseModel):
1277
1335
  """
1278
1336
 
1279
1337
 
1338
+ class AppealGroundLetter6(Enum):
1339
+ a = "a"
1340
+ b = "b"
1341
+ c = "c"
1342
+ d = "d"
1343
+ e = "e"
1344
+ f = "f"
1345
+ g = "g"
1346
+ NoneType_None = None
1347
+
1348
+
1349
+ class EnforcementCaseGroundsOfAppealItem1(BaseModel):
1350
+ model_config = ConfigDict(
1351
+ extra="allow",
1352
+ )
1353
+ appealGroundLetter: AppealGroundLetter6 | None = None
1354
+ groundForAppealStartDate: AwareDatetime | None = Field(
1355
+ None, examples=["2023-07-27T20:30:00.000Z"]
1356
+ )
1357
+
1358
+
1359
+ class AppealGroundLetter7(Enum):
1360
+ a = "a"
1361
+ b = "b"
1362
+ c = "c"
1363
+ d = "d"
1364
+ e = "e"
1365
+ f = "f"
1366
+ g = "g"
1367
+ h = "h"
1368
+ i = "i"
1369
+ j = "j"
1370
+ k = "k"
1371
+ NoneType_None = None
1372
+
1373
+
1374
+ class ElbCaseGroundsOfAppealItem1(BaseModel):
1375
+ model_config = ConfigDict(
1376
+ extra="allow",
1377
+ )
1378
+ appealGroundLetter: AppealGroundLetter7 | None = None
1379
+ groundForAppealStartDate: AwareDatetime | None = Field(
1380
+ None, examples=["2023-07-27T20:30:00.000Z"]
1381
+ )
1382
+
1383
+
1280
1384
  class SignificantChangesAffectingApplicationAppellantItem1(BaseModel):
1281
1385
  value: Value | None
1282
1386
  comment: str | None = None
@@ -1941,6 +2045,16 @@ class AppealS78Case2(BaseModel):
1941
2045
  """
1942
2046
  A list of grounds for the appeal, supporting facts & start dates. Enforcement cases (C) can have grounds (a) to (g)
1943
2047
  """
2048
+ enforcementCaseGroundsOfAppeal: list[EnforcementCaseGroundsOfAppealItem1] | None = (
2049
+ None
2050
+ )
2051
+ """
2052
+ Case Officer list of grounds for the appeal & start dates. Enforcement cases (C) can have grounds (a) to (g)
2053
+ """
2054
+ elbCaseGroundsOfAppeal: list[ElbCaseGroundsOfAppealItem1] | None = None
2055
+ """
2056
+ Case Officer list of grounds for the appeal & start dates. Enforcement cases (C) can have grounds (a) to (g)
2057
+ """
1944
2058
  applicationMadeAndFeePaid: bool | None = None
1945
2059
  """
1946
2060
  Was an application made and paid for