@planning-inspectorate/data-model 2.48.1 → 2.50.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/docs/README.md +23 -1
  2. package/docs/address.md +366 -0
  3. package/docs/appeal-has.md +10 -7
  4. package/docs/applications-application-defs-address.md +108 -0
  5. package/docs/applications-application-defs-contact.md +98 -0
  6. package/docs/applications-application-defs-organisation.md +117 -0
  7. package/docs/applications-application-defs.md +3 -0
  8. package/docs/{application-update.md → applications-application-update.md} +22 -22
  9. package/docs/applications-application.md +2250 -0
  10. package/docs/applications-notify-email-defs-contact.md +93 -0
  11. package/docs/applications-notify-email-defs.md +3 -0
  12. package/docs/applications-notify-email.md +458 -0
  13. package/docs/applications-representation-definitions-contact.md +93 -0
  14. package/docs/applications-representation-definitions-representationdocument.md +152 -0
  15. package/docs/applications-representation-definitions.md +3 -0
  16. package/docs/applications-representation.md +834 -0
  17. package/package.json +1 -1
  18. package/pins_data_model/models/model_address.py +69 -0
  19. package/pins_data_model/models/model_appeal_has.py +3 -0
  20. package/pins_data_model/models/model_applications_application.py +518 -0
  21. package/pins_data_model/models/model_applications_application_update.py +55 -0
  22. package/pins_data_model/models/model_applications_notify_email.py +124 -0
  23. package/pins_data_model/models/model_applications_representation.py +207 -0
  24. package/schemas/address.schema.json +87 -0
  25. package/schemas/appeal-has.schema.json +2 -2
  26. package/schemas/{application-update.schema.json → applications-application-update.schema.json} +1 -1
  27. package/schemas/applications-application.schema.json +539 -0
  28. package/schemas/applications-notify-email.schema.json +118 -0
  29. package/schemas/applications-representation.schema.json +202 -0
  30. package/src/enums.cjs +147 -7
  31. package/src/enums.d.ts +131 -6
  32. package/src/enums.js +131 -6
  33. package/src/index.cjs +147 -7
  34. package/src/schemas.d.ts +679 -2
  35. package/tests/appeals/appeal-has.test.js +34 -0
