@planning-inspectorate/data-model 2.16.0 → 2.17.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 (28) hide show
  1. package/docs/nsip-meeting.md +44 -15
  2. package/package.json +1 -1
  3. package/pins_data_model/models/model_appeal_document.py +1 -1
  4. package/pins_data_model/models/model_appeal_event.py +1 -1
  5. package/pins_data_model/models/model_appeal_event_estimate.py +1 -1
  6. package/pins_data_model/models/model_appeal_has.py +1 -1
  7. package/pins_data_model/models/model_appeal_representation.py +1 -1
  8. package/pins_data_model/models/model_appeal_s78.py +1 -1
  9. package/pins_data_model/models/model_dart_response.py +1 -1
  10. package/pins_data_model/models/model_entraid.py +1 -1
  11. package/pins_data_model/models/model_folder.py +1 -1
  12. package/pins_data_model/models/model_gettimesheets_response.py +1 -1
  13. package/pins_data_model/models/model_listed_building.py +1 -1
  14. package/pins_data_model/models/model_listed_buildings.py +1 -1
  15. package/pins_data_model/models/model_nsip_document.py +1 -1
  16. package/pins_data_model/models/model_nsip_exam_timetable.py +1 -1
  17. package/pins_data_model/models/model_nsip_invoice.py +1 -1
  18. package/pins_data_model/models/model_nsip_meeting.py +13 -7
  19. package/pins_data_model/models/model_nsip_project.py +1 -1
  20. package/pins_data_model/models/model_nsip_project_update.py +1 -1
  21. package/pins_data_model/models/model_nsip_representation.py +1 -1
  22. package/pins_data_model/models/model_nsip_subscription.py +1 -1
  23. package/pins_data_model/models/model_pins_inspector.py +1 -1
  24. package/pins_data_model/models/model_pins_lpa.py +1 -1
  25. package/pins_data_model/models/model_s51_advice.py +1 -1
  26. package/pins_data_model/models/model_service_user.py +1 -1
  27. package/schemas/nsip-meeting.schema.json +7 -9
  28. package/src/schemas.d.ts +9 -5
@@ -4,16 +4,17 @@
4
4
 
5
5
  # NSIP Meeting Properties
6
6
 
