@planning-inspectorate/data-model 1.16.1 → 1.18.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/docs/README.md +2 -2
- package/docs/appeal-has.md +764 -86
- package/docs/appeal-s78.md +55 -133
- package/package.json +1 -1
- package/pins_data_model/models/model_appeal_has.py +647 -8
- package/pins_data_model/models/model_appeal_s78.py +604 -10
- package/schemas/appeal-has.schema.json +161 -9
- package/schemas/appeal-s78.schema.json +81 -125
- package/schemas/commands/appeal-advert.submission.schema.json +23 -0
- package/schemas/commands/appeal-common-submission.schema.json +30 -8
- package/schemas/commands/appeal-has-submission.schema.json +0 -1
- package/schemas/commands/appeal-s78-submission.schema.json +0 -1
- package/schemas/commands/appellant-submission.schema.json +17 -6
- package/schemas/commands/lpa-questionnaire-has.schema.json +0 -1
- package/schemas/commands/lpa-questionnaire-s78.schema.json +0 -1
- package/schemas/commands/lpa-questionnaire.schema.json +14 -12
- package/src/lib/gen-docs.js +4 -2
- package/src/schemas.d.ts +284 -533
- package/tests/appeals/appeal-has.test.js +243 -0
- package/tests/appeals/appeal-s78.test.js +227 -0
- package/tests/appeals/commands/adverts-questionnaire.test.js +92 -0
- package/tests/appeals/commands/adverts-submission.test.js +188 -0
- package/tests/appeals/commands/has-questionnaire.test.js +3 -3
- package/tests/appeals/commands/has-submission.test.js +62 -1
- package/tests/appeals/commands/s78-questionnaire.test.js +8 -1
- package/tests/appeals/commands/s78-submission.test.js +60 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "appeal-s78.schema.json",
|
|
4
4
|
"title": "Appeal S78 Case",
|
|
5
|
-
"description": "Schema defining the metadata for an appeal
|
|
5
|
+
"description": "Group B - Schema defining the metadata for an appeal",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": true,
|
|
8
8
|
"required": [
|
|
@@ -51,11 +51,6 @@
|
|
|
51
51
|
"applicationDecision",
|
|
52
52
|
"applicationDecisionDate",
|
|
53
53
|
"caseSubmissionDueDate",
|
|
54
|
-
"siteAddressLine1",
|
|
55
|
-
"siteAddressLine2",
|
|
56
|
-
"siteAddressTown",
|
|
57
|
-
"siteAddressCounty",
|
|
58
|
-
"siteAddressPostcode",
|
|
59
54
|
"siteAccessDetails",
|
|
60
55
|
"siteSafetyDetails",
|
|
61
56
|
"siteAreaSquareMetres",
|
|
@@ -133,12 +128,27 @@
|
|
|
133
128
|
"statementDueDate",
|
|
134
129
|
"reasonForNeighbourVisits",
|
|
135
130
|
"numberOfResidencesNetChange",
|
|
136
|
-
"siteGridReferenceEasting",
|
|
137
|
-
"siteGridReferenceNorthing",
|
|
138
131
|
"siteViewableFromRoad",
|
|
139
132
|
"siteWithinSSSI",
|
|
140
133
|
"typeOfPlanningApplication"
|
|
141
134
|
],
|
|
135
|
+
"anyOf": [
|
|
136
|
+
{
|
|
137
|
+
"required": ["siteGridReferenceEasting", "siteGridReferenceNorthing"],
|
|
138
|
+
"properties": {
|
|
139
|
+
"siteGridReferenceEasting": { "not": { "type": "null" } },
|
|
140
|
+
"siteGridReferenceNorthing": { "not": { "type": "null" } }
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"required": ["siteAddressLine1", "siteAddressTown", "siteAddressPostcode"],
|
|
145
|
+
"properties": {
|
|
146
|
+
"siteAddressLine1": { "not": { "type": "null" } },
|
|
147
|
+
"siteAddressTown": { "not": { "type": "null" } },
|
|
148
|
+
"siteAddressPostcode": { "not": { "type": "null" } }
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
],
|
|
142
152
|
"properties": {
|
|
143
153
|
"caseId": {
|
|
144
154
|
"type": ["integer", "null"],
|
|
@@ -470,7 +480,7 @@
|
|
|
470
480
|
"$comment": "Also available on HAS cases"
|
|
471
481
|
},
|
|
472
482
|
"siteAddressLine1": {
|
|
473
|
-
"type": "string",
|
|
483
|
+
"type": ["string", "null"],
|
|
474
484
|
"examples": ["96 The Avenue"],
|
|
475
485
|
"description": "First line of address for the appeal site",
|
|
476
486
|
"$comment": "Also available on HAS cases"
|
|
@@ -481,7 +491,7 @@
|
|
|
481
491
|
"$comment": "Also available on HAS cases"
|
|
482
492
|
},
|
|
483
493
|
"siteAddressTown": {
|
|
484
|
-
"type": "string",
|
|
494
|
+
"type": ["string", "null"],
|
|
485
495
|
"examples": ["Maidstone"],
|
|
486
496
|
"description": "Town / City of the site address",
|
|
487
497
|
"$comment": "Also available on HAS cases"
|
|
@@ -493,7 +503,7 @@
|
|
|
493
503
|
"$comment": "Also available on HAS cases"
|
|
494
504
|
},
|
|
495
505
|
"siteAddressPostcode": {
|
|
496
|
-
"type": "string",
|
|
506
|
+
"type": ["string", "null"],
|
|
497
507
|
"examples": ["MD21 5XY"],
|
|
498
508
|
"description": "Postal code of the site address",
|
|
499
509
|
"$comment": "Also available on HAS cases"
|
|
@@ -683,8 +693,7 @@
|
|
|
683
693
|
"type": "string",
|
|
684
694
|
"examples": ["10023", "17824"]
|
|
685
695
|
},
|
|
686
|
-
"description": "A list of changed listed building IDs from Historic England"
|
|
687
|
-
"$comment": "Only available in S78 cases"
|
|
696
|
+
"description": "A list of changed listed building IDs from Historic England"
|
|
688
697
|
},
|
|
689
698
|
"preserveGrantLoan": {
|
|
690
699
|
"type": ["boolean", "null"],
|
|
@@ -708,64 +717,52 @@
|
|
|
708
717
|
},
|
|
709
718
|
"agriculturalHolding": {
|
|
710
719
|
"type": ["boolean", "null"],
|
|
711
|
-
"description": "Indicates if the site is an agricultural holding"
|
|
712
|
-
"$comment": "Only available in S78 cases"
|
|
720
|
+
"description": "Indicates if the site is an agricultural holding"
|
|
713
721
|
},
|
|
714
722
|
"tenantAgriculturalHolding": {
|
|
715
723
|
"type": ["boolean", "null"],
|
|
716
|
-
"description": "Indicates if the site is a tenant agricultural holding"
|
|
717
|
-
"$comment": "Only available in S78 cases"
|
|
724
|
+
"description": "Indicates if the site is a tenant agricultural holding"
|
|
718
725
|
},
|
|
719
726
|
"otherTenantsAgriculturalHolding": {
|
|
720
727
|
"type": ["boolean", "null"],
|
|
721
|
-
"description": "Indicates if the site is an agricultural holding with other tenants"
|
|
722
|
-
"$comment": "Only available in S78 cases"
|
|
728
|
+
"description": "Indicates if the site is an agricultural holding with other tenants"
|
|
723
729
|
},
|
|
724
730
|
"informedTenantsAgriculturalHolding": {
|
|
725
731
|
"type": ["boolean", "null"],
|
|
726
|
-
"description": "If the site is an agricultural holding, indicates tenants are informed"
|
|
727
|
-
"$comment": "Only available in S78 cases"
|
|
732
|
+
"description": "If the site is an agricultural holding, indicates tenants are informed"
|
|
728
733
|
},
|
|
729
734
|
"appellantProcedurePreference": {
|
|
730
735
|
"type": ["string", "null"],
|
|
731
736
|
"enum": ["written", "hearing", "inquiry", null],
|
|
732
|
-
"description": "The procedure preference indicated by the appellant"
|
|
733
|
-
"$comment": "Only available in S78 cases"
|
|
737
|
+
"description": "The procedure preference indicated by the appellant"
|
|
734
738
|
},
|
|
735
739
|
"appellantProcedurePreferenceDetails": {
|
|
736
740
|
"type": ["string", "null"],
|
|
737
|
-
"description": "The procedure details preference indicated by the appellant"
|
|
738
|
-
"$comment": "Only available in S78 cases"
|
|
741
|
+
"description": "The procedure details preference indicated by the appellant"
|
|
739
742
|
},
|
|
740
743
|
"appellantProcedurePreferenceDuration": {
|
|
741
744
|
"type": ["number", "null"],
|
|
742
|
-
"description": "The duration of the procedure indicated by the appellant"
|
|
743
|
-
"$comment": "Only available in S78 cases"
|
|
745
|
+
"description": "The duration of the procedure indicated by the appellant"
|
|
744
746
|
},
|
|
745
747
|
"appellantProcedurePreferenceWitnessCount": {
|
|
746
748
|
"type": ["number", "null"],
|
|
747
|
-
"description": "The number of witnesses appellant has suggested for inquiries preference"
|
|
748
|
-
"$comment": "Only available in S78 cases"
|
|
749
|
+
"description": "The number of witnesses appellant has suggested for inquiries preference"
|
|
749
750
|
},
|
|
750
751
|
"statusPlanningObligation": {
|
|
751
752
|
"type": ["string", "null"],
|
|
752
|
-
"description": "The planning obligation information, if available"
|
|
753
|
-
"$comment": "Only available in S78 cases"
|
|
753
|
+
"description": "The planning obligation information, if available"
|
|
754
754
|
},
|
|
755
755
|
"affectsScheduledMonument": {
|
|
756
756
|
"type": ["boolean", "null"],
|
|
757
|
-
"description": "Indicates that a scheduled monument is affected"
|
|
758
|
-
"$comment": "Only available in S78 cases"
|
|
757
|
+
"description": "Indicates that a scheduled monument is affected"
|
|
759
758
|
},
|
|
760
759
|
"hasProtectedSpecies": {
|
|
761
760
|
"type": ["boolean", "null"],
|
|
762
|
-
"description": "Indicates the existence of protected species"
|
|
763
|
-
"$comment": "Only available in S78 cases"
|
|
761
|
+
"description": "Indicates the existence of protected species"
|
|
764
762
|
},
|
|
765
763
|
"isAonbNationalLandscape": {
|
|
766
764
|
"type": ["boolean", "null"],
|
|
767
|
-
"description": "Indicates an area of outstanding beauty (National Landscape)"
|
|
768
|
-
"$comment": "Only available in S78 cases"
|
|
765
|
+
"description": "Indicates an area of outstanding beauty (National Landscape)"
|
|
769
766
|
},
|
|
770
767
|
"designatedSitesNames": {
|
|
771
768
|
"type": ["array", "null"],
|
|
@@ -773,24 +770,20 @@
|
|
|
773
770
|
"type": "string",
|
|
774
771
|
"examples": ["SSSI", "cSAC", "SAC", "pSPA", "SPA", "user entered value"]
|
|
775
772
|
},
|
|
776
|
-
"description": "The designated site names"
|
|
777
|
-
"$comment": "Only available in S78 cases"
|
|
773
|
+
"description": "The designated site names"
|
|
778
774
|
},
|
|
779
775
|
"isGypsyOrTravellerSite": {
|
|
780
776
|
"type": ["boolean", "null"],
|
|
781
|
-
"description": "Indicates a traveller site"
|
|
782
|
-
"$comment": "Only available in S78 cases"
|
|
777
|
+
"description": "Indicates a traveller site"
|
|
783
778
|
},
|
|
784
779
|
"isPublicRightOfWay": {
|
|
785
780
|
"type": ["boolean", "null"],
|
|
786
|
-
"description": "Indicates a PROW (public right of way)"
|
|
787
|
-
"$comment": "Only available in S78 cases"
|
|
781
|
+
"description": "Indicates a PROW (public right of way)"
|
|
788
782
|
},
|
|
789
783
|
"eiaEnvironmentalImpactSchedule": {
|
|
790
784
|
"type": ["string", "null"],
|
|
791
785
|
"enum": ["schedule-1", "schedule-2", null],
|
|
792
|
-
"description": "The impact schedule from EIA"
|
|
793
|
-
"$comment": "Only available in S78 cases"
|
|
786
|
+
"description": "The impact schedule from EIA"
|
|
794
787
|
},
|
|
795
788
|
"eiaDevelopmentDescription": {
|
|
796
789
|
"type": ["string", "null"],
|
|
@@ -810,38 +803,31 @@
|
|
|
810
803
|
"tourism-leisure",
|
|
811
804
|
null
|
|
812
805
|
],
|
|
813
|
-
"description": "The development description from EIA"
|
|
814
|
-
"$comment": "Only available in S78 cases"
|
|
806
|
+
"description": "The development description from EIA"
|
|
815
807
|
},
|
|
816
808
|
"eiaSensitiveAreaDetails": {
|
|
817
809
|
"type": ["string", "null"],
|
|
818
|
-
"description": "The sensitive area details from EIA"
|
|
819
|
-
"$comment": "Only available in S78 cases"
|
|
810
|
+
"description": "The sensitive area details from EIA"
|
|
820
811
|
},
|
|
821
812
|
"eiaColumnTwoThreshold": {
|
|
822
813
|
"type": ["boolean", "null"],
|
|
823
|
-
"description": "EIA specific threshold"
|
|
824
|
-
"$comment": "Only available in S78 cases"
|
|
814
|
+
"description": "EIA specific threshold"
|
|
825
815
|
},
|
|
826
816
|
"eiaScreeningOpinion": {
|
|
827
817
|
"type": ["boolean", "null"],
|
|
828
|
-
"description": "EIA screening opinion"
|
|
829
|
-
"$comment": "Only available in S78 cases"
|
|
818
|
+
"description": "EIA screening opinion"
|
|
830
819
|
},
|
|
831
820
|
"eiaRequiresEnvironmentalStatement": {
|
|
832
821
|
"type": ["boolean", "null"],
|
|
833
|
-
"description": "EIA environmental statement required"
|
|
834
|
-
"$comment": "Only available in S78 cases"
|
|
822
|
+
"description": "EIA environmental statement required"
|
|
835
823
|
},
|
|
836
824
|
"eiaCompletedEnvironmentalStatement": {
|
|
837
825
|
"type": ["boolean", "null"],
|
|
838
|
-
"description": "EIA completed environmental statement required"
|
|
839
|
-
"$comment": "Only available in S78 cases"
|
|
826
|
+
"description": "EIA completed environmental statement required"
|
|
840
827
|
},
|
|
841
828
|
"hasStatutoryConsultees": {
|
|
842
829
|
"type": ["boolean", "null"],
|
|
843
|
-
"description": "Indicates statutory consultees"
|
|
844
|
-
"$comment": "Only available in S78 cases"
|
|
830
|
+
"description": "Indicates statutory consultees"
|
|
845
831
|
},
|
|
846
832
|
"consultedBodiesDetails": {
|
|
847
833
|
"type": ["string", "null"],
|
|
@@ -849,177 +835,149 @@
|
|
|
849
835
|
},
|
|
850
836
|
"hasInfrastructureLevy": {
|
|
851
837
|
"type": ["boolean", "null"],
|
|
852
|
-
"description": "Indicates the existence of an infrastructure levy"
|
|
853
|
-
"$comment": "Only available in S78 cases"
|
|
838
|
+
"description": "Indicates the existence of an infrastructure levy"
|
|
854
839
|
},
|
|
855
840
|
"isInfrastructureLevyFormallyAdopted": {
|
|
856
841
|
"type": ["boolean", "null"],
|
|
857
|
-
"description": "Indicates if the infrastructure levy is formally adopted"
|
|
858
|
-
"$comment": "Only available in S78 cases"
|
|
842
|
+
"description": "Indicates if the infrastructure levy is formally adopted"
|
|
859
843
|
},
|
|
860
844
|
"infrastructureLevyAdoptedDate": {
|
|
861
845
|
"type": ["string", "null"],
|
|
862
846
|
"format": "date-time",
|
|
863
847
|
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
864
|
-
"description": "The date of the infrastructure levy adoption"
|
|
865
|
-
"$comment": "Only available in S78 cases"
|
|
848
|
+
"description": "The date of the infrastructure levy adoption"
|
|
866
849
|
},
|
|
867
850
|
"infrastructureLevyExpectedDate": {
|
|
868
851
|
"type": ["string", "null"],
|
|
869
852
|
"format": "date-time",
|
|
870
853
|
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
871
|
-
"description": "The expected date of the infrastructure levy"
|
|
872
|
-
"$comment": "Only available in S78 cases"
|
|
854
|
+
"description": "The expected date of the infrastructure levy"
|
|
873
855
|
},
|
|
874
856
|
"lpaProcedurePreference": {
|
|
875
857
|
"type": ["string", "null"],
|
|
876
858
|
"enum": ["written", "hearing", "inquiry", null],
|
|
877
|
-
"description": "The procedure preference indicated by the LPA"
|
|
878
|
-
"$comment": "Only available in S78 cases"
|
|
859
|
+
"description": "The procedure preference indicated by the LPA"
|
|
879
860
|
},
|
|
880
861
|
"lpaProcedurePreferenceDetails": {
|
|
881
862
|
"type": ["string", "null"],
|
|
882
|
-
"description": "The procedure details preference indicated by the LPA"
|
|
883
|
-
"$comment": "Only available in S78 cases"
|
|
863
|
+
"description": "The procedure details preference indicated by the LPA"
|
|
884
864
|
},
|
|
885
865
|
"lpaProcedurePreferenceDuration": {
|
|
886
866
|
"type": ["number", "null"],
|
|
887
|
-
"description": "The duration of enquiry indicated by the LPA"
|
|
888
|
-
"$comment": "Only available in S78 cases"
|
|
867
|
+
"description": "The duration of enquiry indicated by the LPA"
|
|
889
868
|
},
|
|
890
869
|
"caseworkReason": {
|
|
891
|
-
"type": ["string", "null"]
|
|
892
|
-
"$comment": "Only available in S78 cases"
|
|
870
|
+
"type": ["string", "null"]
|
|
893
871
|
},
|
|
894
872
|
"importantInformation": {
|
|
895
|
-
"type": ["string", "null"]
|
|
896
|
-
"$comment": "Only available in S78 cases"
|
|
873
|
+
"type": ["string", "null"]
|
|
897
874
|
},
|
|
898
875
|
"jurisdiction": {
|
|
899
|
-
"type": ["string", "null"]
|
|
900
|
-
"$comment": "Only available in S78 cases"
|
|
876
|
+
"type": ["string", "null"]
|
|
901
877
|
},
|
|
902
878
|
"redeterminedIndicator": {
|
|
903
|
-
"type": ["string", "null"]
|
|
904
|
-
"$comment": "Only available in S78 cases"
|
|
879
|
+
"type": ["string", "null"]
|
|
905
880
|
},
|
|
906
881
|
"dateCostsReportDespatched": {
|
|
907
882
|
"type": ["string", "null"],
|
|
908
883
|
"format": "date-time",
|
|
909
884
|
"examples": ["2023-07-27T20:30:00.000Z"],
|
|
910
|
-
"description": "The date of the cost report"
|
|
911
|
-
"$comment": "Only available in S78 cases"
|
|
885
|
+
"description": "The date of the cost report"
|
|
912
886
|
},
|
|
913
887
|
"dateNotRecoveredOrDerecovered": {
|
|
914
888
|
"type": ["string", "null"],
|
|
915
889
|
"format": "date-time",
|
|
916
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
917
|
-
"$comment": "Only available in S78 cases"
|
|
890
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
918
891
|
},
|
|
919
892
|
"dateRecovered": {
|
|
920
893
|
"type": ["string", "null"],
|
|
921
894
|
"format": "date-time",
|
|
922
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
923
|
-
"$comment": "Only available in S78 cases"
|
|
895
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
924
896
|
},
|
|
925
897
|
"originalCaseDecisionDate": {
|
|
926
898
|
"type": ["string", "null"],
|
|
927
899
|
"format": "date-time",
|
|
928
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
929
|
-
"$comment": "Only available in S78 cases"
|
|
900
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
930
901
|
},
|
|
931
902
|
"targetDate": {
|
|
932
903
|
"type": ["string", "null"],
|
|
933
904
|
"format": "date-time",
|
|
934
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
935
|
-
"$comment": "Only available in S78 cases"
|
|
905
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
936
906
|
},
|
|
937
907
|
"appellantCommentsSubmittedDate": {
|
|
938
908
|
"type": ["string", "null"],
|
|
939
909
|
"format": "date-time",
|
|
940
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
941
|
-
"$comment": "Only available in S78 cases"
|
|
910
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
942
911
|
},
|
|
943
912
|
"appellantStatementSubmittedDate": {
|
|
944
913
|
"type": ["string", "null"],
|
|
945
914
|
"format": "date-time",
|
|
946
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
947
|
-
"$comment": "Only available in S78 cases"
|
|
915
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
948
916
|
},
|
|
949
917
|
"appellantProofsSubmittedDate": {
|
|
950
918
|
"type": ["string", "null"],
|
|
951
919
|
"format": "date-time",
|
|
952
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
953
|
-
"$comment": "Only available in S78 cases"
|
|
920
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
954
921
|
},
|
|
955
922
|
"finalCommentsDueDate": {
|
|
956
923
|
"type": ["string", "null"],
|
|
957
924
|
"format": "date-time",
|
|
958
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
959
|
-
"$comment": "Only available in S78 cases"
|
|
925
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
960
926
|
},
|
|
961
927
|
"interestedPartyRepsDueDate": {
|
|
962
928
|
"type": ["string", "null"],
|
|
963
929
|
"format": "date-time",
|
|
964
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
965
|
-
"$comment": "Only available in S78 cases"
|
|
930
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
966
931
|
},
|
|
967
932
|
"lpaCommentsSubmittedDate": {
|
|
968
933
|
"type": ["string", "null"],
|
|
969
934
|
"format": "date-time",
|
|
970
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
971
|
-
"$comment": "Only available in S78 cases"
|
|
935
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
972
936
|
},
|
|
973
937
|
"lpaProofsSubmittedDate": {
|
|
974
938
|
"type": ["string", "null"],
|
|
975
939
|
"format": "date-time",
|
|
976
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
977
|
-
"$comment": "Only available in S78 cases"
|
|
940
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
978
941
|
},
|
|
979
942
|
"lpaStatementSubmittedDate": {
|
|
980
943
|
"type": ["string", "null"],
|
|
981
944
|
"format": "date-time",
|
|
982
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
983
|
-
"$comment": "Only available in S78 cases"
|
|
945
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
984
946
|
},
|
|
985
947
|
"proofsOfEvidenceDueDate": {
|
|
986
948
|
"type": ["string", "null"],
|
|
987
949
|
"format": "date-time",
|
|
988
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
989
|
-
"$comment": "Only available in S78 cases"
|
|
950
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
990
951
|
},
|
|
991
952
|
"siteNoticesSentDate": {
|
|
992
953
|
"type": ["string", "null"],
|
|
993
954
|
"format": "date-time",
|
|
994
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
995
|
-
"$comment": "Only available in S78 cases"
|
|
955
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
996
956
|
},
|
|
997
957
|
"statementDueDate": {
|
|
998
958
|
"type": ["string", "null"],
|
|
999
959
|
"format": "date-time",
|
|
1000
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1001
|
-
"$comment": "Only available in S78 cases"
|
|
960
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1002
961
|
},
|
|
1003
962
|
"numberOfResidencesNetChange": {
|
|
1004
963
|
"type": ["number", "null"],
|
|
1005
|
-
"description": "The net gain in residences of the proposed development"
|
|
1006
|
-
"$comment": "Only available in S78 cases"
|
|
964
|
+
"description": "The net gain in residences of the proposed development"
|
|
1007
965
|
},
|
|
1008
966
|
"siteGridReferenceEasting": {
|
|
1009
967
|
"type": ["string", "null"],
|
|
1010
|
-
"
|
|
968
|
+
"pattern": "^\\d{6}$",
|
|
969
|
+
"examples": ["357144"]
|
|
1011
970
|
},
|
|
1012
971
|
"siteGridReferenceNorthing": {
|
|
1013
972
|
"type": ["string", "null"],
|
|
1014
|
-
"
|
|
973
|
+
"pattern": "^\\d{6}$",
|
|
974
|
+
"examples": ["400534"]
|
|
1015
975
|
},
|
|
1016
976
|
"siteViewableFromRoad": {
|
|
1017
|
-
"type": ["boolean", "null"]
|
|
1018
|
-
"$comment": "Only available in S78 cases"
|
|
977
|
+
"type": ["boolean", "null"]
|
|
1019
978
|
},
|
|
1020
979
|
"siteWithinSSSI": {
|
|
1021
|
-
"type": ["boolean", "null"]
|
|
1022
|
-
"$comment": "Only available in S78 cases"
|
|
980
|
+
"type": ["boolean", "null"]
|
|
1023
981
|
},
|
|
1024
982
|
"typeOfPlanningApplication": {
|
|
1025
983
|
"type": ["string", "null"],
|
|
@@ -1060,14 +1018,12 @@
|
|
|
1060
1018
|
"statementOfCommonGroundDueDate": {
|
|
1061
1019
|
"type": ["string", "null"],
|
|
1062
1020
|
"format": "date-time",
|
|
1063
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1064
|
-
"$comment": "Only available in S78 cases"
|
|
1021
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1065
1022
|
},
|
|
1066
1023
|
"planningObligationDueDate": {
|
|
1067
1024
|
"type": ["string", "null"],
|
|
1068
1025
|
"format": "date-time",
|
|
1069
|
-
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1070
|
-
"$comment": "Only available in S78 cases"
|
|
1026
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
1071
1027
|
}
|
|
1072
1028
|
}
|
|
1073
1029
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "commands/appeal-advert.submission.schema.json",
|
|
4
|
+
"title": "Advert specific properties",
|
|
5
|
+
"description": "Schema defining any properties for advertisement appeals",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": ["isSiteOnHighwayLand", "isAdvertInPosition", "hasLandownersPermission"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"hasLandownersPermission": {
|
|
11
|
+
"type": ["boolean", "null"],
|
|
12
|
+
"description": "Indicates if the appellant has land owners permission"
|
|
13
|
+
},
|
|
14
|
+
"isAdvertInPosition": {
|
|
15
|
+
"type": ["boolean", "null"],
|
|
16
|
+
"description": "Indicates if the advert is already in position"
|
|
17
|
+
},
|
|
18
|
+
"isSiteOnHighwayLand": {
|
|
19
|
+
"type": ["boolean", "null"],
|
|
20
|
+
"description": "Indicates if site is on highway land"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -16,16 +16,28 @@
|
|
|
16
16
|
"applicationDecision",
|
|
17
17
|
"applicationDecisionDate",
|
|
18
18
|
"caseSubmissionDueDate",
|
|
19
|
-
"siteAddressLine1",
|
|
20
|
-
"siteAddressLine2",
|
|
21
|
-
"siteAddressTown",
|
|
22
|
-
"siteAddressCounty",
|
|
23
|
-
"siteAddressPostcode",
|
|
24
19
|
"siteAccessDetails",
|
|
25
20
|
"siteSafetyDetails",
|
|
26
21
|
"neighbouringSiteAddresses",
|
|
27
22
|
"nearbyCaseReferences"
|
|
28
23
|
],
|
|
24
|
+
"anyOf": [
|
|
25
|
+
{
|
|
26
|
+
"required": ["siteGridReferenceEasting", "siteGridReferenceNorthing"],
|
|
27
|
+
"properties": {
|
|
28
|
+
"siteGridReferenceEasting": { "not": { "type": "null" } },
|
|
29
|
+
"siteGridReferenceNorthing": { "not": { "type": "null" } }
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"required": ["siteAddressLine1", "siteAddressTown", "siteAddressPostcode"],
|
|
34
|
+
"properties": {
|
|
35
|
+
"siteAddressLine1": { "not": { "type": "null" } },
|
|
36
|
+
"siteAddressTown": { "not": { "type": "null" } },
|
|
37
|
+
"siteAddressPostcode": { "not": { "type": "null" } }
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
],
|
|
29
41
|
"properties": {
|
|
30
42
|
"submissionId": {
|
|
31
43
|
"type": "string",
|
|
@@ -84,7 +96,7 @@
|
|
|
84
96
|
"$comment": "Calculated from the applicationDecisionDate"
|
|
85
97
|
},
|
|
86
98
|
"siteAddressLine1": {
|
|
87
|
-
"type": "string",
|
|
99
|
+
"type": ["string", "null"],
|
|
88
100
|
"examples": ["96 The Avenue"],
|
|
89
101
|
"description": "First line of address for the appeal site"
|
|
90
102
|
},
|
|
@@ -93,7 +105,7 @@
|
|
|
93
105
|
"description": "Second line of address for the appeal site"
|
|
94
106
|
},
|
|
95
107
|
"siteAddressTown": {
|
|
96
|
-
"type": "string",
|
|
108
|
+
"type": ["string", "null"],
|
|
97
109
|
"examples": ["Maidstone"],
|
|
98
110
|
"description": "Town / City of the site address"
|
|
99
111
|
},
|
|
@@ -103,10 +115,20 @@
|
|
|
103
115
|
"description": "County of the site address"
|
|
104
116
|
},
|
|
105
117
|
"siteAddressPostcode": {
|
|
106
|
-
"type": "string",
|
|
118
|
+
"type": ["string", "null"],
|
|
107
119
|
"examples": ["MD21 5XY"],
|
|
108
120
|
"description": "Postal code of the site address"
|
|
109
121
|
},
|
|
122
|
+
"siteGridReferenceEasting": {
|
|
123
|
+
"type": ["string", "null"],
|
|
124
|
+
"pattern": "^\\d{6}$",
|
|
125
|
+
"examples": ["357144"]
|
|
126
|
+
},
|
|
127
|
+
"siteGridReferenceNorthing": {
|
|
128
|
+
"type": ["string", "null"],
|
|
129
|
+
"pattern": "^\\d{6}$",
|
|
130
|
+
"examples": ["400534"]
|
|
131
|
+
},
|
|
110
132
|
"siteAccessDetails": {
|
|
111
133
|
"type": ["array", "null"],
|
|
112
134
|
"items": {
|
|
@@ -14,19 +14,30 @@
|
|
|
14
14
|
"required": ["caseType"],
|
|
15
15
|
"oneOf": [
|
|
16
16
|
{
|
|
17
|
-
"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
17
|
+
"$comment": "Householder + CAS Planning",
|
|
20
18
|
"allOf": [
|
|
21
|
-
{ "properties": { "caseType": { "
|
|
19
|
+
{ "properties": { "caseType": { "enum": ["D", "ZP"] } } },
|
|
20
|
+
{ "$ref": "appeal-common-submission.schema.json" },
|
|
22
21
|
{ "$ref": "appeal-has-submission.schema.json" }
|
|
23
22
|
]
|
|
24
23
|
},
|
|
25
24
|
{
|
|
26
|
-
"
|
|
25
|
+
"$comment": "S78 + S20",
|
|
26
|
+
"allOf": [
|
|
27
|
+
{ "properties": { "caseType": { "enum": ["W", "Y"] } } },
|
|
28
|
+
{ "$ref": "appeal-common-submission.schema.json" },
|
|
29
|
+
{ "$ref": "appeal-has-submission.schema.json" },
|
|
30
|
+
{ "$ref": "appeal-s78-submission.schema.json" }
|
|
31
|
+
]
|
|
27
32
|
},
|
|
28
33
|
{
|
|
29
|
-
"
|
|
34
|
+
"$comment": "Adverts + CAS Adverts",
|
|
35
|
+
"allOf": [
|
|
36
|
+
{ "properties": { "caseType": { "enum": ["H", "ZA"] } } },
|
|
37
|
+
{ "$ref": "appeal-common-submission.schema.json" },
|
|
38
|
+
{ "$ref": "appeal-has-submission.schema.json" },
|
|
39
|
+
{ "$ref": "appeal-advert.submission.schema.json" }
|
|
40
|
+
]
|
|
30
41
|
}
|
|
31
42
|
]
|
|
32
43
|
},
|