@planning-inspectorate/data-model 2.3.0 → 2.4.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.
- package/.azure/ci.yml +9 -0
- package/docs/README.md +2 -0
- package/docs/appeal-s78.md +873 -154
- package/package.json +1 -1
- package/pins_data_model/models/model_appeal_has.py +1 -1
- package/pins_data_model/models/model_appeal_s78.py +228 -1
- package/schemas/appeal-s78.schema.json +159 -2
- package/src/enums.cjs +10 -0
- package/src/enums.d.ts +9 -0
- package/src/enums.js +9 -0
- package/src/index.cjs +10 -0
- package/src/schemas.d.ts +95 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: appeal-s78.schema.json
|
|
3
|
-
# timestamp: 2025-12-
|
|
3
|
+
# timestamp: 2025-12-09T15:01:57+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -134,6 +134,10 @@ class CaseDecisionOutcome(Enum):
|
|
|
134
134
|
split_decision = "split_decision"
|
|
135
135
|
dismissed = "dismissed"
|
|
136
136
|
invalid = "invalid"
|
|
137
|
+
notice_upheld = "notice_upheld"
|
|
138
|
+
planning_permission_granted = "planning_permission_granted"
|
|
139
|
+
quashed_on_legal_grounds = "quashed_on_legal_grounds"
|
|
140
|
+
notice_varied_and_upheld = "notice_varied_and_upheld"
|
|
137
141
|
NoneType_None = None
|
|
138
142
|
|
|
139
143
|
|
|
@@ -330,6 +334,41 @@ class AdvertDetail(BaseModel):
|
|
|
330
334
|
"""
|
|
331
335
|
|
|
332
336
|
|
|
337
|
+
class AppealGroundLetter(Enum):
|
|
338
|
+
a = "a"
|
|
339
|
+
b = "b"
|
|
340
|
+
c = "c"
|
|
341
|
+
d = "d"
|
|
342
|
+
e = "e"
|
|
343
|
+
f = "f"
|
|
344
|
+
g = "g"
|
|
345
|
+
NoneType_None = None
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
class EnforcementAppealGroundsDetail(BaseModel):
|
|
349
|
+
model_config = ConfigDict(
|
|
350
|
+
extra="allow",
|
|
351
|
+
)
|
|
352
|
+
appealGroundLetter: AppealGroundLetter | None = None
|
|
353
|
+
groundForAppealStartDate: AwareDatetime | None = Field(
|
|
354
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
355
|
+
)
|
|
356
|
+
groundFacts: str | None = None
|
|
357
|
+
"""
|
|
358
|
+
Facts supporting the appeal ground
|
|
359
|
+
"""
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
class ApplicationPartOrWholeDevelopment(Enum):
|
|
363
|
+
"""
|
|
364
|
+
Did the application relate to all or part of the development
|
|
365
|
+
"""
|
|
366
|
+
|
|
367
|
+
all_of_the_development = "all-of-the-development"
|
|
368
|
+
part_of_the_development = "part-of-the-development"
|
|
369
|
+
NoneType_None = None
|
|
370
|
+
|
|
371
|
+
|
|
333
372
|
class AppealS78Case1(BaseModel):
|
|
334
373
|
"""
|
|
335
374
|
Group B - Schema defining the metadata for an appeal
|
|
@@ -846,6 +885,9 @@ class AppealS78Case1(BaseModel):
|
|
|
846
885
|
appellantCommentsSubmittedDate: AwareDatetime | None = Field(
|
|
847
886
|
..., examples=["2023-07-27T20:30:00.000Z"]
|
|
848
887
|
)
|
|
888
|
+
appellantStatementDueDate: AwareDatetime | None = Field(
|
|
889
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
890
|
+
)
|
|
849
891
|
appellantStatementSubmittedDate: AwareDatetime | None = Field(
|
|
850
892
|
..., examples=["2023-07-27T20:30:00.000Z"]
|
|
851
893
|
)
|
|
@@ -920,6 +962,90 @@ class AppealS78Case1(BaseModel):
|
|
|
920
962
|
"""
|
|
921
963
|
padsSapId for PADS inspectors
|
|
922
964
|
"""
|
|
965
|
+
ownerOccupancyStatus: str | None = Field(
|
|
966
|
+
None, examples=["Owner", "Tenant", "Mortgage lender"]
|
|
967
|
+
)
|
|
968
|
+
"""
|
|
969
|
+
The nature of the appellant's interest in the appeal site
|
|
970
|
+
"""
|
|
971
|
+
occupancyConditionsMet: bool | None = None
|
|
972
|
+
"""
|
|
973
|
+
Does the appellant meet the criteria in relation to their interest in the site
|
|
974
|
+
"""
|
|
975
|
+
enforcementAppealGroundsDetails: list[EnforcementAppealGroundsDetail] | None = None
|
|
976
|
+
"""
|
|
977
|
+
A list of grounds for the appeal, supporting facts & start dates. Enforcement cases (C) can have grounds (a) to (g)
|
|
978
|
+
"""
|
|
979
|
+
applicationMadeAndFeePaid: bool | None = None
|
|
980
|
+
"""
|
|
981
|
+
Was an application made and paid for
|
|
982
|
+
"""
|
|
983
|
+
noticeRelatesToBuildingEngineeringMiningOther: bool | None = None
|
|
984
|
+
changeOfUseRefuseOrWaste: bool | None = None
|
|
985
|
+
changeOfUseMineralExtraction: bool | None = None
|
|
986
|
+
changeOfUseMineralStorage: bool | None = None
|
|
987
|
+
relatesToErectionOfBuildingOrBuildings: bool | None = None
|
|
988
|
+
relatesToBuildingWithAgriculturalPurpose: bool | None = None
|
|
989
|
+
relatesToBuildingSingleDwellingHouse: bool | None = None
|
|
990
|
+
previousPlanningPermissionGranted: bool | None = None
|
|
991
|
+
"""
|
|
992
|
+
Was planning permission granted in relation to a prior application
|
|
993
|
+
"""
|
|
994
|
+
issueDateOfEnforcementNotice: AwareDatetime | None = Field(
|
|
995
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
996
|
+
)
|
|
997
|
+
"""
|
|
998
|
+
The date on which an enforcement notice was issued
|
|
999
|
+
"""
|
|
1000
|
+
effectiveDateOfEnforcementNotice: AwareDatetime | None = Field(
|
|
1001
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
1002
|
+
)
|
|
1003
|
+
"""
|
|
1004
|
+
The effective date of an enforcement notice
|
|
1005
|
+
"""
|
|
1006
|
+
didAppellantAppealLpaDecision: bool | None = None
|
|
1007
|
+
"""
|
|
1008
|
+
Did the appellant appeal the decision made
|
|
1009
|
+
"""
|
|
1010
|
+
dateLpaDecisionDue: AwareDatetime | None = Field(
|
|
1011
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
1012
|
+
)
|
|
1013
|
+
"""
|
|
1014
|
+
Date on which LPA decision in relation to application is due
|
|
1015
|
+
"""
|
|
1016
|
+
dateLpaDecisionReceived: AwareDatetime | None = Field(
|
|
1017
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
1018
|
+
)
|
|
1019
|
+
"""
|
|
1020
|
+
Date on which LPA decision in relation to application was received
|
|
1021
|
+
"""
|
|
1022
|
+
areaOfAllegedBreachInSquareMetres: float | None = Field(None, examples=[3.5])
|
|
1023
|
+
doesAllegedBreachCreateFloorSpace: bool | None = None
|
|
1024
|
+
floorSpaceCreatedByBreachInSquareMetres: float | None = Field(None, examples=[5.3])
|
|
1025
|
+
applicationPartOrWholeDevelopment: ApplicationPartOrWholeDevelopment | None = None
|
|
1026
|
+
"""
|
|
1027
|
+
Did the application relate to all or part of the development
|
|
1028
|
+
"""
|
|
1029
|
+
hasPcnBeenServed: bool | None = None
|
|
1030
|
+
isSiteWithin67MOfTrunkRd: bool | None = None
|
|
1031
|
+
affectedTrunkRoadName: str | None = None
|
|
1032
|
+
"""
|
|
1033
|
+
Name of trunk road within 67M of site
|
|
1034
|
+
"""
|
|
1035
|
+
isSiteOnCrownLand: bool | None = None
|
|
1036
|
+
stopNoticeExists: bool | None = None
|
|
1037
|
+
isSiteWithin400MOfMineralInterest: bool | None = None
|
|
1038
|
+
isSiteWithin250MOfLandfill: bool | None = None
|
|
1039
|
+
hasDevelopmentInvolvedWasteImportation: bool | None = None
|
|
1040
|
+
isSiteSubjectToArticle4Direction: bool | None = None
|
|
1041
|
+
article4AffectedDevelopmentRights: str | None = None
|
|
1042
|
+
"""
|
|
1043
|
+
What permitted development rights are affected by the Article 4 Direction
|
|
1044
|
+
"""
|
|
1045
|
+
pcnRestrictedDevelopmentRights: bool | None = None
|
|
1046
|
+
"""
|
|
1047
|
+
Have any development rights been restricted by means of a planning condition?
|
|
1048
|
+
"""
|
|
923
1049
|
|
|
924
1050
|
|
|
925
1051
|
class AdvertDetail1(BaseModel):
|
|
@@ -937,6 +1063,20 @@ class AdvertDetail1(BaseModel):
|
|
|
937
1063
|
"""
|
|
938
1064
|
|
|
939
1065
|
|
|
1066
|
+
class EnforcementAppealGroundsDetail1(BaseModel):
|
|
1067
|
+
model_config = ConfigDict(
|
|
1068
|
+
extra="allow",
|
|
1069
|
+
)
|
|
1070
|
+
appealGroundLetter: AppealGroundLetter | None = None
|
|
1071
|
+
groundForAppealStartDate: AwareDatetime | None = Field(
|
|
1072
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
1073
|
+
)
|
|
1074
|
+
groundFacts: str | None = None
|
|
1075
|
+
"""
|
|
1076
|
+
Facts supporting the appeal ground
|
|
1077
|
+
"""
|
|
1078
|
+
|
|
1079
|
+
|
|
940
1080
|
class AppealS78Case2(BaseModel):
|
|
941
1081
|
"""
|
|
942
1082
|
Group B - Schema defining the metadata for an appeal
|
|
@@ -1453,6 +1593,9 @@ class AppealS78Case2(BaseModel):
|
|
|
1453
1593
|
appellantCommentsSubmittedDate: AwareDatetime | None = Field(
|
|
1454
1594
|
..., examples=["2023-07-27T20:30:00.000Z"]
|
|
1455
1595
|
)
|
|
1596
|
+
appellantStatementDueDate: AwareDatetime | None = Field(
|
|
1597
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
1598
|
+
)
|
|
1456
1599
|
appellantStatementSubmittedDate: AwareDatetime | None = Field(
|
|
1457
1600
|
..., examples=["2023-07-27T20:30:00.000Z"]
|
|
1458
1601
|
)
|
|
@@ -1527,6 +1670,90 @@ class AppealS78Case2(BaseModel):
|
|
|
1527
1670
|
"""
|
|
1528
1671
|
padsSapId for PADS inspectors
|
|
1529
1672
|
"""
|
|
1673
|
+
ownerOccupancyStatus: str | None = Field(
|
|
1674
|
+
None, examples=["Owner", "Tenant", "Mortgage lender"]
|
|
1675
|
+
)
|
|
1676
|
+
"""
|
|
1677
|
+
The nature of the appellant's interest in the appeal site
|
|
1678
|
+
"""
|
|
1679
|
+
occupancyConditionsMet: bool | None = None
|
|
1680
|
+
"""
|
|
1681
|
+
Does the appellant meet the criteria in relation to their interest in the site
|
|
1682
|
+
"""
|
|
1683
|
+
enforcementAppealGroundsDetails: list[EnforcementAppealGroundsDetail1] | None = None
|
|
1684
|
+
"""
|
|
1685
|
+
A list of grounds for the appeal, supporting facts & start dates. Enforcement cases (C) can have grounds (a) to (g)
|
|
1686
|
+
"""
|
|
1687
|
+
applicationMadeAndFeePaid: bool | None = None
|
|
1688
|
+
"""
|
|
1689
|
+
Was an application made and paid for
|
|
1690
|
+
"""
|
|
1691
|
+
noticeRelatesToBuildingEngineeringMiningOther: bool | None = None
|
|
1692
|
+
changeOfUseRefuseOrWaste: bool | None = None
|
|
1693
|
+
changeOfUseMineralExtraction: bool | None = None
|
|
1694
|
+
changeOfUseMineralStorage: bool | None = None
|
|
1695
|
+
relatesToErectionOfBuildingOrBuildings: bool | None = None
|
|
1696
|
+
relatesToBuildingWithAgriculturalPurpose: bool | None = None
|
|
1697
|
+
relatesToBuildingSingleDwellingHouse: bool | None = None
|
|
1698
|
+
previousPlanningPermissionGranted: bool | None = None
|
|
1699
|
+
"""
|
|
1700
|
+
Was planning permission granted in relation to a prior application
|
|
1701
|
+
"""
|
|
1702
|
+
issueDateOfEnforcementNotice: AwareDatetime | None = Field(
|
|
1703
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
1704
|
+
)
|
|
1705
|
+
"""
|
|
1706
|
+
The date on which an enforcement notice was issued
|
|
1707
|
+
"""
|
|
1708
|
+
effectiveDateOfEnforcementNotice: AwareDatetime | None = Field(
|
|
1709
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
1710
|
+
)
|
|
1711
|
+
"""
|
|
1712
|
+
The effective date of an enforcement notice
|
|
1713
|
+
"""
|
|
1714
|
+
didAppellantAppealLpaDecision: bool | None = None
|
|
1715
|
+
"""
|
|
1716
|
+
Did the appellant appeal the decision made
|
|
1717
|
+
"""
|
|
1718
|
+
dateLpaDecisionDue: AwareDatetime | None = Field(
|
|
1719
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
1720
|
+
)
|
|
1721
|
+
"""
|
|
1722
|
+
Date on which LPA decision in relation to application is due
|
|
1723
|
+
"""
|
|
1724
|
+
dateLpaDecisionReceived: AwareDatetime | None = Field(
|
|
1725
|
+
None, examples=["2023-07-27T20:30:00.000Z"]
|
|
1726
|
+
)
|
|
1727
|
+
"""
|
|
1728
|
+
Date on which LPA decision in relation to application was received
|
|
1729
|
+
"""
|
|
1730
|
+
areaOfAllegedBreachInSquareMetres: float | None = Field(None, examples=[3.5])
|
|
1731
|
+
doesAllegedBreachCreateFloorSpace: bool | None = None
|
|
1732
|
+
floorSpaceCreatedByBreachInSquareMetres: float | None = Field(None, examples=[5.3])
|
|
1733
|
+
applicationPartOrWholeDevelopment: ApplicationPartOrWholeDevelopment | None = None
|
|
1734
|
+
"""
|
|
1735
|
+
Did the application relate to all or part of the development
|
|
1736
|
+
"""
|
|
1737
|
+
hasPcnBeenServed: bool | None = None
|
|
1738
|
+
isSiteWithin67MOfTrunkRd: bool | None = None
|
|
1739
|
+
affectedTrunkRoadName: str | None = None
|
|
1740
|
+
"""
|
|
1741
|
+
Name of trunk road within 67M of site
|
|
1742
|
+
"""
|
|
1743
|
+
isSiteOnCrownLand: bool | None = None
|
|
1744
|
+
stopNoticeExists: bool | None = None
|
|
1745
|
+
isSiteWithin400MOfMineralInterest: bool | None = None
|
|
1746
|
+
isSiteWithin250MOfLandfill: bool | None = None
|
|
1747
|
+
hasDevelopmentInvolvedWasteImportation: bool | None = None
|
|
1748
|
+
isSiteSubjectToArticle4Direction: bool | None = None
|
|
1749
|
+
article4AffectedDevelopmentRights: str | None = None
|
|
1750
|
+
"""
|
|
1751
|
+
What permitted development rights are affected by the Article 4 Direction
|
|
1752
|
+
"""
|
|
1753
|
+
pcnRestrictedDevelopmentRights: bool | None = None
|
|
1754
|
+
"""
|
|
1755
|
+
Have any development rights been restricted by means of a planning condition?
|
|
1756
|
+
"""
|
|
1530
1757
|
|
|
1531
1758
|
|
|
1532
1759
|
class AppealS78Case(RootModel[AppealS78Case1 | AppealS78Case2]):
|
|
@@ -438,9 +438,19 @@
|
|
|
438
438
|
},
|
|
439
439
|
"caseDecisionOutcome": {
|
|
440
440
|
"type": ["string", "null"],
|
|
441
|
-
"enum": [
|
|
441
|
+
"enum": [
|
|
442
|
+
"allowed",
|
|
443
|
+
"split_decision",
|
|
444
|
+
"dismissed",
|
|
445
|
+
"invalid",
|
|
446
|
+
"notice_upheld",
|
|
447
|
+
"planning_permission_granted",
|
|
448
|
+
"quashed_on_legal_grounds",
|
|
449
|
+
"notice_varied_and_upheld",
|
|
450
|
+
null
|
|
451
|
+
],
|
|
442
452
|
"description": "The final outcome for the decision",
|
|
443
|
-
"$comment": "
|
|
453
|
+
"$comment": "List expanded for Enforcement Case Decision Outcomes"
|
|
444
454
|
},
|
|
445
455
|
"caseCompletedDate": {
|
|
446
456
|
"type": ["string", "null"],
|
|
@@ -918,6 +928,11 @@
|
|
|
918
928
|
"format": "date-time",
|
|
919
929
|
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
920
930
|
},
|
|
931
|
+
"appellantStatementDueDate": {
|
|
932
|
+
"type": ["string", "null"],
|
|
933
|
+
"format": "date-time",
|
|
934
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
935
|
+
},
|
|
921
936
|
"appellantStatementSubmittedDate": {
|
|
922
937
|
"type": ["string", "null"],
|
|
923
938
|
"format": "date-time",
|
|
@@ -1092,6 +1107,148 @@
|
|
|
1092
1107
|
"padsSapId": {
|
|
1093
1108
|
"type": ["string", "null"],
|
|
1094
1109
|
"description": "padsSapId for PADS inspectors"
|
|
1110
|
+
},
|
|
1111
|
+
"ownerOccupancyStatus": {
|
|
1112
|
+
"type": ["string", "null"],
|
|
1113
|
+
"description": "The nature of the appellant's interest in the appeal site",
|
|
1114
|
+
"examples": ["Owner", "Tenant", "Mortgage lender"]
|
|
1115
|
+
},
|
|
1116
|
+
"occupancyConditionsMet": {
|
|
1117
|
+
"type": ["boolean", "null"],
|
|
1118
|
+
"description": "Does the appellant meet the criteria in relation to their interest in the site"
|
|
1119
|
+
},
|
|
1120
|
+
"enforcementAppealGroundsDetails": {
|
|
1121
|
+
"type": ["array", "null"],
|
|
1122
|
+
"items": {
|
|
1123
|
+
"type": "object",
|
|
1124
|
+
"additionalProperties": true,
|
|
1125
|
+
"properties": {
|
|
1126
|
+
"appealGroundLetter": {
|
|
1127
|
+
"type": ["string", "null"],
|
|
1128
|
+
"enum": ["a", "b", "c", "d", "e", "f", "g", null]
|
|
1129
|
+
},
|
|
1130
|
+
"groundForAppealStartDate": {
|
|
1131
|
+
"type": ["string", "null"],
|
|
1132
|
+
"format": "date-time",
|
|
1133
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1134
|
+
},
|
|
1135
|
+
"groundFacts": {
|
|
1136
|
+
"type": ["string", "null"],
|
|
1137
|
+
"description": "Facts supporting the appeal ground"
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
},
|
|
1141
|
+
"description": "A list of grounds for the appeal, supporting facts & start dates. Enforcement cases (C) can have grounds (a) to (g)",
|
|
1142
|
+
"$comment": "Enforcement Listed Building cases (F) have a separate list of grounds (a) to (k)"
|
|
1143
|
+
},
|
|
1144
|
+
"applicationMadeAndFeePaid": {
|
|
1145
|
+
"type": ["boolean", "null"],
|
|
1146
|
+
"description": "Was an application made and paid for"
|
|
1147
|
+
},
|
|
1148
|
+
"noticeRelatesToBuildingEngineeringMiningOther": {
|
|
1149
|
+
"type": ["boolean", "null"]
|
|
1150
|
+
},
|
|
1151
|
+
"changeOfUseRefuseOrWaste": {
|
|
1152
|
+
"type": ["boolean", "null"]
|
|
1153
|
+
},
|
|
1154
|
+
"changeOfUseMineralExtraction": {
|
|
1155
|
+
"type": ["boolean", "null"]
|
|
1156
|
+
},
|
|
1157
|
+
"changeOfUseMineralStorage": {
|
|
1158
|
+
"type": ["boolean", "null"]
|
|
1159
|
+
},
|
|
1160
|
+
"relatesToErectionOfBuildingOrBuildings": {
|
|
1161
|
+
"type": ["boolean", "null"]
|
|
1162
|
+
},
|
|
1163
|
+
"relatesToBuildingWithAgriculturalPurpose": {
|
|
1164
|
+
"type": ["boolean", "null"]
|
|
1165
|
+
},
|
|
1166
|
+
"relatesToBuildingSingleDwellingHouse": {
|
|
1167
|
+
"type": ["boolean", "null"]
|
|
1168
|
+
},
|
|
1169
|
+
"previousPlanningPermissionGranted": {
|
|
1170
|
+
"type": ["boolean", "null"],
|
|
1171
|
+
"description": "Was planning permission granted in relation to a prior application"
|
|
1172
|
+
},
|
|
1173
|
+
"issueDateOfEnforcementNotice": {
|
|
1174
|
+
"type": ["string", "null"],
|
|
1175
|
+
"format": "date-time",
|
|
1176
|
+
"description": "The date on which an enforcement notice was issued",
|
|
1177
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1178
|
+
},
|
|
1179
|
+
"effectiveDateOfEnforcementNotice": {
|
|
1180
|
+
"type": ["string", "null"],
|
|
1181
|
+
"format": "date-time",
|
|
1182
|
+
"description": "The effective date of an enforcement notice",
|
|
1183
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1184
|
+
},
|
|
1185
|
+
"didAppellantAppealLpaDecision": {
|
|
1186
|
+
"type": ["boolean", "null"],
|
|
1187
|
+
"description": "Did the appellant appeal the decision made"
|
|
1188
|
+
},
|
|
1189
|
+
"dateLpaDecisionDue": {
|
|
1190
|
+
"type": ["string", "null"],
|
|
1191
|
+
"format": "date-time",
|
|
1192
|
+
"description": "Date on which LPA decision in relation to application is due",
|
|
1193
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1194
|
+
},
|
|
1195
|
+
"dateLpaDecisionReceived": {
|
|
1196
|
+
"type": ["string", "null"],
|
|
1197
|
+
"format": "date-time",
|
|
1198
|
+
"description": "Date on which LPA decision in relation to application was received",
|
|
1199
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1200
|
+
},
|
|
1201
|
+
"areaOfAllegedBreachInSquareMetres": {
|
|
1202
|
+
"type": ["number", "null"],
|
|
1203
|
+
"examples": [3.5]
|
|
1204
|
+
},
|
|
1205
|
+
"doesAllegedBreachCreateFloorSpace": {
|
|
1206
|
+
"type": ["boolean", "null"]
|
|
1207
|
+
},
|
|
1208
|
+
"floorSpaceCreatedByBreachInSquareMetres": {
|
|
1209
|
+
"type": ["number", "null"],
|
|
1210
|
+
"examples": [5.3]
|
|
1211
|
+
},
|
|
1212
|
+
"applicationPartOrWholeDevelopment": {
|
|
1213
|
+
"type": ["string", "null"],
|
|
1214
|
+
"description": "Did the application relate to all or part of the development",
|
|
1215
|
+
"enum": ["all-of-the-development", "part-of-the-development", null]
|
|
1216
|
+
},
|
|
1217
|
+
"hasPcnBeenServed": {
|
|
1218
|
+
"type": ["boolean", "null"]
|
|
1219
|
+
},
|
|
1220
|
+
"isSiteWithin67MOfTrunkRd": {
|
|
1221
|
+
"type": ["boolean", "null"]
|
|
1222
|
+
},
|
|
1223
|
+
"affectedTrunkRoadName": {
|
|
1224
|
+
"type": ["string", "null"],
|
|
1225
|
+
"description": "Name of trunk road within 67M of site"
|
|
1226
|
+
},
|
|
1227
|
+
"isSiteOnCrownLand": {
|
|
1228
|
+
"type": ["boolean", "null"]
|
|
1229
|
+
},
|
|
1230
|
+
"stopNoticeExists": {
|
|
1231
|
+
"type": ["boolean", "null"]
|
|
1232
|
+
},
|
|
1233
|
+
"isSiteWithin400MOfMineralInterest": {
|
|
1234
|
+
"type": ["boolean", "null"]
|
|
1235
|
+
},
|
|
1236
|
+
"isSiteWithin250MOfLandfill": {
|
|
1237
|
+
"type": ["boolean", "null"]
|
|
1238
|
+
},
|
|
1239
|
+
"hasDevelopmentInvolvedWasteImportation": {
|
|
1240
|
+
"type": ["boolean", "null"]
|
|
1241
|
+
},
|
|
1242
|
+
"isSiteSubjectToArticle4Direction": {
|
|
1243
|
+
"type": ["boolean", "null"]
|
|
1244
|
+
},
|
|
1245
|
+
"article4AffectedDevelopmentRights": {
|
|
1246
|
+
"type": ["string", "null"],
|
|
1247
|
+
"description": "What permitted development rights are affected by the Article 4 Direction"
|
|
1248
|
+
},
|
|
1249
|
+
"pcnRestrictedDevelopmentRights": {
|
|
1250
|
+
"type": ["boolean", "null"],
|
|
1251
|
+
"description": "Have any development rights been restricted by means of a planning condition?"
|
|
1095
1252
|
}
|
|
1096
1253
|
}
|
|
1097
1254
|
}
|
package/src/enums.cjs
CHANGED
|
@@ -23,10 +23,19 @@ const APPEAL_APPLICATION_DECISION = Object.freeze({
|
|
|
23
23
|
REFUSED: 'refused',
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
+
const APPEAL_APPLICATION_PART_OR_WHOLE_DEVELOPMENT = Object.freeze({
|
|
27
|
+
ALL_OF_THE_DEVELOPMENT: 'all-of-the-development',
|
|
28
|
+
PART_OF_THE_DEVELOPMENT: 'part-of-the-development',
|
|
29
|
+
});
|
|
30
|
+
|
|
26
31
|
const APPEAL_CASE_DECISION_OUTCOME = Object.freeze({
|
|
27
32
|
ALLOWED: 'allowed',
|
|
28
33
|
DISMISSED: 'dismissed',
|
|
29
34
|
INVALID: 'invalid',
|
|
35
|
+
NOTICE_UPHELD: 'notice_upheld',
|
|
36
|
+
NOTICE_VARIED_AND_UPHELD: 'notice_varied_and_upheld',
|
|
37
|
+
PLANNING_PERMISSION_GRANTED: 'planning_permission_granted',
|
|
38
|
+
QUASHED_ON_LEGAL_GROUNDS: 'quashed_on_legal_grounds',
|
|
30
39
|
SPLIT_DECISION: 'split_decision',
|
|
31
40
|
});
|
|
32
41
|
|
|
@@ -685,6 +694,7 @@ const STATUS = Object.freeze({
|
|
|
685
694
|
exports.APPEAL_ALLOCATION_LEVEL = APPEAL_ALLOCATION_LEVEL;
|
|
686
695
|
exports.APPEAL_APPELLANT_PROCEDURE_PREFERENCE = APPEAL_APPELLANT_PROCEDURE_PREFERENCE;
|
|
687
696
|
exports.APPEAL_APPLICATION_DECISION = APPEAL_APPLICATION_DECISION;
|
|
697
|
+
exports.APPEAL_APPLICATION_PART_OR_WHOLE_DEVELOPMENT = APPEAL_APPLICATION_PART_OR_WHOLE_DEVELOPMENT;
|
|
688
698
|
exports.APPEAL_CASE_DECISION_OUTCOME = APPEAL_CASE_DECISION_OUTCOME;
|
|
689
699
|
exports.APPEAL_CASE_PROCEDURE = APPEAL_CASE_PROCEDURE;
|
|
690
700
|
exports.APPEAL_CASE_STAGE = APPEAL_CASE_STAGE;
|
package/src/enums.d.ts
CHANGED
|
@@ -21,10 +21,19 @@ export const APPEAL_APPLICATION_DECISION = {
|
|
|
21
21
|
REFUSED: 'refused',
|
|
22
22
|
} as const;
|
|
23
23
|
|
|
24
|
+
export const APPEAL_APPLICATION_PART_OR_WHOLE_DEVELOPMENT = {
|
|
25
|
+
ALL_OF_THE_DEVELOPMENT: 'all-of-the-development',
|
|
26
|
+
PART_OF_THE_DEVELOPMENT: 'part-of-the-development',
|
|
27
|
+
} as const;
|
|
28
|
+
|
|
24
29
|
export const APPEAL_CASE_DECISION_OUTCOME = {
|
|
25
30
|
ALLOWED: 'allowed',
|
|
26
31
|
DISMISSED: 'dismissed',
|
|
27
32
|
INVALID: 'invalid',
|
|
33
|
+
NOTICE_UPHELD: 'notice_upheld',
|
|
34
|
+
NOTICE_VARIED_AND_UPHELD: 'notice_varied_and_upheld',
|
|
35
|
+
PLANNING_PERMISSION_GRANTED: 'planning_permission_granted',
|
|
36
|
+
QUASHED_ON_LEGAL_GROUNDS: 'quashed_on_legal_grounds',
|
|
28
37
|
SPLIT_DECISION: 'split_decision',
|
|
29
38
|
} as const;
|
|
30
39
|
|
package/src/enums.js
CHANGED
|
@@ -21,10 +21,19 @@ export const APPEAL_APPLICATION_DECISION = Object.freeze({
|
|
|
21
21
|
REFUSED: 'refused',
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
+
export const APPEAL_APPLICATION_PART_OR_WHOLE_DEVELOPMENT = Object.freeze({
|
|
25
|
+
ALL_OF_THE_DEVELOPMENT: 'all-of-the-development',
|
|
26
|
+
PART_OF_THE_DEVELOPMENT: 'part-of-the-development',
|
|
27
|
+
});
|
|
28
|
+
|
|
24
29
|
export const APPEAL_CASE_DECISION_OUTCOME = Object.freeze({
|
|
25
30
|
ALLOWED: 'allowed',
|
|
26
31
|
DISMISSED: 'dismissed',
|
|
27
32
|
INVALID: 'invalid',
|
|
33
|
+
NOTICE_UPHELD: 'notice_upheld',
|
|
34
|
+
NOTICE_VARIED_AND_UPHELD: 'notice_varied_and_upheld',
|
|
35
|
+
PLANNING_PERMISSION_GRANTED: 'planning_permission_granted',
|
|
36
|
+
QUASHED_ON_LEGAL_GROUNDS: 'quashed_on_legal_grounds',
|
|
28
37
|
SPLIT_DECISION: 'split_decision',
|
|
29
38
|
});
|
|
30
39
|
|
package/src/index.cjs
CHANGED
|
@@ -104,10 +104,19 @@ const APPEAL_APPLICATION_DECISION = Object.freeze({
|
|
|
104
104
|
REFUSED: 'refused',
|
|
105
105
|
});
|
|
106
106
|
|
|
107
|
+
const APPEAL_APPLICATION_PART_OR_WHOLE_DEVELOPMENT = Object.freeze({
|
|
108
|
+
ALL_OF_THE_DEVELOPMENT: 'all-of-the-development',
|
|
109
|
+
PART_OF_THE_DEVELOPMENT: 'part-of-the-development',
|
|
110
|
+
});
|
|
111
|
+
|
|
107
112
|
const APPEAL_CASE_DECISION_OUTCOME = Object.freeze({
|
|
108
113
|
ALLOWED: 'allowed',
|
|
109
114
|
DISMISSED: 'dismissed',
|
|
110
115
|
INVALID: 'invalid',
|
|
116
|
+
NOTICE_UPHELD: 'notice_upheld',
|
|
117
|
+
NOTICE_VARIED_AND_UPHELD: 'notice_varied_and_upheld',
|
|
118
|
+
PLANNING_PERMISSION_GRANTED: 'planning_permission_granted',
|
|
119
|
+
QUASHED_ON_LEGAL_GROUNDS: 'quashed_on_legal_grounds',
|
|
111
120
|
SPLIT_DECISION: 'split_decision',
|
|
112
121
|
});
|
|
113
122
|
|
|
@@ -798,6 +807,7 @@ function loadAllSchemasSync() {
|
|
|
798
807
|
exports.APPEAL_ALLOCATION_LEVEL = APPEAL_ALLOCATION_LEVEL;
|
|
799
808
|
exports.APPEAL_APPELLANT_PROCEDURE_PREFERENCE = APPEAL_APPELLANT_PROCEDURE_PREFERENCE;
|
|
800
809
|
exports.APPEAL_APPLICATION_DECISION = APPEAL_APPLICATION_DECISION;
|
|
810
|
+
exports.APPEAL_APPLICATION_PART_OR_WHOLE_DEVELOPMENT = APPEAL_APPLICATION_PART_OR_WHOLE_DEVELOPMENT;
|
|
801
811
|
exports.APPEAL_CASE_DECISION_OUTCOME = APPEAL_CASE_DECISION_OUTCOME;
|
|
802
812
|
exports.APPEAL_CASE_PROCEDURE = APPEAL_CASE_PROCEDURE;
|
|
803
813
|
exports.APPEAL_CASE_STAGE = APPEAL_CASE_STAGE;
|