7
- | Property | Type | Required | Nullable | Defined by |
8
- | :---------------------------------------------------- | :-------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------- |
9
- | [meetingID](#meetingid) | `integer` | Required | cannot be null | [NSIP Meeting](nsip-meeting-properties-meetingid.md "nsip-meeting.schema.json#/properties/meetingID") |
10
- | [caseId](#caseid) | `integer` | Required | cannot be null | [NSIP Meeting](nsip-meeting-properties-caseid.md "nsip-meeting.schema.json#/properties/caseId") |
11
- | [caseReference](#casereference) | `string` | Required | can be null | [NSIP Meeting](nsip-meeting-properties-casereference.md "nsip-meeting.schema.json#/properties/caseReference") |
12
- | [meetingAgenda](#meetingagenda) | `string` | Required | can be null | [NSIP Meeting](nsip-meeting-properties-meetingagenda.md "nsip-meeting.schema.json#/properties/meetingAgenda") |
13
- | [planningInspectorateRole](#planninginspectoraterole) | `string` | Required | can be null | [NSIP Meeting](nsip-meeting-properties-planninginspectoraterole.md "nsip-meeting.schema.json#/properties/planningInspectorateRole") |
14
- | [meetingDate](#meetingdate) | `string` | Required | can be null | [NSIP Meeting](nsip-meeting-properties-meetingdate.md "nsip-meeting.schema.json#/properties/meetingDate") |
15
- | [meetingType](#meetingtype) | `string` | Required | can be null | [NSIP Meeting](nsip-meeting-properties-meetingtype.md "nsip-meeting.schema.json#/properties/meetingType") |
16
- | Additional Properties | Any | Optional | can be null | |
7
+ | Property | Type | Required | Nullable | Defined by |
8
+ | :-------------------------------------------------------- | :-------- | :------- | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | [meetingID](#meetingid) | `integer` | Required | cannot be null | [NSIP Meeting](nsip-meeting-properties-meetingid.md "nsip-meeting.schema.json#/properties/meetingID") |
10
+ | [caseId](#caseid) | `integer` | Required | cannot be null | [NSIP Meeting](nsip-meeting-properties-caseid.md "nsip-meeting.schema.json#/properties/caseId") |
11
+ | [caseReference](#casereference) | `string` | Optional | can be null | [NSIP Meeting](nsip-meeting-properties-casereference.md "nsip-meeting.schema.json#/properties/caseReference") |
12
+ | [meetingAgenda](#meetingagenda) | `string` | Optional | can be null | [NSIP Meeting](nsip-meeting-properties-meetingagenda.md "nsip-meeting.schema.json#/properties/meetingAgenda") |
13
+ | [planningInspectorateRole](#planninginspectoraterole) | `string` | Optional | can be null | [NSIP Meeting](nsip-meeting-properties-planninginspectoraterole.md "nsip-meeting.schema.json#/properties/planningInspectorateRole") |
14
+ | [meetingDate](#meetingdate) | `string` | Optional | can be null | [NSIP Meeting](nsip-meeting-properties-meetingdate.md "nsip-meeting.schema.json#/properties/meetingDate") |
15
+ | [estimatedPrelimMeetingDate](#estimatedprelimmeetingdate) | `string` | Optional | can be null | [NSIP Meeting](nsip-meeting-properties-estimatedprelimmeetingdate.md "nsip-meeting.schema.json#/properties/estimatedPrelimMeetingDate") |
16
+ | [meetingType](#meetingtype) | `string` | Optional | can be null | [NSIP Meeting](nsip-meeting-properties-meetingtype.md "nsip-meeting.schema.json#/properties/meetingType") |
17
+ | Additional Properties | Any | Optional | can be null | |
17
18
 
18
19
  ## meetingID
19
20
 
@@ -69,7 +70,7 @@ The unique identifier for the case within the Back Office. This is not the same
69
70
 
70
71
  `caseReference`
71
72
 
72
- * is required
73
+ * is optional
73
74
 
74
75
  * Type: `string`
75
76
 
@@ -93,7 +94,7 @@ Meeting agenda
93
94
 
94
95
  `meetingAgenda`
95
96
 
96
- * is required
97
+ * is optional
97
98
 
98
99
  * Type: `string`
99
100
 
@@ -117,7 +118,7 @@ Planning Inspectorate role
117
118
 
118
119
  `planningInspectorateRole`
119
120
 
120
- * is required
121
+ * is optional
121
122
 
122
123
  * Type: `string`
123
124
 
@@ -152,7 +153,7 @@ Meeting date
152
153
 
153
154
  `meetingDate`
154
155
 
155
- * is required
156
+ * is optional
156
157
 
157
158
  * Type: `string`
158
159
 
@@ -174,13 +175,41 @@ Meeting date
174
175
  "2023-07-27T20:30:00.000Z"
175
176
  ```
176
177
 
178
+ ## estimatedPrelimMeetingDate
179
+
180
+ Estimated Preliminary Meeting date
181
+
182
+ `estimatedPrelimMeetingDate`
183
+
184
+ * is optional
185
+
186
+ * Type: `string`
187
+
188
+ * can be null
189
+
190
+ * defined in: [NSIP Meeting](nsip-meeting-properties-estimatedprelimmeetingdate.md "nsip-meeting.schema.json#/properties/estimatedPrelimMeetingDate")
191
+
192
+ ### estimatedPrelimMeetingDate Type
193
+
194
+ `string`
195
+
196
+ ### estimatedPrelimMeetingDate Constraints
197
+
198
+ **date time**: the string must be a date time string, according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339 "check the specification")
199
+
200
+ ### estimatedPrelimMeetingDate Examples
201
+
202
+ ```json
203
+ "2023-07-27T20:30:00.000Z"
204
+ ```
205
+
177
206
  ## meetingType
178
207
 
179
208
  Type of Meeting
180
209
 
181
210
  `meetingType`
182
211
 
183
- * is required
212
+ * is optional
184
213
 
185
214
  * Type: `string`
186
215
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planning-inspectorate/data-model",
3
- "version": "2.16.0",
3
+ "version": "2.17.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-05T18:48:25+00:00
3
+ # timestamp: 2026-02-06T12:26:23+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-05T18:48:25+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:25+00:00
3
+ # timestamp: 2026-02-06T12:26:23+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-05T18:48:25+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:25+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -46,24 +46,30 @@ class NsipMeeting(BaseModel):
46
46
  """
47
47
  The unique identifier for the case within the Back Office. This is not the same as the case reference
48
48
  """
49
- caseReference: str | None = Field(..., examples=["BC0510001"])
50
- meetingAgenda: str | None = Field(..., examples=["Flood Risk Assessment (FRA)"])
49
+ caseReference: str | None = Field(None, examples=["BC0510001"])
50
+ meetingAgenda: str | None = Field(None, examples=["Flood Risk Assessment (FRA)"])
51
51
  """
52
52
  Meeting agenda
53
53
  """
54
- planningInspectorateRole: PlanningInspectorateRole = Field(
55
- ..., examples=["facilitator"]
54
+ planningInspectorateRole: PlanningInspectorateRole | None = Field(
55
+ None, examples=["facilitator"]
56
56
  )
57
57
  """
58
58
  Planning Inspectorate role
59
59
  """
60
60
  meetingDate: AwareDatetime | None = Field(
61
- ..., examples=["2023-07-27T20:30:00.000Z"]
61
+ None, examples=["2023-07-27T20:30:00.000Z"]
62
62
  )
63
63
  """
64
64
  Meeting date
65
65
  """
66
- meetingType: MeetingType
66
+ estimatedPrelimMeetingDate: AwareDatetime | None = Field(
67
+ None, examples=["2023-07-27T20:30:00.000Z"]
68
+ )
69
+ """
70
+ Estimated Preliminary Meeting date
71
+ """
72
+ meetingType: MeetingType | None = None
67
73
  """
68
74
  Type of Meeting
69
75
  """
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-project.schema.json
3
- # timestamp: 2026-02-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:25+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:24+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:25+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:25+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:25+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:25+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:25+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-05T18:48:26+00:00
3
+ # timestamp: 2026-02-06T12:26:25+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -6,15 +6,7 @@
6
6
  "type": "object",
7
7
  "additionalProperties": true,
8
8
 
9
- "required": [
10
- "meetingID",
11
- "caseId",
12
- "caseReference",
13
- "meetingAgenda",
14
- "planningInspectorateRole",
15
- "meetingDate",
16
- "meetingType"
17
- ],
9
+ "required": ["meetingID", "caseId"],
18
10
  "properties": {
19
11
  "meetingID": {
20
12
  "type": "integer",
@@ -47,6 +39,12 @@
47
39
  "format": "date-time",
48
40
  "examples": ["2023-07-27T20:30:00.000Z"]
49
41
  },
42
+ "estimatedPrelimMeetingDate": {
43
+ "type": ["string", "null"],
44
+ "description": "Estimated Preliminary Meeting date",
45
+ "format": "date-time",
46
+ "examples": ["2023-07-27T20:30:00.000Z"]
47
+ },
50
48
  "meetingType": {
51
49
  "type": ["string", "null"],
52
50
  "description": "Type of Meeting",
package/src/schemas.d.ts CHANGED
@@ -2321,23 +2321,27 @@ export interface NSIPMeeting {
2321
2321
  * The unique identifier for the case within the Back Office. This is not the same as the case reference
2322
2322
  */
2323
2323
  caseId: number;
2324
- caseReference: string | null;
2324
+ caseReference?: string | null;
2325
2325
  /**
2326
2326
  * Meeting agenda
2327
2327
  */
2328
- meetingAgenda: string | null;
2328
+ meetingAgenda?: string | null;
2329
2329
  /**
2330
2330
  * Planning Inspectorate role
2331
2331
  */
2332
- planningInspectorateRole: 'facilitator' | 'advisor' | 'observer' | null;
2332
+ planningInspectorateRole?: 'facilitator' | 'advisor' | 'observer' | null;
2333
2333
  /**
2334
2334
  * Meeting date
2335
2335
  */
2336
- meetingDate: string | null;
2336
+ meetingDate?: string | null;
2337
+ /**
2338
+ * Estimated Preliminary Meeting date
2339
+ */
2340
+ estimatedPrelimMeetingDate?: string | null;
2337
2341
  /**
2338
2342
  * Type of Meeting
2339
2343
  */
2340
- meetingType: 'evidence_plan' | 'project' | null;
2344
+ meetingType?: 'evidence_plan' | 'project' | null;
2341
2345
  [k: string]: unknown;
2342
2346
  }
2343
2347