@@ -0,0 +1,202 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "applications-representation.schema.json",
4
+ "title": "Casework Representation Schema",
5
+ "description": "Representations and related document metadata for Casework Projects",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": [
9
+ "id",
10
+ "reference",
11
+ "caseReference",
12
+ "caseId",
13
+ "caseType",
14
+ "status",
15
+ "submittedFor",
16
+ "submittedDate",
17
+ "comment"
18
+ ],
19
+ "properties": {
20
+ "id": {
21
+ "type": "string",
22
+ "description": "Primary key",
23
+ "example": "AAAAAAAA-1234-1234-1234-AAAAAAAAAAAA"
24
+ },
25
+ "reference": {
26
+ "type": "string",
27
+ "description": "Auto-generated hexadecimal reference: AAAAA-BBBBB"
28
+ },
29
+ "caseReference": {
30
+ "type": "string",
31
+ "description": "Business Key for the related case",
32
+ "example": "CROWN/2025/12345"
33
+ },
34
+ "caseId": {
35
+ "type": "string",
36
+ "description": "The unique ID for the case this representation belongs to.",
37
+ "example": "AAAAAAAA-1234-1234-1234-AAAAAAAAAAAA"
38
+ },
39
+ "caseType": {
40
+ "type": "string",
41
+ "description": "The type of case this representation is for.",
42
+ "example": "Crown Development Application"
43
+ },
44
+ "representationStatus": {
45
+ "type": "string",
46
+ "enum": ["Awaiting review", "Accepted", "Rejected", "Withdrawn"]
47
+ },
48
+ "submittedFor": {
49
+ "type": "string",
50
+ "enum": ["Myself", "On behalf of another person or an organisation"]
51
+ },
52
+ "submittedByContact": {
53
+ "type": ["array", "null"],
54
+ "items": {
55
+ "$ref": "#/definitions/contact"
56
+ }
57
+ },
58
+ "submittedByAgentFlag": {
59
+ "type": ["boolean", "null"]
60
+ },
61
+ "submittedByAgentOrgName": {
62
+ "type": ["string", "null"]
63
+ },
64
+ "submittedDate": {
65
+ "type": "string",
66
+ "format": "date-time"
67
+ },
68
+ "submittedReceivedMethod": {
69
+ "type": ["string", "null"],
70
+ "description": "How we received the representation",
71
+ "enum": ["Online", "Phone", "Email", "Post", "In person"]
72
+ },
73
+ "submissionMethodReason": {
74
+ "type": ["string", "null"]
75
+ },
76
+ "comment": {
77
+ "type": "string"
78
+ },
79
+ "commentRedacted": {
80
+ "type": ["string", "null"],
81
+ "description": "redacted version of the comment, null if not redacted"
82
+ },
83
+ "representedType": {
84
+ "type": ["string", "null"],
85
+ "description": "When representation is on behalf of a person/org/group",
86
+ "enum": [
87
+ "A person",
88
+ "An organisation or charity I work or volunteer for",
89
+ "An organisation or charity I do not work or volunteer for"
90
+ ]
91
+ },
92
+ "representedContact": {
93
+ "type": ["array", "null"],
94
+ "items": {
95
+ "$ref": "#/definitions/contact"
96
+ },
97
+ "description": "When representation is on behalf of a person/org/group"
98
+ },
99
+ "representedCategory": {
100
+ "type": ["string", "null"],
101
+ "enum": ["Consultees", "Interested party"]
102
+ },
103
+ "wantsToBeHeard": {
104
+ "type": ["boolean", "null"],
105
+ "description": "Internal: wants to be heard at a hearing"
106
+ },
107
+ "containsAttachments": {
108
+ "type": ["boolean", "null"],
109
+ "description": "Is a document attached to the representation"
110
+ },
111
+ "sharePointFolderCreated": {
112
+ "type": ["boolean", "null"],
113
+ "description": "to avoid creating new folders for documents when managing representations"
114
+ },
115
+ "distressingContentInRepresentation": {
116
+ "type": ["boolean", "null"],
117
+ "description": "Flags the representation as containing distressing content"
118
+ },
119
+ "withdrawalRequestDate": {
120
+ "type": ["string", "null"],
121
+ "format": "date-time",
122
+ "description": "Date the representing party requested that the representation be withdrawn"
123
+ },
124
+ "withdrawalReason": {
125
+ "type": ["string", "null"],
126
+ "description": "Reason for the withdrawal",
127
+ "enum": ["Change of opinion", "Mistaken Submission", "Misunderstanding", "Personal Reasons"]
128
+ },
129
+ "dateWithdrawn": {
130
+ "type": ["string", "null"],
131
+ "format": "date-time",
132
+ "description": "Date the representation was withdrawn"
133
+ },
134
+ "representationDocuments": {
135
+ "type": ["array", "null"],
136
+ "items": {
137
+ "$ref": "#/definitions/representationDocument"
138
+ }
139
+ }
140
+ },
141
+ "definitions": {
142
+ "contact": {
143
+ "type": "object",
144
+ "required": ["contactId"],
145
+ "properties": {
146
+ "contactId": {
147
+ "type": "string",
148
+ "description": "Source PK for Contact",
149
+ "example": "AAAAAAAA-1234-1234-1234-AAAAAAAAAAAA"
150
+ },
151
+ "contactPreference": {
152
+ "type": ["string", "null"],
153
+ "example": "email",
154
+ "enum": ["email", "post"]
155
+ },
156
+ "writtenRepOrgName": {
157
+ "type": ["string", "null"]
158
+ },
159
+ "writtenRepJobTitleorRole": {
160
+ "type": ["string", "null"]
161
+ }
162
+ }
163
+ },
164
+ "representationDocument": {
165
+ "type": "object",
166
+ "required": ["id", "representationId", "itemId", "fileName", "status"],
167
+ "properties": {
168
+ "id": {
169
+ "type": "string",
170
+ "description": "Source Key for Representation Document",
171
+ "example": "AAAAAAAA-1234-1234-1234-AAAAAAAAAAAA"
172
+ },
173
+ "representationId": {
174
+ "type": "string",
175
+ "description": "The representation this relates to",
176
+ "example": "AAAAAAAA-1234-1234-1234-AAAAAAAAAAAA"
177
+ },
178
+ "itemId": {
179
+ "type": "string",
180
+ "description": "The id of the item in SharePoint"
181
+ },
182
+ "fileName": {
183
+ "type": "string",
184
+ "description": "The name of the file"
185
+ },
186
+ "redactedItemId": {
187
+ "type": ["string", "null"],
188
+ "description": "The id of the redacted version of the item in sharepoint"
189
+ },
190
+ "redactedFileName": {
191
+ "type": ["string", "null"],
192
+ "description": "the name of the redacted file"
193
+ },
194
+ "status": {
195
+ "type": "string",
196
+ "description": "The status of the document",
197
+ "enum": ["Awaiting review", "Accepted", "Rejected", "Withdrawn"]
198
+ }
199
+ }
200
+ }
201
+ }
202
+ }
package/src/enums.cjs CHANGED
@@ -1,5 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ const ADDRESS_TYPE = Object.freeze({
4
+ CONTACT: 'contact',
5
+ NEIGHBOURING: 'neighbouring',
6
+ ORGANISATION: 'organisation',
7
+ SITE: 'site',
8
+ });
9
+
3
10
  const APPEAL_HAS_CASE_DECISION_OUTCOME = Object.freeze({
4
11
  ALLOWED: 'allowed',
5
12
  DISMISSED: 'dismissed',
@@ -7,12 +14,6 @@ const APPEAL_HAS_CASE_DECISION_OUTCOME = Object.freeze({
7
14
  SPLIT_DECISION: 'split_decision',
8
15
  });
9
16
 
10
- const APPEAL_HAS_CASE_PROCEDURE = Object.freeze({
11
- HEARING: 'hearing',
12
- INQUIRY: 'inquiry',
13
- WRITTEN: 'written',
14
- });
15
-
16
17
  const APPEAL_HAS_CASE_STATUS = Object.freeze({
17
18
  ASSIGN_CASE_OFFICER: 'assign_case_officer',
18
19
  AWAITING_EVENT: 'awaiting_event',
@@ -443,12 +444,136 @@ const APPEAL_VIRUS_CHECK_STATUS = Object.freeze({
443
444
  SCANNED: 'scanned',
444
445
  });
445
446
 
447
+ const APPLICATION_STAGE = Object.freeze({
448
+ ACCEPTED: 'Accepted',
449
+ CONSULTATION: 'Consultation',
450
+ FINAL_DECISION: 'Final decision',
451
+ HEARING_INQUIRY_DATE_SET: 'Hearing/Inquiry date set',
452
+ INQUIRY: 'Inquiry',
453
+ PROCEDURE_CHOICE: 'Procedure choice',
454
+ WRITTEN_REPRESENTATIONS: 'Written representations',
455
+ });
456
+
457
+ const APPLICATION_STATUS = Object.freeze({
458
+ ACCEPTED: 'Accepted',
459
+ APPLICATION_ON_HOLD_AWAITING_FURTHER_INFORMATION: 'Application on hold awaiting further information',
460
+ CLOSED_INVALID: 'Closed - invalid',
461
+ CLOSED_OPENED_IN_ERROR: 'Closed - opened in error',
462
+ CONSULTATION_PERIOD_OPEN: 'Consultation period open',
463
+ DECIDED: 'Decided',
464
+ DECISION_AWAITED: 'Decision awaited',
465
+ DECLINED_TO_DETERMINE: 'Declined to determine',
466
+ HEARING_INQUIRY_DATE_SET: 'Hearing/Inquiry date set',
467
+ INVALID: 'Invalid',
468
+ NEW: 'New',
469
+ REPORT_AWAITED: 'Report awaited',
470
+ REPORT_SENT_TO_DECISION_BRANCH: 'Report sent to Decision Branch',
471
+ WITHDRAWN: 'Withdrawn',
472
+ });
473
+
446
474
  const APPLICATION_UPDATE_STATUS = Object.freeze({
447
475
  DRAFT: 'Draft',
448
476
  PUBLISHED: 'Published',
449
477
  UNPUBLISHED: 'Unpublished',
450
478
  });
451
479
 
480
+ const APPLICATION_CATEGORY = Object.freeze({
481
+ BUILDINGS_LESS_THAN_1000_SQUARE_METRES: 'Buildings less than 1000 square metres',
482
+ BUILDINGS_OVER_1000_SQUARE_METRES: 'Buildings over 1000 square metres',
483
+ CHANGE_OF_USE: 'Change of use',
484
+ DEVELOPMENT_OF_A_SITE_ABOVE_1_HECTARE: 'Development of a site above 1 hectare',
485
+ DEVELOPMENT_OF_A_SITE_LESS_THAN_1_HECTARE: 'Development of a site less than 1 hectare',
486
+ DWELLINGS_NUMBERING_10_OR_MORE: 'Dwellings numbering 10 or more',
487
+ DWELLINGS_NUMBERING_BETWEEN_1_AND_9: 'Dwellings numbering between 1 and 9',
488
+ DWELLINGS_OF_0_5_HECTARE_OR_MORE: 'Dwellings of 0.5 hectare or more',
489
+ DWELLINGS_OF_LESS_THAN_0_5_HECTARE: 'Dwellings of less than 0.5 hectare',
490
+ LISTED_BUILDING_CONSENT_TO_ALTER_EXTEND: 'Listed building consent to alter/extend',
491
+ LISTED_BUILDING_CONSENT_TO_DEMOLISH: 'Listed building consent to demolish',
492
+ MAJOR_DEVELOPMENT: 'Major Development',
493
+ MINERALS: 'Minerals',
494
+ NON_MAJOR_DEVELOPMENT: 'Non-Major Development',
495
+ OTHER: 'Other',
496
+ RELEVANT_DEMOLITION: 'Relevant demolition',
497
+ WASTE: 'Waste',
498
+ });
499
+
500
+ const APPLICATION_DECISION_OUTCOME = Object.freeze({
501
+ APPROVED: 'Approved',
502
+ APPROVED_WITH_CONDITIONS: 'Approved with conditions',
503
+ REFUSED: 'Refused',
504
+ WITHDRAWN: 'Withdrawn',
505
+ });
506
+
507
+ const APPLICATION_EIA_SCREENING_OUTCOME = Object.freeze({
508
+ NOT_REQUIRED: 'not required',
509
+ REQUIRED: 'required',
510
+ });
511
+
512
+ const APPLICATION_EMAIL_STATUS = Object.freeze({
513
+ DELIVERED: 'Delivered',
514
+ PERMANENT_FAILURE: 'Permanent failure',
515
+ SENDING: 'Sending',
516
+ TECHNICAL_FAILURE: 'Technical failure',
517
+ TEMPORARY_FAILURE: 'Temporary failure',
518
+ });
519
+
520
+ const APPLICATION_PROCEDURE = Object.freeze({
521
+ HEARING: 'Hearing',
522
+ INQUIRY: 'Inquiry',
523
+ WRITTEN_REPRESENTATIONS: 'Written Representations',
524
+ });
525
+
526
+ const APPLICATION_REPRESENTATION_STATUS = Object.freeze({
527
+ ACCEPTED: 'Accepted',
528
+ AWAITING_REVIEW: 'Awaiting review',
529
+ REJECTED: 'Rejected',
530
+ WITHDRAWN: 'Withdrawn',
531
+ });
532
+
533
+ const APPLICATION_REPRESENTED_CATEGORY = Object.freeze({
534
+ CONSULTEES: 'Consultees',
535
+ INTERESTED_PARTY: 'Interested party',
536
+ });
537
+
538
+ const APPLICATION_REPRESENTED_TYPE = Object.freeze({
539
+ A_PERSON: 'A person',
540
+ AN_ORGANISATION_OR_CHARITY_I_DO_NOT_WORK_OR_VOLUNTEER_FOR: 'An organisation or charity I do not work or volunteer for',
541
+ AN_ORGANISATION_OR_CHARITY_I_WORK_OR_VOLUNTEER_FOR: 'An organisation or charity I work or volunteer for',
542
+ });
543
+
544
+ const APPLICATION_SUB_TYPE = Object.freeze({
545
+ LISTED_BUILDING_CONSENT_LBC: 'Listed building consent (LBC)',
546
+ PLANNING_PERMISSION: 'Planning permission',
547
+ });
548
+
549
+ const APPLICATION_SUBMITTED_FOR = Object.freeze({
550
+ MYSELF: 'Myself',
551
+ ON_BEHALF_OF_ANOTHER_PERSON_OR_AN_ORGANISATION: 'On behalf of another person or an organisation',
552
+ });
553
+
554
+ const APPLICATION_SUBMITTED_RECEIVED_METHOD = Object.freeze({
555
+ EMAIL: 'Email',
556
+ IN_PERSON: 'In person',
557
+ ONLINE: 'Online',
558
+ PHONE: 'Phone',
559
+ POST: 'Post',
560
+ });
561
+
562
+ const APPLICATION_TYPE = Object.freeze({
563
+ APPROVAL_OF_RESERVED_MATTERS_FOLLOWING_OUTLINE_APPROVAL: 'Approval of reserved matters following outline approval',
564
+ OUTLINE_PLANNING_PERMISSION_WITH_ALL_MATTERS_RESERVED: 'Outline planning permission with all matters reserved',
565
+ OUTLINE_PLANNING_PERMISSION_WITH_SOME_MATTERS_RESERVED: 'Outline planning permission with some matters reserved',
566
+ PLANNING_PERMISSION: 'Planning permission',
567
+ PLANNING_PERMISSION_AND_LISTED_BUILDING_CONSENT_LBC_FOR_ALTERATIONS_EXTENSION_OR_DEMOLITION_OF_A_LISTED_BUILDING: 'Planning permission and listed building consent (LBC) for alterations, extension or demolition of a listed building',
568
+ });
569
+
570
+ const APPLICATION_WITHDRAWAL_REASON = Object.freeze({
571
+ CHANGE_OF_OPINION: 'Change of opinion',
572
+ MISTAKEN_SUBMISSION: 'Mistaken Submission',
573
+ MISUNDERSTANDING: 'Misunderstanding',
574
+ PERSONAL_REASONS: 'Personal Reasons',
575
+ });
576
+
452
577
  const CASE_STAGE = Object.freeze({
453
578
  0: '0',
454
579
  ACCEPTANCE: 'acceptance',
@@ -834,6 +959,7 @@ const STATUS = Object.freeze({
834
959
  /** @deprecated use APPEAL_UNDER_ACT_SECTION **/
835
960
  const APPEAL_APPEAL_UNDER_ACT_SECTION = APPEAL_UNDER_ACT_SECTION;
836
961
 
962
+ exports.ADDRESS_TYPE = ADDRESS_TYPE;
837
963
  exports.APPEAL_ALLOCATION_LEVEL = APPEAL_ALLOCATION_LEVEL;
838
964
  exports.APPEAL_APPEAL_UNDER_ACT_SECTION = APPEAL_APPEAL_UNDER_ACT_SECTION;
839
965
  exports.APPEAL_APPELLANT_PROCEDURE_PREFERENCE = APPEAL_APPELLANT_PROCEDURE_PREFERENCE;
@@ -854,7 +980,6 @@ exports.APPEAL_EIA_ENVIRONMENTAL_IMPACT_SCHEDULE = APPEAL_EIA_ENVIRONMENTAL_IMPA
854
980
  exports.APPEAL_EVENT_STATUS = APPEAL_EVENT_STATUS;
855
981
  exports.APPEAL_EVENT_TYPE = APPEAL_EVENT_TYPE;
856
982
  exports.APPEAL_HAS_CASE_DECISION_OUTCOME = APPEAL_HAS_CASE_DECISION_OUTCOME;
857
- exports.APPEAL_HAS_CASE_PROCEDURE = APPEAL_HAS_CASE_PROCEDURE;
858
983
  exports.APPEAL_HAS_CASE_STATUS = APPEAL_HAS_CASE_STATUS;
859
984
  exports.APPEAL_HAS_TYPE_OF_PLANNING_APPLICATION = APPEAL_HAS_TYPE_OF_PLANNING_APPLICATION;
860
985
  exports.APPEAL_INVALID_OR_INCOMPLETE_DETAILS = APPEAL_INVALID_OR_INCOMPLETE_DETAILS;
@@ -873,7 +998,22 @@ exports.APPEAL_SOURCE_SYSTEM = APPEAL_SOURCE_SYSTEM;
873
998
  exports.APPEAL_TYPE_OF_PLANNING_APPLICATION = APPEAL_TYPE_OF_PLANNING_APPLICATION;
874
999
  exports.APPEAL_UNDER_ACT_SECTION = APPEAL_UNDER_ACT_SECTION;
875
1000
  exports.APPEAL_VIRUS_CHECK_STATUS = APPEAL_VIRUS_CHECK_STATUS;
1001
+ exports.APPLICATION_CATEGORY = APPLICATION_CATEGORY;
1002
+ exports.APPLICATION_DECISION_OUTCOME = APPLICATION_DECISION_OUTCOME;
1003
+ exports.APPLICATION_EIA_SCREENING_OUTCOME = APPLICATION_EIA_SCREENING_OUTCOME;
1004
+ exports.APPLICATION_EMAIL_STATUS = APPLICATION_EMAIL_STATUS;
1005
+ exports.APPLICATION_PROCEDURE = APPLICATION_PROCEDURE;
1006
+ exports.APPLICATION_REPRESENTATION_STATUS = APPLICATION_REPRESENTATION_STATUS;
1007
+ exports.APPLICATION_REPRESENTED_CATEGORY = APPLICATION_REPRESENTED_CATEGORY;
1008
+ exports.APPLICATION_REPRESENTED_TYPE = APPLICATION_REPRESENTED_TYPE;
1009
+ exports.APPLICATION_STAGE = APPLICATION_STAGE;
1010
+ exports.APPLICATION_STATUS = APPLICATION_STATUS;
1011
+ exports.APPLICATION_SUBMITTED_FOR = APPLICATION_SUBMITTED_FOR;
1012
+ exports.APPLICATION_SUBMITTED_RECEIVED_METHOD = APPLICATION_SUBMITTED_RECEIVED_METHOD;
1013
+ exports.APPLICATION_SUB_TYPE = APPLICATION_SUB_TYPE;
1014
+ exports.APPLICATION_TYPE = APPLICATION_TYPE;
876
1015
  exports.APPLICATION_UPDATE_STATUS = APPLICATION_UPDATE_STATUS;
1016
+ exports.APPLICATION_WITHDRAWAL_REASON = APPLICATION_WITHDRAWAL_REASON;
877
1017
  exports.CASE_STAGE = CASE_STAGE;
878
1018
  exports.MESSAGE_EVENT_TYPE = MESSAGE_EVENT_TYPE;
879
1019
  exports.METHOD = METHOD;
package/src/enums.d.ts CHANGED
@@ -1,3 +1,10 @@
1
+ export const ADDRESS_TYPE = {
2
+ CONTACT: 'contact',
3
+ NEIGHBOURING: 'neighbouring',
4
+ ORGANISATION: 'organisation',
5
+ SITE: 'site',
6
+ } as const;
7
+
1
8
  export const APPEAL_HAS_CASE_DECISION_OUTCOME = {
2
9
  ALLOWED: 'allowed',
3
10
  DISMISSED: 'dismissed',
@@ -5,12 +12,6 @@ export const APPEAL_HAS_CASE_DECISION_OUTCOME = {
5
12
  SPLIT_DECISION: 'split_decision',
6
13
  } as const;
7
14
 
8
- export const APPEAL_HAS_CASE_PROCEDURE = {
9
- HEARING: 'hearing',
10
- INQUIRY: 'inquiry',
11
- WRITTEN: 'written',
12
- } as const;
13
-
14
15
  export const APPEAL_HAS_CASE_STATUS = {
15
16
  ASSIGN_CASE_OFFICER: 'assign_case_officer',
16
17
  AWAITING_EVENT: 'awaiting_event',
@@ -441,12 +442,136 @@ export const APPEAL_VIRUS_CHECK_STATUS = {
441
442
  SCANNED: 'scanned',
442
443
  } as const;
443
444
 
445
+ export const APPLICATION_STAGE = {
446
+ ACCEPTED: 'Accepted',
447
+ CONSULTATION: 'Consultation',
448
+ FINAL_DECISION: 'Final decision',
449
+ HEARING_INQUIRY_DATE_SET: 'Hearing/Inquiry date set',
450
+ INQUIRY: 'Inquiry',
451
+ PROCEDURE_CHOICE: 'Procedure choice',
452
+ WRITTEN_REPRESENTATIONS: 'Written representations',
453
+ } as const;
454
+
455
+ export const APPLICATION_STATUS = {
456
+ ACCEPTED: 'Accepted',
457
+ APPLICATION_ON_HOLD_AWAITING_FURTHER_INFORMATION: 'Application on hold awaiting further information',
458
+ CLOSED_INVALID: 'Closed - invalid',
459
+ CLOSED_OPENED_IN_ERROR: 'Closed - opened in error',
460
+ CONSULTATION_PERIOD_OPEN: 'Consultation period open',
461
+ DECIDED: 'Decided',
462
+ DECISION_AWAITED: 'Decision awaited',
463
+ DECLINED_TO_DETERMINE: 'Declined to determine',
464
+ HEARING_INQUIRY_DATE_SET: 'Hearing/Inquiry date set',
465
+ INVALID: 'Invalid',
466
+ NEW: 'New',
467
+ REPORT_AWAITED: 'Report awaited',
468
+ REPORT_SENT_TO_DECISION_BRANCH: 'Report sent to Decision Branch',
469
+ WITHDRAWN: 'Withdrawn',
470
+ } as const;
471
+
444
472
  export const APPLICATION_UPDATE_STATUS = {
445
473
  DRAFT: 'Draft',
446
474
  PUBLISHED: 'Published',
447
475
  UNPUBLISHED: 'Unpublished',
448
476
  } as const;
449
477
 
478
+ export const APPLICATION_CATEGORY = {
479
+ BUILDINGS_LESS_THAN_1000_SQUARE_METRES: 'Buildings less than 1000 square metres',
480
+ BUILDINGS_OVER_1000_SQUARE_METRES: 'Buildings over 1000 square metres',
481
+ CHANGE_OF_USE: 'Change of use',
482
+ DEVELOPMENT_OF_A_SITE_ABOVE_1_HECTARE: 'Development of a site above 1 hectare',
483
+ DEVELOPMENT_OF_A_SITE_LESS_THAN_1_HECTARE: 'Development of a site less than 1 hectare',
484
+ DWELLINGS_NUMBERING_10_OR_MORE: 'Dwellings numbering 10 or more',
485
+ DWELLINGS_NUMBERING_BETWEEN_1_AND_9: 'Dwellings numbering between 1 and 9',
486
+ DWELLINGS_OF_0_5_HECTARE_OR_MORE: 'Dwellings of 0.5 hectare or more',
487
+ DWELLINGS_OF_LESS_THAN_0_5_HECTARE: 'Dwellings of less than 0.5 hectare',
488
+ LISTED_BUILDING_CONSENT_TO_ALTER_EXTEND: 'Listed building consent to alter/extend',
489
+ LISTED_BUILDING_CONSENT_TO_DEMOLISH: 'Listed building consent to demolish',
490
+ MAJOR_DEVELOPMENT: 'Major Development',
491
+ MINERALS: 'Minerals',
492
+ NON_MAJOR_DEVELOPMENT: 'Non-Major Development',
493
+ OTHER: 'Other',
494
+ RELEVANT_DEMOLITION: 'Relevant demolition',
495
+ WASTE: 'Waste',
496
+ } as const;
497
+
498
+ export const APPLICATION_DECISION_OUTCOME = {
499
+ APPROVED: 'Approved',
500
+ APPROVED_WITH_CONDITIONS: 'Approved with conditions',
501
+ REFUSED: 'Refused',
502
+ WITHDRAWN: 'Withdrawn',
503
+ } as const;
504
+
505
+ export const APPLICATION_EIA_SCREENING_OUTCOME = {
506
+ NOT_REQUIRED: 'not required',
507
+ REQUIRED: 'required',
508
+ } as const;
509
+
510
+ export const APPLICATION_EMAIL_STATUS = {
511
+ DELIVERED: 'Delivered',
512
+ PERMANENT_FAILURE: 'Permanent failure',
513
+ SENDING: 'Sending',
514
+ TECHNICAL_FAILURE: 'Technical failure',
515
+ TEMPORARY_FAILURE: 'Temporary failure',
516
+ } as const;
517
+
518
+ export const APPLICATION_PROCEDURE = {
519
+ HEARING: 'Hearing',
520
+ INQUIRY: 'Inquiry',
521
+ WRITTEN_REPRESENTATIONS: 'Written Representations',
522
+ } as const;
523
+
524
+ export const APPLICATION_REPRESENTATION_STATUS = {
525
+ ACCEPTED: 'Accepted',
526
+ AWAITING_REVIEW: 'Awaiting review',
527
+ REJECTED: 'Rejected',
528
+ WITHDRAWN: 'Withdrawn',
529
+ } as const;
530
+
531
+ export const APPLICATION_REPRESENTED_CATEGORY = {
532
+ CONSULTEES: 'Consultees',
533
+ INTERESTED_PARTY: 'Interested party',
534
+ } as const;
535
+
536
+ export const APPLICATION_REPRESENTED_TYPE = {
537
+ A_PERSON: 'A person',
538
+ AN_ORGANISATION_OR_CHARITY_I_DO_NOT_WORK_OR_VOLUNTEER_FOR: 'An organisation or charity I do not work or volunteer for',
539
+ AN_ORGANISATION_OR_CHARITY_I_WORK_OR_VOLUNTEER_FOR: 'An organisation or charity I work or volunteer for',
540
+ } as const;
541
+
542
+ export const APPLICATION_SUB_TYPE = {
543
+ LISTED_BUILDING_CONSENT_LBC: 'Listed building consent (LBC)',
544
+ PLANNING_PERMISSION: 'Planning permission',
545
+ } as const;
546
+
547
+ export const APPLICATION_SUBMITTED_FOR = {
548
+ MYSELF: 'Myself',
549
+ ON_BEHALF_OF_ANOTHER_PERSON_OR_AN_ORGANISATION: 'On behalf of another person or an organisation',
550
+ } as const;
551
+
552
+ export const APPLICATION_SUBMITTED_RECEIVED_METHOD = {
553
+ EMAIL: 'Email',
554
+ IN_PERSON: 'In person',
555
+ ONLINE: 'Online',
556
+ PHONE: 'Phone',
557
+ POST: 'Post',
558
+ } as const;
559
+
560
+ export const APPLICATION_TYPE = {
561
+ APPROVAL_OF_RESERVED_MATTERS_FOLLOWING_OUTLINE_APPROVAL: 'Approval of reserved matters following outline approval',
562
+ OUTLINE_PLANNING_PERMISSION_WITH_ALL_MATTERS_RESERVED: 'Outline planning permission with all matters reserved',
563
+ OUTLINE_PLANNING_PERMISSION_WITH_SOME_MATTERS_RESERVED: 'Outline planning permission with some matters reserved',
564
+ PLANNING_PERMISSION: 'Planning permission',
565
+ PLANNING_PERMISSION_AND_LISTED_BUILDING_CONSENT_LBC_FOR_ALTERATIONS_EXTENSION_OR_DEMOLITION_OF_A_LISTED_BUILDING: 'Planning permission and listed building consent (LBC) for alterations, extension or demolition of a listed building',
566
+ } as const;
567
+
568
+ export const APPLICATION_WITHDRAWAL_REASON = {
569
+ CHANGE_OF_OPINION: 'Change of opinion',
570
+ MISTAKEN_SUBMISSION: 'Mistaken Submission',
571
+ MISUNDERSTANDING: 'Misunderstanding',
572
+ PERSONAL_REASONS: 'Personal Reasons',
573
+ } as const;
574
+
450
575
  export const CASE_STAGE = {
451
576
  0: '0',
452
577
  ACCEPTANCE: 'acceptance',