@planning-inspectorate/data-model 2.53.0 → 2.55.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.
@@ -25,6 +25,23 @@ class Decision(Enum):
25
25
  NoneType_None = None
26
26
 
27
27
 
28
+ class DcoStatus(Enum):
29
+ """
30
+ Decision outcome: approved/refused/split-decision/granted/partially_consented/quashed/redetermination/withdrawn/revoked
31
+ """
32
+
33
+ approved = "approved"
34
+ refused = "refused"
35
+ split_decision = "split-decision"
36
+ granted = "granted"
37
+ partially_consented = "partially_consented"
38
+ quashed = "quashed"
39
+ redetermination = "redetermination"
40
+ withdrawn = "withdrawn"
41
+ revoked = "revoked"
42
+ NoneType_None = None
43
+
44
+
28
45
  class PublishStatus(Enum):
29
46
  published = "published"
30
47
  unpublished = "unpublished"
@@ -440,6 +457,10 @@ class NsipProject(BaseModel):
440
457
  """
441
458
  Decision outcome: approved/refused/split-decision/granted/partially_consented/quashed/redetermination/withdrawn
442
459
  """
460
+ dcoStatus: DcoStatus | None = None
461
+ """
462
+ Decision outcome: approved/refused/split-decision/granted/partially_consented/quashed/redetermination/withdrawn/revoked
463
+ """
443
464
  publishStatus: PublishStatus | None
444
465
  sector: Sector | None
