@planning-inspectorate/data-model 2.21.2 → 2.23.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 (41) hide show
  1. package/docs/appeal-has-anyof-grid-reference.md +46 -0
  2. package/docs/appeal-has-anyof-site-address.md +65 -0
  3. package/docs/appeal-has.md +2 -2
  4. package/docs/appeal-s78-anyof-grid-reference.md +46 -0
  5. package/docs/appeal-s78-anyof-site-address.md +65 -0
  6. package/docs/appeal-s78.md +2 -2
  7. package/package.json +1 -1
  8. package/pins_data_model/models/model_appeal_document.py +1 -1
  9. package/pins_data_model/models/model_appeal_event.py +1 -1
  10. package/pins_data_model/models/model_appeal_event_estimate.py +1 -1
  11. package/pins_data_model/models/model_appeal_has.py +1 -1
  12. package/pins_data_model/models/model_appeal_representation.py +1 -1
  13. package/pins_data_model/models/model_appeal_s78.py +1 -1
  14. package/pins_data_model/models/model_dart_response.py +1 -1
  15. package/pins_data_model/models/model_entraid.py +1 -1
  16. package/pins_data_model/models/model_folder.py +1 -1
  17. package/pins_data_model/models/model_gettimesheets_response.py +1 -1
  18. package/pins_data_model/models/model_listed_building.py +1 -1
  19. package/pins_data_model/models/model_listed_buildings.py +1 -1
  20. package/pins_data_model/models/model_nsip_document.py +1 -1
  21. package/pins_data_model/models/model_nsip_exam_timetable.py +1 -1
  22. package/pins_data_model/models/model_nsip_invoice.py +1 -1
  23. package/pins_data_model/models/model_nsip_meeting.py +1 -1
  24. package/pins_data_model/models/model_nsip_project.py +1 -1
  25. package/pins_data_model/models/model_nsip_project_update.py +1 -1
  26. package/pins_data_model/models/model_nsip_representation.py +1 -1
  27. package/pins_data_model/models/model_nsip_subscription.py +1 -1
  28. package/pins_data_model/models/model_pins_inspector.py +1 -1
  29. package/pins_data_model/models/model_pins_lpa.py +1 -1
  30. package/pins_data_model/models/model_s51_advice.py +1 -1
  31. package/pins_data_model/models/model_service_user.py +1 -1
  32. package/schemas/appeal-has.schema.json +2 -0
  33. package/schemas/appeal-s78.schema.json +2 -0
  34. package/schemas/commands/appeals-components/appeal-planning-obligation.submission.schema.json +20 -0
  35. package/schemas/commands/appeals-components/appeal-s78-submission.schema.json +0 -10
  36. package/schemas/commands/appeals-components/lpa-questionnaire-enforcement.schema.json +0 -2
  37. package/schemas/commands/appellant-submission.schema.json +2 -0
  38. package/src/lib/gen-docs.js +1 -1
  39. package/src/schemas.d.ts +38 -30
  40. package/tests/appeals/commands/ldc-submission.test.js +2 -0
  41. package/tests/appeals/commands/s78-submission.test.js +2 -2
