@planning-inspectorate/data-model 2.5.0 → 2.7.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 (36) hide show
  1. package/docs/nsip-meeting.md +10 -0
  2. package/docs/nsip-project-defs-meeting.md +10 -0
  3. package/docs/nsip-project.md +10 -0
  4. package/package.json +1 -1
  5. package/pins_data_model/models/model_appeal_document.py +1 -1
  6. package/pins_data_model/models/model_appeal_event.py +1 -1
  7. package/pins_data_model/models/model_appeal_event_estimate.py +1 -1
  8. package/pins_data_model/models/model_appeal_has.py +1 -1
  9. package/pins_data_model/models/model_appeal_representation.py +1 -1
  10. package/pins_data_model/models/model_appeal_s78.py +1 -1
  11. package/pins_data_model/models/model_dart_response.py +1 -1
  12. package/pins_data_model/models/model_entraid.py +1 -1
  13. package/pins_data_model/models/model_folder.py +1 -1
  14. package/pins_data_model/models/model_gettimesheets_response.py +1 -1
  15. package/pins_data_model/models/model_listed_building.py +1 -1
  16. package/pins_data_model/models/model_listed_buildings.py +1 -1
  17. package/pins_data_model/models/model_nsip_document.py +1 -1
  18. package/pins_data_model/models/model_nsip_exam_timetable.py +1 -1
  19. package/pins_data_model/models/model_nsip_invoice.py +1 -1
  20. package/pins_data_model/models/model_nsip_meeting.py +12 -2
  21. package/pins_data_model/models/model_nsip_project.py +12 -2
  22. package/pins_data_model/models/model_nsip_project_update.py +1 -1
  23. package/pins_data_model/models/model_nsip_representation.py +1 -1
  24. package/pins_data_model/models/model_nsip_subscription.py +1 -1
  25. package/pins_data_model/models/model_pins_inspector.py +1 -1
  26. package/pins_data_model/models/model_pins_lpa.py +1 -1
  27. package/pins_data_model/models/model_s51_advice.py +1 -1
  28. package/pins_data_model/models/model_service_user.py +1 -1
  29. package/schemas/commands/appellant-submission.schema.json +5 -0
  30. package/schemas/nsip-meeting.schema.json +2 -1
  31. package/schemas/nsip-project.schema.json +2 -1
  32. package/src/enums.cjs +6 -0
  33. package/src/enums.d.ts +5 -0
  34. package/src/enums.js +5 -0
  35. package/src/index.cjs +6 -0
  36. package/src/schemas.d.ts +7 -2
@@ -192,6 +192,16 @@ Type of Meeting
192
192
 
193
193
  `string`
194
194
 
195
+ ### meetingType Constraints
196
+
197
+ **enum**: the value of this property must be equal to one of the following values:
198
+
199
+ | Value | Explanation |
200
+ | :---------------- | :---------- |
201
+ | `"evidence_plan"` | |
202
+ | `"project"` | |
203
+ | `null` | |
204
+
195
205
  ## Additional Properties
196
206
 
197
207
  Additional properties are allowed and do not have to follow a specific schema
@@ -142,6 +142,16 @@ Type of Meeting
142
142
 
143
143
  `string`
144
144
 
145
+ ### meetingType Constraints
146
+
147
+ **enum**: the value of this property must be equal to one of the following values:
148
+
149
+ | Value | Explanation |
150
+ | :---------------- | :---------- |
151
+ | `"evidence_plan"` | |
152
+ | `"project"` | |
153
+ | `null` | |
154
+
145
155
  ## Additional Properties
146
156
 
147
157
  Additional properties are allowed and do not have to follow a specific schema
@@ -3730,6 +3730,16 @@ Type of Meeting
3730
3730
 
3731
3731
  `string`
3732
3732
 
3733
+ #### meetingType Constraints
3734
+
3735
+ **enum**: the value of this property must be equal to one of the following values:
3736
+
3737
+ | Value | Explanation |
3738
+ | :---------------- | :---------- |
3739
+ | `"evidence_plan"` | |
3740
+ | `"project"` | |
3741
+ | `null` | |
3742
+
3733
3743
  ### Additional Properties
3734
3744
 
3735
3745
  Additional properties are allowed and do not have to follow a specific schema
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planning-inspectorate/data-model",
3
- "version": "2.5.0",
3
+ "version": "2.7.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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:16+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:16+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:16+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: 2025-12-15T10:41:08+00:00
3
+ # timestamp: 2026-01-06T14:32:17+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:17+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: 2025-12-15T10:41:08+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -20,6 +20,16 @@ class PlanningInspectorateRole(Enum):
20
20
  NoneType_None = None