445
466
  """
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "applications-application.schema.json",
3
+ "$id": "applications-crowndev-application.schema.json",
4
4
  "title": "Crown Development Application",
5
5
  "description": "Main application details for Crown Development Project",
6
6
  "type": "object",
@@ -43,7 +43,7 @@
43
43
  "type": ["string", "null"],
44
44
  "description": "SubType applies to Planning permissions and LBC",
45
45
  "example": "Listed building consent (LBC)",
46
- "enum": ["Planning permission", "Listed building consent (LBC)"]
46
+ "enum": ["Planning permission", "Listed building consent (LBC)", null]
47
47
  },
48
48
  "linkedParentId": {
49
49
  "type": ["string", "null"],
@@ -132,7 +132,8 @@
132
132
  "Written representations",
133
133
  "Inquiry",
134
134
  "Hearing/Inquiry date set",
135
- "Final decision"
135
+ "Final decision",
136
+ null
136
137
  ]
137
138
  },
138
139
  "nationallyImportant": {
@@ -176,7 +177,8 @@
176
177
  "Relevant demolition",
177
178
  "Other",
178
179
  "Listed building consent to alter/extend",
179
- "Listed building consent to demolish"
180
+ "Listed building consent to demolish",
181
+ null
180
182
  ]
181
183
  },
182
184
  "isGreenBelt": {
@@ -273,7 +275,7 @@
273
275
  "decisionOutcome": {
274
276
  "type": ["string", "null"],
275
277
  "description": "As displayed to users",
276
- "enum": ["Approved", "Approved with conditions", "Refused", "Withdrawn"]
278
+ "enum": ["Approved", "Approved with conditions", "Refused", "Withdrawn", null]
277
279
  },
278
280
  "turnedAwayDate": {
279
281
  "type": ["string", "null"],
@@ -326,7 +328,7 @@
326
328
  "eiaScreeningOutcome": {
327
329
  "type": ["string", "null"],
328
330
  "description": "What was the outcome of the Environmental Impact Assessment",
329
- "enum": ["required", "not required"]
331
+ "enum": ["required", "not required", null]
330
332
  },
331
333
  "environmentalStatementReceivedDate": {
332
334
  "type": ["string", "null"],
@@ -340,7 +342,7 @@
340
342
  "procedure": {
341
343
  "type": ["string", "null"],
342
344
  "description": "Name displayed to users",
343
- "enum": ["Written Representations", "Hearing", "Inquiry"]
345
+ "enum": ["Written Representations", "Hearing", "Inquiry", null]
344
346
  },
345
347
  "procedureNotificationDate": {
346
348
  "type": ["string", "null"],
@@ -459,7 +461,7 @@
459
461
  "additionalProperties": true,
460
462
  "required": ["contactRoleType", "organisationId"],
461
463
  "properties": {
462
- "roleType": {
464
+ "contactRoleType": {
463
465
  "type": "string",
464
466
  "description": "Agent or Applicant details",
465
467
  "example": "agent",
@@ -501,7 +503,7 @@
501
503
  "contactPreference": {
502
504
  "type": ["string", "null"],
503
505
  "example": "email",
504
- "enum": ["email", "post"]
506
+ "enum": ["email", "post", null]
505
507
  },
506
508
  "writtenRepOrgName": {
507
509
  "type": ["string", "null"],
@@ -93,7 +93,7 @@
93
93
  "Contact": {
94
94
  "type": "object",
95
95
  "description": "Contact the email was sent to",
96
- "required": ["contactId", "addressId"],
96
+ "required": ["contactId"],
97
97
  "properties": {
98
98
  "contactId": {
99
99
  "type": "string",
@@ -102,7 +102,7 @@
102
102
  },
103
103
  "contactPreference": {
104
104
  "type": ["string", "null"],
105
- "enum": ["email", "post"],
105
+ "enum": ["email", "post", null],
106
106
  "description": "Preferred contact method",
107
107
  "example": "email"
108
108
  },
@@ -68,7 +68,7 @@
68
68
  "submittedReceivedMethod": {
69
69
  "type": ["string", "null"],
70
70
  "description": "How we received the representation",
71
- "enum": ["Online", "Phone", "Email", "Post", "In person"]
71
+ "enum": ["Online", "Phone", "Email", "Post", "In person", null]
72
72
  },
73
73
  "submissionMethodReason": {
74
74
  "type": ["string", "null"]
@@ -86,7 +86,8 @@
86
86
  "enum": [
87
87
  "A person",
88
88
  "An organisation or charity I work or volunteer for",
89
- "An organisation or charity I do not work or volunteer for"
89
+ "An organisation or charity I do not work or volunteer for",
90
+ null
90
91
  ]
91
92
  },
92
93
  "representedContact": {
@@ -98,7 +99,7 @@
98
99
  },
99
100
  "representedCategory": {
100
101
  "type": ["string", "null"],
101
- "enum": ["Consultees", "Interested party"]
102
+ "enum": ["Consultees", "Interested party", null]
102
103
  },
103
104
  "wantsToBeHeard": {
104
105
  "type": ["boolean", "null"],
@@ -124,7 +125,7 @@
124
125
  "withdrawalReason": {
125
126
  "type": ["string", "null"],
126
127
  "description": "Reason for the withdrawal",
127
- "enum": ["Change of opinion", "Mistaken Submission", "Misunderstanding", "Personal Reasons"]
128
+ "enum": ["Change of opinion", "Mistaken Submission", "Misunderstanding", "Personal Reasons", null]
128
129
  },
129
130
  "dateWithdrawn": {
130
131
  "type": ["string", "null"],
@@ -151,7 +152,7 @@
151
152
  "contactPreference": {
152
153
  "type": ["string", "null"],
153
154
  "example": "email",
154
- "enum": ["email", "post"]
155
+ "enum": ["email", "post", null]
155
156
  },
156
157
  "writtenRepOrgName": {
157
158
  "type": ["string", "null"]
@@ -118,6 +118,22 @@
118
118
  null
119
119
  ]
120
120
  },
121
+ "dcoStatus": {
122
+ "type": ["string", "null"],
123
+ "description": "Decision outcome: approved/refused/split-decision/granted/partially_consented/quashed/redetermination/withdrawn/revoked",
124
+ "enum": [
125
+ "approved",
126
+ "refused",
127
+ "split-decision",
128
+ "granted",
129
+ "partially_consented",
130
+ "quashed",
131
+ "redetermination",
132
+ "withdrawn",
133
+ "revoked",
134
+ null
135
+ ]
136
+ },
121
137
  "publishStatus": {
122
138
  "type": ["string", "null"],
123
139
  "enum": ["published", "unpublished", null]
package/src/enums.cjs CHANGED
@@ -626,6 +626,18 @@ const NSIP_CASE_TYPE = Object.freeze({
626
626
  NSIP: 'nsip',
627
627
  });
628
628
 
629
+ const NSIP_DCO_STATUS = Object.freeze({
630
+ APPROVED: 'approved',
631
+ GRANTED: 'granted',
632
+ PARTIALLY_CONSENTED: 'partially_consented',
633
+ QUASHED: 'quashed',
634
+ REDETERMINATION: 'redetermination',
635
+ REFUSED: 'refused',
636
+ REVOKED: 'revoked',
637
+ SPLIT_DECISION: 'split-decision',
638
+ WITHDRAWN: 'withdrawn',
639
+ });
640
+
629
641
  const NSIP_DECISION = Object.freeze({
630
642
  APPROVED: 'approved',
631
643
  GRANTED: 'granted',
@@ -1024,6 +1036,7 @@ exports.MESSAGE_EVENT_TYPE = MESSAGE_EVENT_TYPE;
1024
1036
  exports.METHOD = METHOD;
1025
1037
  exports.NSIP_CASE_TYPE = NSIP_CASE_TYPE;
1026
1038
  exports.NSIP_CA_AND_TP_EVIDENCE = NSIP_CA_AND_TP_EVIDENCE;
1039
+ exports.NSIP_DCO_STATUS = NSIP_DCO_STATUS;
1027
1040
  exports.NSIP_DECISION = NSIP_DECISION;
1028
1041
  exports.NSIP_DESIGN_APPROACH_DOCUMENT = NSIP_DESIGN_APPROACH_DOCUMENT;
1029
1042
  exports.NSIP_DOCUMENT_CASE_STAGE = NSIP_DOCUMENT_CASE_STAGE;
package/src/enums.d.ts CHANGED
@@ -624,6 +624,18 @@ export const NSIP_CASE_TYPE = {
624
624
  NSIP: 'nsip',
625
625
  } as const;
626
626
 
627
+ export const NSIP_DCO_STATUS = {
628
+ APPROVED: 'approved',
629
+ GRANTED: 'granted',
630
+ PARTIALLY_CONSENTED: 'partially_consented',
631
+ QUASHED: 'quashed',
632
+ REDETERMINATION: 'redetermination',
633
+ REFUSED: 'refused',
634
+ REVOKED: 'revoked',
635
+ SPLIT_DECISION: 'split-decision',
636
+ WITHDRAWN: 'withdrawn',
637
+ } as const;
638
+
627
639
  export const NSIP_DECISION = {
628
640
  APPROVED: 'approved',
629
641
  GRANTED: 'granted',
package/src/enums.js CHANGED
@@ -624,6 +624,18 @@ export const NSIP_CASE_TYPE = Object.freeze({
624
624
  NSIP: 'nsip',
625
625
  });
626
626
 
627
+ export const NSIP_DCO_STATUS = Object.freeze({
628
+ APPROVED: 'approved',
629
+ GRANTED: 'granted',
630
+ PARTIALLY_CONSENTED: 'partially_consented',
631
+ QUASHED: 'quashed',
632
+ REDETERMINATION: 'redetermination',
633
+ REFUSED: 'refused',
634
+ REVOKED: 'revoked',
635
+ SPLIT_DECISION: 'split-decision',
636
+ WITHDRAWN: 'withdrawn',
637
+ });
638
+
627
639
  export const NSIP_DECISION = Object.freeze({
628
640
  APPROVED: 'approved',
629
641
  GRANTED: 'granted',
package/src/index.cjs CHANGED
@@ -707,6 +707,18 @@ const NSIP_CASE_TYPE = Object.freeze({
707
707
  NSIP: 'nsip',
708
708
  });
709
709
 
710
+ const NSIP_DCO_STATUS = Object.freeze({
711
+ APPROVED: 'approved',
712
+ GRANTED: 'granted',
713
+ PARTIALLY_CONSENTED: 'partially_consented',
714
+ QUASHED: 'quashed',
715
+ REDETERMINATION: 'redetermination',
716
+ REFUSED: 'refused',
717
+ REVOKED: 'revoked',
718
+ SPLIT_DECISION: 'split-decision',
719
+ WITHDRAWN: 'withdrawn',
720
+ });
721
+
710
722
  const NSIP_DECISION = Object.freeze({
711
723
  APPROVED: 'approved',
712
724
  GRANTED: 'granted',
@@ -1137,6 +1149,7 @@ exports.MESSAGE_EVENT_TYPE = MESSAGE_EVENT_TYPE;
1137
1149
  exports.METHOD = METHOD;
1138
1150
  exports.NSIP_CASE_TYPE = NSIP_CASE_TYPE;
1139
1151
  exports.NSIP_CA_AND_TP_EVIDENCE = NSIP_CA_AND_TP_EVIDENCE;
1152
+ exports.NSIP_DCO_STATUS = NSIP_DCO_STATUS;
1140
1153
  exports.NSIP_DECISION = NSIP_DECISION;
1141
1154
  exports.NSIP_DESIGN_APPROACH_DOCUMENT = NSIP_DESIGN_APPROACH_DOCUMENT;
1142
1155
  exports.NSIP_DOCUMENT_CASE_STAGE = NSIP_DOCUMENT_CASE_STAGE;
package/src/schemas.d.ts CHANGED
@@ -1913,7 +1913,7 @@ export interface CrownDevelopmentApplication {
1913
1913
  /**
1914
1914
  * SubType applies to Planning permissions and LBC
1915
1915
  */
1916
- subType?: ('Planning permission' | 'Listed building consent (LBC)') | null;
1916
+ subType?: 'Planning permission' | 'Listed building consent (LBC)' | null;
1917
1917
  /**
1918
1918
  * Self-referencial for parent to children relationship
1919
1919
  */
@@ -1980,15 +1980,13 @@ export interface CrownDevelopmentApplication {
1980
1980
  * Current stage of the case (enum)
1981
1981
  */
1982
1982
  applicationStage?:
1983
- | (
1984
- | 'Accepted'
1985
- | 'Consultation'
1986
- | 'Procedure choice'
1987
- | 'Written representations'
1988
- | 'Inquiry'
1989
- | 'Hearing/Inquiry date set'
1990
- | 'Final decision'
1991
- )
1983
+ | 'Accepted'
1984
+ | 'Consultation'
1985
+ | 'Procedure choice'
1986
+ | 'Written representations'
1987
+ | 'Inquiry'
1988
+ | 'Hearing/Inquiry date set'
1989
+ | 'Final decision'
1992
1990
  | null;
1993
1991
  /**
1994
1992
  * Site is nationally important (Yes/No)
@@ -2014,25 +2012,23 @@ export interface CrownDevelopmentApplication {
2014
2012
  * Application category (enum)
2015
2013
  */
2016
2014
  category?:
2017
- | (
2018
- | 'Major Development'
2019
- | 'Buildings over 1000 square metres'
2020
- | 'Development of a site above 1 hectare'
2021
- | 'Dwellings numbering 10 or more'
2022
- | 'Dwellings of 0.5 hectare or more'
2023
- | 'Minerals'
2024
- | 'Waste'
2025
- | 'Non-Major Development'
2026
- | 'Buildings less than 1000 square metres'
2027
- | 'Development of a site less than 1 hectare'
2028
- | 'Dwellings numbering between 1 and 9'
2029
- | 'Dwellings of less than 0.5 hectare'
2030
- | 'Change of use'
2031
- | 'Relevant demolition'
2032
- | 'Other'
2033
- | 'Listed building consent to alter/extend'
2034
- | 'Listed building consent to demolish'
2035
- )
2015
+ | 'Major Development'
2016
+ | 'Buildings over 1000 square metres'
2017
+ | 'Development of a site above 1 hectare'
2018
+ | 'Dwellings numbering 10 or more'
2019
+ | 'Dwellings of 0.5 hectare or more'
2020
+ | 'Minerals'
2021
+ | 'Waste'
2022
+ | 'Non-Major Development'
2023
+ | 'Buildings less than 1000 square metres'
2024
+ | 'Development of a site less than 1 hectare'
2025
+ | 'Dwellings numbering between 1 and 9'
2026
+ | 'Dwellings of less than 0.5 hectare'
2027
+ | 'Change of use'
2028
+ | 'Relevant demolition'
2029
+ | 'Other'
2030
+ | 'Listed building consent to alter/extend'
2031
+ | 'Listed building consent to demolish'
2036
2032
  | null;
2037
2033
  /**
2038
2034
  * Is the site in green belt land
@@ -2113,7 +2109,7 @@ export interface CrownDevelopmentApplication {
2113
2109
  /**
2114
2110
  * As displayed to users
2115
2111
  */
2116
- decisionOutcome?: ('Approved' | 'Approved with conditions' | 'Refused' | 'Withdrawn') | null;
2112
+ decisionOutcome?: 'Approved' | 'Approved with conditions' | 'Refused' | 'Withdrawn' | null;
2117
2113
  /**
2118
2114
  * Date application was turned away
2119
2115
  */
@@ -2161,7 +2157,7 @@ export interface CrownDevelopmentApplication {
2161
2157
  /**
2162
2158
  * What was the outcome of the Environmental Impact Assessment
2163
2159
  */
2164
- eiaScreeningOutcome?: ('required' | 'not required') | null;
2160
+ eiaScreeningOutcome?: 'required' | 'not required' | null;
2165
2161
  /**
2166
2162
  * Date the environmental statement was received
2167
2163
  */
@@ -2173,7 +2169,7 @@ export interface CrownDevelopmentApplication {
2173
2169
  /**
2174
2170
  * Name displayed to users
2175
2171
  */
2176
- procedure?: ('Written Representations' | 'Hearing' | 'Inquiry') | null;
2172
+ procedure?: 'Written Representations' | 'Hearing' | 'Inquiry' | null;
2177
2173
  procedureNotificationDate?: string | null;
2178
2174
  eventDate?: string | null;
2179
2175
  eventPrepDuration?: number | null;
@@ -2252,7 +2248,7 @@ export interface Organisation {
2252
2248
  /**
2253
2249
  * Agent or Applicant details
2254
2250
  */
2255
- roleType?: 'agent' | 'applicant';
2251
+ contactRoleType: 'agent' | 'applicant';
2256
2252
  /**
2257
2253
  * Source PK for Organisation
2258
2254
  */
@@ -2278,7 +2274,7 @@ export interface Contact {
2278
2274
  * Source PK for Contact
2279
2275
  */
2280
2276
  contactId: string;
2281
- contactPreference?: ('email' | 'post') | null;
2277
+ contactPreference?: 'email' | 'post' | null;
2282
2278
  /**
2283
2279
  * Organisation Name used for written-representation on behalf of an organisation
2284
2280
  */
@@ -2375,7 +2371,7 @@ export interface Contact {
2375
2371
  /**
2376
2372
  * Preferred contact method
2377
2373
  */
2378
- contactPreference?: ('email' | 'post') | null;
2374
+ contactPreference?: 'email' | 'post' | null;
2379
2375
  writtenRepOrgName?: string | null;
2380
2376
  writtenRepJobTitleorRole?: string | null;
2381
2377
  }
@@ -2413,7 +2409,7 @@ export interface CaseworkRepresentationSchema {
2413
2409
  /**
2414
2410
  * How we received the representation
2415
2411
  */
2416
- submittedReceivedMethod?: ('Online' | 'Phone' | 'Email' | 'Post' | 'In person') | null;
2412
+ submittedReceivedMethod?: 'Online' | 'Phone' | 'Email' | 'Post' | 'In person' | null;
2417
2413
  submissionMethodReason?: string | null;
2418
2414
  comment: string;
2419
2415
  /**
@@ -2424,17 +2420,15 @@ export interface CaseworkRepresentationSchema {
2424
2420
  * When representation is on behalf of a person/org/group
2425
2421
  */
2426
2422
  representedType?:
2427
- | (
2428
- | 'A person'
2429
- | 'An organisation or charity I work or volunteer for'
2430
- | 'An organisation or charity I do not work or volunteer for'
2431
- )
2423
+ | 'A person'
2424
+ | 'An organisation or charity I work or volunteer for'
2425
+ | 'An organisation or charity I do not work or volunteer for'
2432
2426
  | null;
2433
2427
  /**
2434
2428
  * When representation is on behalf of a person/org/group
2435
2429
  */
2436
2430
  representedContact?: Contact[] | null;
2437
- representedCategory?: ('Consultees' | 'Interested party') | null;
2431
+ representedCategory?: 'Consultees' | 'Interested party' | null;
2438
2432
  /**
2439
2433
  * Internal: wants to be heard at a hearing
2440
2434
  */
@@ -2458,7 +2452,7 @@ export interface CaseworkRepresentationSchema {
2458
2452
  /**
2459
2453
  * Reason for the withdrawal
2460
2454
  */
2461
- withdrawalReason?: ('Change of opinion' | 'Mistaken Submission' | 'Misunderstanding' | 'Personal Reasons') | null;
2455
+ withdrawalReason?: 'Change of opinion' | 'Mistaken Submission' | 'Misunderstanding' | 'Personal Reasons' | null;
2462
2456
  /**
2463
2457
  * Date the representation was withdrawn
2464
2458
  */
@@ -2471,7 +2465,7 @@ export interface Contact {
2471
2465
  * Source PK for Contact
2472
2466
  */
2473
2467
  contactId: string;
2474
- contactPreference?: ('email' | 'post') | null;
2468
+ contactPreference?: 'email' | 'post' | null;
2475
2469
  writtenRepOrgName?: string | null;
2476
2470
  writtenRepJobTitleorRole?: string | null;
2477
2471
  }
@@ -3245,6 +3239,20 @@ export interface NSIPProject {
3245
3239
  | 'redetermination'
3246
3240
  | 'withdrawn'
3247
3241
  | null;
3242
+ /**
3243
+ * Decision outcome: approved/refused/split-decision/granted/partially_consented/quashed/redetermination/withdrawn/revoked
3244
+ */
3245
+ dcoStatus?:
3246
+ | 'approved'
3247
+ | 'refused'
3248
+ | 'split-decision'
3249
+ | 'granted'
3250
+ | 'partially_consented'
3251
+ | 'quashed'
3252
+ | 'redetermination'
3253
+ | 'withdrawn'
3254
+ | 'revoked'
3255
+ | null;
3248
3256
  publishStatus: 'published' | 'unpublished' | null;
3249
3257
  /**
3250
3258
  * {Sector Abbreviation} - {Sector Display Name}
@@ -5910,7 +5918,7 @@ export type SchemaMap = {
5910
5918
  'appeal-representation.schema.json': AppealRepresentation;
5911
5919
  'appeal-s78.schema.json': AppealS78Case;
5912
5920
  'applications-application-update.schema.json': ApplicationUpdateSchema;
5913
- 'applications-application.schema.json': CrownDevelopmentApplication;
5921
+ 'applications-crowndev-application.schema.json': CrownDevelopmentApplication;
5914
5922
  'applications-notify-email.schema.json': EmailNotificationRecordSchema;
5915
5923
  'applications-representation.schema.json': CaseworkRepresentationSchema;
5916
5924
  'dart-response.schema.json': DaRTAPIResponse;