@@ -0,0 +1,46 @@
1
+ ## 0 Type
2
+
3
+ unknown ([Grid Reference](appeal-has-anyof-grid-reference.md))
4
+
5
+ # 0 Properties
6
+
7
+ | Property | Type | Required | Nullable | Defined by |
8
+ | :------------------------------------------------------ | :------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | [siteGridReferenceEasting](#sitegridreferenceeasting) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-anyof-grid-reference-properties-sitegridreferenceeasting.md "appeal-has.schema.json#/anyOf/0/properties/siteGridReferenceEasting") |
10
+ | [siteGridReferenceNorthing](#sitegridreferencenorthing) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-anyof-grid-reference-properties-sitegridreferencenorthing.md "appeal-has.schema.json#/anyOf/0/properties/siteGridReferenceNorthing") |
11
+
12
+ ## siteGridReferenceEasting
13
+
14
+
15
+
16
+ `siteGridReferenceEasting`
17
+
18
+ * is required
19
+
20
+ * Type: `string`
21
+
22
+ * cannot be null
23
+
24
+ * defined in: [Appeal HAS Case](appeal-has-anyof-grid-reference-properties-sitegridreferenceeasting.md "appeal-has.schema.json#/anyOf/0/properties/siteGridReferenceEasting")
25
+
26
+ ### siteGridReferenceEasting Type
27
+
28
+ `string`
29
+
30
+ ## siteGridReferenceNorthing
31
+
32
+
33
+
34
+ `siteGridReferenceNorthing`
35
+
36
+ * is required
37
+
38
+ * Type: `string`
39
+
40
+ * cannot be null
41
+
42
+ * defined in: [Appeal HAS Case](appeal-has-anyof-grid-reference-properties-sitegridreferencenorthing.md "appeal-has.schema.json#/anyOf/0/properties/siteGridReferenceNorthing")
43
+
44
+ ### siteGridReferenceNorthing Type
45
+
46
+ `string`
@@ -0,0 +1,65 @@
1
+ ## 1 Type
2
+
3
+ unknown ([Site address](appeal-has-anyof-site-address.md))
4
+
5
+ # 1 Properties
6
+
7
+ | Property | Type | Required | Nullable | Defined by |
8
+ | :------------------------------------------ | :------- | :------- | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | [siteAddressLine1](#siteaddressline1) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-anyof-site-address-properties-siteaddressline1.md "appeal-has.schema.json#/anyOf/1/properties/siteAddressLine1") |
10
+ | [siteAddressTown](#siteaddresstown) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-anyof-site-address-properties-siteaddresstown.md "appeal-has.schema.json#/anyOf/1/properties/siteAddressTown") |
11
+ | [siteAddressPostcode](#siteaddresspostcode) | `string` | Required | cannot be null | [Appeal HAS Case](appeal-has-anyof-site-address-properties-siteaddresspostcode.md "appeal-has.schema.json#/anyOf/1/properties/siteAddressPostcode") |
12
+
13
+ ## siteAddressLine1
14
+
15
+
16
+
17
+ `siteAddressLine1`
18
+
19
+ * is required
20
+
21
+ * Type: `string`
22
+
23
+ * cannot be null
24
+
25
+ * defined in: [Appeal HAS Case](appeal-has-anyof-site-address-properties-siteaddressline1.md "appeal-has.schema.json#/anyOf/1/properties/siteAddressLine1")
26
+
27
+ ### siteAddressLine1 Type
28
+
29
+ `string`
30
+
31
+ ## siteAddressTown
32
+
33
+
34
+
35
+ `siteAddressTown`
36
+
37
+ * is required
38
+
39
+ * Type: `string`
40
+
41
+ * cannot be null
42
+
43
+ * defined in: [Appeal HAS Case](appeal-has-anyof-site-address-properties-siteaddresstown.md "appeal-has.schema.json#/anyOf/1/properties/siteAddressTown")
44
+
45
+ ### siteAddressTown Type
46
+
47
+ `string`
48
+
49
+ ## siteAddressPostcode
50
+
51
+
52
+
53
+ `siteAddressPostcode`
54
+
55
+ * is required
56
+
57
+ * Type: `string`
58
+
59
+ * cannot be null
60
+
61
+ * defined in: [Appeal HAS Case](appeal-has-anyof-site-address-properties-siteaddresspostcode.md "appeal-has.schema.json#/anyOf/1/properties/siteAddressPostcode")
62
+
63
+ ### siteAddressPostcode Type
64
+
65
+ `string`
@@ -4,9 +4,9 @@
4
4
 
5
5
  any of
6
6
 
7
- * [Untitled undefined type in Appeal HAS Case](appeal-has-anyof-0.md "check type definition")
7
+ * [Grid Reference](appeal-has-anyof-grid-reference.md "check type definition")
8
8
 
9
- * [Untitled undefined type in Appeal HAS Case](appeal-has-anyof-1.md "check type definition")
9
+ * [Site address](appeal-has-anyof-site-address.md "check type definition")
10
10
 
11
11
  # Appeal HAS Case Properties
12
12
 
@@ -0,0 +1,46 @@
1
+ ## 0 Type
2
+
3
+ unknown ([Grid Reference](appeal-s78-anyof-grid-reference.md))
4
+
5
+ # 0 Properties
6
+
7
+ | Property | Type | Required | Nullable | Defined by |
8
+ | :------------------------------------------------------ | :------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | [siteGridReferenceEasting](#sitegridreferenceeasting) | `string` | Required | cannot be null | [Appeal S78 Case](appeal-s78-anyof-grid-reference-properties-sitegridreferenceeasting.md "appeal-s78.schema.json#/anyOf/0/properties/siteGridReferenceEasting") |
10
+ | [siteGridReferenceNorthing](#sitegridreferencenorthing) | `string` | Required | cannot be null | [Appeal S78 Case](appeal-s78-anyof-grid-reference-properties-sitegridreferencenorthing.md "appeal-s78.schema.json#/anyOf/0/properties/siteGridReferenceNorthing") |
11
+
12
+ ## siteGridReferenceEasting
13
+
14
+
15
+
16
+ `siteGridReferenceEasting`
17
+
18
+ * is required
19
+
20
+ * Type: `string`
21
+
22
+ * cannot be null
23
+
24
+ * defined in: [Appeal S78 Case](appeal-s78-anyof-grid-reference-properties-sitegridreferenceeasting.md "appeal-s78.schema.json#/anyOf/0/properties/siteGridReferenceEasting")
25
+
26
+ ### siteGridReferenceEasting Type
27
+
28
+ `string`
29
+
30
+ ## siteGridReferenceNorthing
31
+
32
+
33
+
34
+ `siteGridReferenceNorthing`
35
+
36
+ * is required
37
+
38
+ * Type: `string`
39
+
40
+ * cannot be null
41
+
42
+ * defined in: [Appeal S78 Case](appeal-s78-anyof-grid-reference-properties-sitegridreferencenorthing.md "appeal-s78.schema.json#/anyOf/0/properties/siteGridReferenceNorthing")
43
+
44
+ ### siteGridReferenceNorthing Type
45
+
46
+ `string`
@@ -0,0 +1,65 @@
1
+ ## 1 Type
2
+
3
+ unknown ([Site address](appeal-s78-anyof-site-address.md))
4
+
5
+ # 1 Properties
6
+
7
+ | Property | Type | Required | Nullable | Defined by |
8
+ | :------------------------------------------ | :------- | :------- | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | [siteAddressLine1](#siteaddressline1) | `string` | Required | cannot be null | [Appeal S78 Case](appeal-s78-anyof-site-address-properties-siteaddressline1.md "appeal-s78.schema.json#/anyOf/1/properties/siteAddressLine1") |
10
+ | [siteAddressTown](#siteaddresstown) | `string` | Required | cannot be null | [Appeal S78 Case](appeal-s78-anyof-site-address-properties-siteaddresstown.md "appeal-s78.schema.json#/anyOf/1/properties/siteAddressTown") |
11
+ | [siteAddressPostcode](#siteaddresspostcode) | `string` | Required | cannot be null | [Appeal S78 Case](appeal-s78-anyof-site-address-properties-siteaddresspostcode.md "appeal-s78.schema.json#/anyOf/1/properties/siteAddressPostcode") |
12
+
13
+ ## siteAddressLine1
14
+
15
+
16
+
17
+ `siteAddressLine1`
18
+
19
+ * is required
20
+
21
+ * Type: `string`
22
+
23
+ * cannot be null
24
+
25
+ * defined in: [Appeal S78 Case](appeal-s78-anyof-site-address-properties-siteaddressline1.md "appeal-s78.schema.json#/anyOf/1/properties/siteAddressLine1")
26
+
27
+ ### siteAddressLine1 Type
28
+
29
+ `string`
30
+
31
+ ## siteAddressTown
32
+
33
+
34
+
35
+ `siteAddressTown`
36
+
37
+ * is required
38
+
39
+ * Type: `string`
40
+
41
+ * cannot be null
42
+
43
+ * defined in: [Appeal S78 Case](appeal-s78-anyof-site-address-properties-siteaddresstown.md "appeal-s78.schema.json#/anyOf/1/properties/siteAddressTown")
44
+
45
+ ### siteAddressTown Type
46
+
47
+ `string`
48
+
49
+ ## siteAddressPostcode
50
+
51
+
52
+
53
+ `siteAddressPostcode`
54
+
55
+ * is required
56
+
57
+ * Type: `string`
58
+
59
+ * cannot be null
60
+
61
+ * defined in: [Appeal S78 Case](appeal-s78-anyof-site-address-properties-siteaddresspostcode.md "appeal-s78.schema.json#/anyOf/1/properties/siteAddressPostcode")
62
+
63
+ ### siteAddressPostcode Type
64
+
65
+ `string`
@@ -4,9 +4,9 @@
4
4
 
5
5
  any of
6
6
 
7
- * [Untitled undefined type in Appeal S78 Case](appeal-s78-anyof-0.md "check type definition")
7
+ * [Grid Reference](appeal-s78-anyof-grid-reference.md "check type definition")
8
8
 
9
- * [Untitled undefined type in Appeal S78 Case](appeal-s78-anyof-1.md "check type definition")
9
+ * [Site address](appeal-s78-anyof-site-address.md "check type definition")
10
10
 
11
11
  # Appeal S78 Case Properties
12
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planning-inspectorate/data-model",
3
- "version": "2.21.2",
3
+ "version": "2.23.0",
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-02-14T15:08:43+00:00
3
+ # timestamp: 2026-02-16T16:31:41+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.schema.json
3
- # timestamp: 2026-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:43+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:43+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:43+00:00
3
+ # timestamp: 2026-02-16T16:31:41+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: dart-response.schema.json
3
- # timestamp: 2026-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:43+00:00
3
+ # timestamp: 2026-02-16T16:31:41+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:43+00:00
3
+ # timestamp: 2026-02-16T16:31:41+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:43+00:00
3
+ # timestamp: 2026-02-16T16:31:41+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+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-02-14T15:08:42+00:00
3
+ # timestamp: 2026-02-16T16:31:40+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -76,6 +76,7 @@
76
76
  ],
77
77
  "anyOf": [
78
78
  {
79
+ "title": "Grid Reference",
79
80
  "required": ["siteGridReferenceEasting", "siteGridReferenceNorthing"],
80
81
  "properties": {
81
82
  "siteGridReferenceEasting": { "type": "string" },
@@ -83,6 +84,7 @@
83
84
  }
84
85
  },
85
86
  {
87
+ "title": "Site address",
86
88
  "required": ["siteAddressLine1", "siteAddressTown", "siteAddressPostcode"],
87
89
  "properties": {
88
90
  "siteAddressLine1": { "type": "string" },
@@ -134,6 +134,7 @@
134
134
  ],
135
135
  "anyOf": [
136
136
  {
137
+ "title": "Grid Reference",
137
138
  "required": ["siteGridReferenceEasting", "siteGridReferenceNorthing"],
138
139
  "properties": {
139
140
  "siteGridReferenceEasting": { "type": "string" },
@@ -141,6 +142,7 @@
141
142
  }
142
143
  },
143
144
  {
145
+ "title": "Site address",
144
146
  "required": ["siteAddressLine1", "siteAddressTown", "siteAddressPostcode"],
145
147
  "properties": {
146
148
  "siteAddressLine1": { "type": "string" },
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "commands/appeals-components/appeal-planning-obligation.submission.schema.json",
4
+ "title": "Planning obligation specific properties",
5
+ "description": "Schema defining any properties for planning obligation",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["planningObligation", "statusPlanningObligation"],
9
+ "properties": {
10
+ "planningObligation": {
11
+ "type": ["boolean", "null"],
12
+ "description": "Indicates the existence of a planning obligation"
13
+ },
14
+ "statusPlanningObligation": {
15
+ "type": ["string", "null"],
16
+ "enum": ["finalised", "not_started", null],
17
+ "description": "The planning obligation information, if available"
18
+ }
19
+ }
20
+ }
@@ -14,8 +14,6 @@
14
14
  "appellantProcedurePreferenceDetails",
15
15
  "appellantProcedurePreferenceDuration",
16
16
  "appellantProcedurePreferenceWitnessCount",
17
- "planningObligation",
18
- "statusPlanningObligation",
19
17
  "developmentType"
20
18
  ],
21
19
  "allOf": [
@@ -54,14 +52,6 @@
54
52
  "type": ["number", "null"],
55
53
  "description": "The number of witnesses in inquiries"
56
54
  },
57
- "planningObligation": {
58
- "type": ["boolean", "null"],
59
- "description": "Indicates the existence of a planning obligation"
60
- },
61
- "statusPlanningObligation": {
62
- "type": ["string", "null"],
63
- "description": "The planning obligation information, if available"
64
- },
65
55
  "developmentType": {
66
56
  "type": ["string", "null"],
67
57
  "enum": [
@@ -8,8 +8,6 @@
8
8
  "required": [
9
9
  "noticeRelatesToBuildingEngineeringMiningOther",
10
10
  "siteAreaSquareMetres",
11
- "hasAllegedBreachArea",
12
- "doesAllegedBreachCreateFloorSpace",
13
11
  "changeOfUseRefuseOrWaste",
14
12
  "changeOfUseMineralExtraction",
15
13
  "changeOfUseMineralStorage",
@@ -32,6 +32,7 @@
32
32
  { "$ref": "appeals-components/appeal-site-area.schema.json" },
33
33
  { "$ref": "appeals-components/appeal-land-ownership.schema.json" },
34
34
  { "$ref": "appeals-components/appeal-s78-submission.schema.json" },
35
+ { "$ref": "appeals-components/appeal-planning-obligation.submission.schema.json" },
35
36
  { "$ref": "appeals-components/appellant-procedure-preference.schema.json" }
36
37
  ]
37
38
  },
@@ -72,6 +73,7 @@
72
73
  { "$ref": "appeals-components/appeal-common-submission.schema.json" },
73
74
  { "$ref": "appeals-components/appeal-common-planning.schema.json" },
74
75
  { "$ref": "appeals-components/appellant-procedure-preference.schema.json" },
76
+ { "$ref": "appeals-components/appeal-planning-obligation.submission.schema.json" },
75
77
  { "$ref": "appeals-components/appeal-ldc.submission.schema.json" }
76
78
  ]
77
79
  },
@@ -23,7 +23,7 @@ async function genDocs() {
23
23
  includeReadme: true
24
24
  });
25
25
  // remove all irrelevant docs
26
- const removePatterns = ['-properties-', '-properties.', '-anyof-'];
26
+ const removePatterns = ['-properties-', '-properties.'];
27
27
  for (const md of out.markdown) {
28
28
  const shouldRemove = removePatterns.some((pattern) => md.fileName.includes(pattern));
29
29
  if (shouldRemove) {
package/src/schemas.d.ts CHANGED
@@ -332,17 +332,7 @@ export interface AppealEvent {
332
332
  /**
333
333
  * Group A - Schema defining the metadata for an appeal
334
334
  */
335
- export type AppealHASCase = (
336
- | {
337
- siteGridReferenceEasting: string;
338
- siteGridReferenceNorthing: string;
339
- }
340
- | {
341
- siteAddressLine1: string;
342
- siteAddressTown: string;
343
- siteAddressPostcode: string;
344
- }
345
- ) & {
335
+ export type AppealHASCase = (GridReference | SiteAddress) & {
346
336
  /**
347
337
  * Internal case identifier
348
338
  */
@@ -836,6 +826,16 @@ export type AppealHASCase = (
836
826
  [k: string]: unknown;
837
827
  };
838
828
 
829
+ export interface GridReference {
830
+ siteGridReferenceEasting: string;
831
+ siteGridReferenceNorthing: string;
832
+ }
833
+ export interface SiteAddress {
834
+ siteAddressLine1: string;
835
+ siteAddressTown: string;
836
+ siteAddressPostcode: string;
837
+ }
838
+
839
839
  /**
840
840
  * Schema defining the metadata for appeal representations, such as statements, third-party comments and final comments
841
841
  */
@@ -925,17 +925,7 @@ export interface AppealRepresentation {
925
925
  /**
926
926
  * Group B - Schema defining the metadata for an appeal
927
927
  */
928
- export type AppealS78Case = (
929
- | {
930
- siteGridReferenceEasting: string;
931
- siteGridReferenceNorthing: string;
932
- }
933
- | {
934
- siteAddressLine1: string;
935
- siteAddressTown: string;
936
- siteAddressPostcode: string;
937
- }
938
- ) & {
928
+ export type AppealS78Case = (GridReference | SiteAddress) & {
939
929
  /**
940
930
  * Internal case identifier
941
931
  */
@@ -1690,6 +1680,16 @@ export type AppealS78Case = (
1690
1680
  [k: string]: unknown;
1691
1681
  };
1692
1682
 
1683
+ export interface GridReference {
1684
+ siteGridReferenceEasting: string;
1685
+ siteGridReferenceNorthing: string;
1686
+ }
1687
+ export interface SiteAddress {
1688
+ siteAddressLine1: string;
1689
+ siteAddressTown: string;
1690
+ siteAddressPostcode: string;
1691
+ }
1692
+
1693
1693
  /**
1694
1694
  * Schema defining the data returned by the DaRT API
1695
1695
  */
@@ -3706,14 +3706,6 @@ export type AppellantS78SubmissionProperties = {
3706
3706
  * The number of witnesses in inquiries
3707
3707
  */
3708
3708
  appellantProcedurePreferenceWitnessCount?: number | null;
3709
- /**
3710
- * Indicates the existence of a planning obligation
3711
- */
3712
- planningObligation?: boolean | null;
3713
- /**
3714
- * The planning obligation information, if available
3715
- */
3716
- statusPlanningObligation?: string | null;
3717
3709
  developmentType?:
3718
3710
  | 'householder'
3719
3711
  | 'change-of-use'
@@ -3772,6 +3764,7 @@ export interface AppellantSubmissionCommand {
3772
3764
  SiteAreaProperties &
3773
3765
  AppealLandOwnershipProperties &
3774
3766
  AppellantS78SubmissionProperties &
3767
+ PlanningObligationSpecificProperties &
3775
3768
  AppellantProcedurePreferenceProperties)
3776
3769
  | ({
3777
3770
  caseType?: 'ZA';
@@ -3796,6 +3789,7 @@ export interface AppellantSubmissionCommand {
3796
3789
  } & AppellantCommonSubmissionProperties &
3797
3790
  AppellantCommonPlanningProperties &
3798
3791
  AppellantProcedurePreferenceProperties &
3792
+ PlanningObligationSpecificProperties &
3799
3793
  LDCSpecificProperties)
3800
3794
  | ({
3801
3795
  caseType?: 'F';
@@ -3987,6 +3981,20 @@ export interface SiteAreaProperties {
3987
3981
  floorSpaceSquareMetres: number | null;
3988
3982
  [k: string]: unknown;
3989
3983
  }
3984
+ /**
3985
+ * Schema defining any properties for planning obligation
3986
+ */
3987
+ export interface PlanningObligationSpecificProperties {
3988
+ /**
3989
+ * Indicates the existence of a planning obligation
3990
+ */
3991
+ planningObligation: boolean | null;
3992
+ /**
3993
+ * The planning obligation information, if available
3994
+ */
3995
+ statusPlanningObligation: 'finalised' | 'not_started' | null;
3996
+ [k: string]: unknown;
3997
+ }
3990
3998
  /**
3991
3999
  * Schema defining any properties for advertisement appeals
3992
4000
  */
@@ -63,6 +63,8 @@ const exampleLDCSubmissionSchema = {
63
63
  appellantProcedurePreferenceDetails: 'eiusmod ex exercitation',
64
64
  appellantProcedurePreferenceDuration: 10816414.941069126,
65
65
  appellantProcedurePreferenceWitnessCount: -91300569.36444478,
66
+ planningObligation: true,
67
+ statusPlanningObligation: 'finalised',
66
68
  siteUseAtTimeOfApplication: 'residential',
67
69
  applicationMadeUnderActSection: 'existing-development'
68
70
  },
@@ -71,8 +71,8 @@ const exampleS78SubmissionSchema = {
71
71
  appellantProcedurePreferenceDetails: 'eiusmod ex exercitation',
72
72
  appellantProcedurePreferenceDuration: 10816414.941069126,
73
73
  appellantProcedurePreferenceWitnessCount: -91300569.36444478,
74
- planningObligation: false,
75
- statusPlanningObligation: 'proident aute',
74
+ planningObligation: true,
75
+ statusPlanningObligation: 'finalised',
76
76
  developmentType: 'change-of-use'
77
77
  },
78
78
  documents: [document],