21
21
 
22
22
 
23
+ class MeetingType(Enum):
24
+ """
25
+ Type of Meeting
26
+ """
27
+
28
+ evidence_plan = "evidence_plan"
29
+ project = "project"
30
+ NoneType_None = None
31
+
32
+
23
33
  class NsipMeeting(BaseModel):
24
34
  """
25
35
  NSIP Standalone Meeting Schema for ODW Curated layer
@@ -53,7 +63,7 @@ class NsipMeeting(BaseModel):
53
63
  """
54
64
  Meeting date
55
65
  """
56
- meetingType: str | None = None
66
+ meetingType: MeetingType
57
67
  """
58
68
  Type of Meeting
59
69
  """
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-project.schema.json
3
- # timestamp: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:19+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -292,6 +292,16 @@ class PlanningInspectorateRole(Enum):
292
292
  NoneType_None = None
293
293
 
294
294
 
295
+ class MeetingType(Enum):
296
+ """
297
+ Type of Meeting
298
+ """
299
+
300
+ evidence_plan = "evidence_plan"
301
+ project = "project"
302
+ NoneType_None = None
303
+
304
+
295
305
  class Meeting(BaseModel):
296
306
  """
297
307
  A meeting related to the project
@@ -320,7 +330,7 @@ class Meeting(BaseModel):
320
330
  """
321
331
  Meeting date
322
332
  """
323
- meetingType: str | None = None
333
+ meetingType: MeetingType | None = None
324
334
  """
325
335
  Type of Meeting
326
336
  """
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-project-update.schema.json
3
- # timestamp: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:18+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:19+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:19+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:19+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:19+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:19+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: 2025-12-02T17:41:26+00:00
3
+ # timestamp: 2026-01-06T14:32:19+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -134,6 +134,11 @@
134
134
  "groundESupporting",
135
135
  "groundFSupporting",
136
136
  "groundGSupporting",
137
+ "groundHSupporting",
138
+ "groundISupporting",
139
+ "groundJSupporting",
140
+ "groundKSupporting",
141
+ "applicationFeeReceipt",
137
142
  null,
138
143
  "environmentalAssessment"
139
144
  ],
@@ -49,7 +49,8 @@
49
49
  },
50
50
  "meetingType": {
51
51
  "type": ["string", "null"],
52
- "description": "Type of Meeting"
52
+ "description": "Type of Meeting",
53
+ "enum": ["evidence_plan", "project", null]
53
54
  }
54
55
  }
55
56
  }
@@ -896,7 +896,8 @@
896
896
  },
897
897
  "meetingType": {
898
898
  "type": ["string", "null"],
899
- "description": "Type of Meeting"
899
+ "description": "Type of Meeting",
900
+ "enum": ["evidence_plan", "project", null]
900
901
  }
901
902
  }
902
903
  },
package/src/enums.cjs CHANGED
@@ -446,6 +446,11 @@ const NSIP_MATURE_OUTLINE_CONTROL_DOCUMENT = Object.freeze({
446
446
  SUBMITTED_BY_APPLICANT: 'submitted_by_applicant',
447
447
  });
448
448
 
449
+ const NSIP_MEETING_TYPE = Object.freeze({
450
+ EVIDENCE_PLAN: 'evidence_plan',
451
+ PROJECT: 'project',
452
+ });
453
+
449
454
  const NSIP_MULTIPARTY_APPLICATION_CHECK_DOCUMENT = Object.freeze({
450
455
  AWAITING_SUBMISSION: 'awaiting_submission',
451
456
  NOT_APPLICABLE: 'not_applicable',
@@ -735,6 +740,7 @@ exports.NSIP_INVOICE_STAGE = NSIP_INVOICE_STAGE;
735
740
  exports.NSIP_LANGUAGE = NSIP_LANGUAGE;
736
741
  exports.NSIP_MAP_ZOOM_LEVEL = NSIP_MAP_ZOOM_LEVEL;
737
742
  exports.NSIP_MATURE_OUTLINE_CONTROL_DOCUMENT = NSIP_MATURE_OUTLINE_CONTROL_DOCUMENT;
743
+ exports.NSIP_MEETING_TYPE = NSIP_MEETING_TYPE;
738
744
  exports.NSIP_MULTIPARTY_APPLICATION_CHECK_DOCUMENT = NSIP_MULTIPARTY_APPLICATION_CHECK_DOCUMENT;
739
745
  exports.NSIP_NEW_MATURITY = NSIP_NEW_MATURITY;
740
746
  exports.NSIP_ORIGIN = NSIP_ORIGIN;
package/src/enums.d.ts CHANGED
@@ -444,6 +444,11 @@ export const NSIP_MATURE_OUTLINE_CONTROL_DOCUMENT = {
444
444
  SUBMITTED_BY_APPLICANT: 'submitted_by_applicant',
445
445
  } as const;
446
446
 
447
+ export const NSIP_MEETING_TYPE = {
448
+ EVIDENCE_PLAN: 'evidence_plan',
449
+ PROJECT: 'project',
450
+ } as const;
451
+
447
452
  export const NSIP_MULTIPARTY_APPLICATION_CHECK_DOCUMENT = {
448
453
  AWAITING_SUBMISSION: 'awaiting_submission',
449
454
  NOT_APPLICABLE: 'not_applicable',
package/src/enums.js CHANGED
@@ -444,6 +444,11 @@ export const NSIP_MATURE_OUTLINE_CONTROL_DOCUMENT = Object.freeze({
444
444
  SUBMITTED_BY_APPLICANT: 'submitted_by_applicant',
445
445
  });
446
446
 
447
+ export const NSIP_MEETING_TYPE = Object.freeze({
448
+ EVIDENCE_PLAN: 'evidence_plan',
449
+ PROJECT: 'project',
450
+ });
451
+
447
452
  export const NSIP_MULTIPARTY_APPLICATION_CHECK_DOCUMENT = Object.freeze({
448
453
  AWAITING_SUBMISSION: 'awaiting_submission',
449
454
  NOT_APPLICABLE: 'not_applicable',
package/src/index.cjs CHANGED
@@ -527,6 +527,11 @@ const NSIP_MATURE_OUTLINE_CONTROL_DOCUMENT = Object.freeze({
527
527
  SUBMITTED_BY_APPLICANT: 'submitted_by_applicant',
528
528
  });
529
529
 
530
+ const NSIP_MEETING_TYPE = Object.freeze({
531
+ EVIDENCE_PLAN: 'evidence_plan',
532
+ PROJECT: 'project',
533
+ });
534
+
530
535
  const NSIP_MULTIPARTY_APPLICATION_CHECK_DOCUMENT = Object.freeze({
531
536
  AWAITING_SUBMISSION: 'awaiting_submission',
532
537
  NOT_APPLICABLE: 'not_applicable',
@@ -848,6 +853,7 @@ exports.NSIP_INVOICE_STAGE = NSIP_INVOICE_STAGE;
848
853
  exports.NSIP_LANGUAGE = NSIP_LANGUAGE;
849
854
  exports.NSIP_MAP_ZOOM_LEVEL = NSIP_MAP_ZOOM_LEVEL;
850
855
  exports.NSIP_MATURE_OUTLINE_CONTROL_DOCUMENT = NSIP_MATURE_OUTLINE_CONTROL_DOCUMENT;
856
+ exports.NSIP_MEETING_TYPE = NSIP_MEETING_TYPE;
851
857
  exports.NSIP_MULTIPARTY_APPLICATION_CHECK_DOCUMENT = NSIP_MULTIPARTY_APPLICATION_CHECK_DOCUMENT;
852
858
  exports.NSIP_NEW_MATURITY = NSIP_NEW_MATURITY;
853
859
  exports.NSIP_ORIGIN = NSIP_ORIGIN;
package/src/schemas.d.ts CHANGED
@@ -2272,7 +2272,7 @@ export interface NSIPMeeting {
2272
2272
  /**
2273
2273
  * Type of Meeting
2274
2274
  */
2275
- meetingType: string | null;
2275
+ meetingType: 'evidence_plan' | 'project' | null;
2276
2276
  [k: string]: unknown;
2277
2277
  }
2278
2278
 
@@ -2865,7 +2865,7 @@ export interface Meeting {
2865
2865
  /**
2866
2866
  * Type of Meeting
2867
2867
  */
2868
- meetingType?: string | null;
2868
+ meetingType?: 'evidence_plan' | 'project' | null;
2869
2869
  [k: string]: unknown;
2870
2870
  }
2871
2871
  /**
@@ -4046,6 +4046,11 @@ export interface AppellantSubmissionCommand {
4046
4046
  | 'groundESupporting'
4047
4047
  | 'groundFSupporting'
4048
4048
  | 'groundGSupporting'
4049
+ | 'groundHSupporting'
4050
+ | 'groundISupporting'
4051
+ | 'groundJSupporting'
4052
+ | 'groundKSupporting'
4053
+ | 'applicationFeeReceipt'
4049
4054
  | null
4050
4055
  | 'environmentalAssessment';
4051
4056
  [k: string]: unknown;