From c460bfe684260b1bdda53adab49eb55d7be8182c Mon Sep 17 00:00:00 2001 From: Jessica McInchak Date: Thu, 25 Jan 2024 13:36:54 +0100 Subject: [PATCH 1/3] extend app types enum based on googlesheet --- types/enums/ApplicationTypes.ts | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/types/enums/ApplicationTypes.ts b/types/enums/ApplicationTypes.ts index c8403145..b83f197a 100644 --- a/types/enums/ApplicationTypes.ts +++ b/types/enums/ApplicationTypes.ts @@ -2,6 +2,10 @@ * Values of `data.application.type` */ export const ApplicationTypes = { + advertConsent: 'Consent to display an advertisement', + hazardousSubstanceConsent: + 'Consent to move and dispose of hazardous substances', + hedgerowRemovalNotice: 'Notice to remove a hedge', ldc: 'Lawful Development Certificate', 'ldc.proposed': 'Lawful Development Certificate - Proposed use', 'ldc.existing': 'Lawful Development Certificate - Existing use', @@ -9,6 +13,9 @@ export const ApplicationTypes = { 'Lawful Development Certificate - Continue an existing use', 'ldc.condition': 'Lawful Development Certificate - Lawful not to comply with a condition or limitation', + listed: 'Consent to do works to a Listed Building', + nonMaterialAmendment: + 'Consent to make small changes to a project with Planning Permission', pa: 'Prior Approval', 'pa.part1.classA': 'Prior Approval - Larger extension to a house', 'pa.part1.classAA': 'Prior Approval - Adding storeys to a house', @@ -20,6 +27,8 @@ export const ApplicationTypes = { 'Prior Approval - Convert a commercial building into a home or homes', 'pa.part3.classN': 'Prior Approval - Convert a casino or amusement arcade into a home or homes', + 'pa.part3.classPA': + 'Prior Approval - Convert a light industrial building into a home', 'pa.part3.classQ': 'Prior Approval - Convert an agricultural building into a home', 'pa.part3.classR': @@ -30,6 +39,8 @@ export const ApplicationTypes = { 'Prior Approval - Convert a commercial building to a school', 'pa.part4.classBB': 'Prior Approval - Put up a temporary structure', 'pa.part4.classE': 'Prior Approval - Use a building or land to shoot a film', + 'pa.part6': + 'Prior Approval - Alter or add new buildings to agricultural or forestry sites', 'pa.part6.classA': 'Prior Approval - Build new agricultural buildings on a unit of 5 hectares or more', 'pa.part6.classB': @@ -53,10 +64,34 @@ export const ApplicationTypes = { 'pa.part20.classAD': 'Prior Approval - Build homes on detached houses', 'pa.part20.classZA': 'Prior Approval - Demolish buildings and build homes in their place', + pip: 'Permission in Principle - Consent for the principle of a broad project about less than 1,000 square metres floor area on a site less than 1 hectare', + 'pip.technicalDetails': 'Permission in Principle - Provide technical details', pp: 'Planning Permission', + 'pp.full': + 'Planning Permission for development, including all householder, minor, and major applications', + 'pp.full.advertConsent': + 'Full Planning Permission and consent to display an advert', + 'pp.full.demolition': + 'Full Planning Permission including demolition in a Conservation Area', 'pp.full.householder': 'Planning Permission - Full householder', + 'pp.full.householder.listed': + 'Planning Permission - Full householder with consent to do works to a Listed Building', 'pp.full.householder.retro': 'Planning Permission - Full householder retrospective', 'pp.full.major': 'Planning Permission - Major application', 'pp.full.minor': 'Planning Permission - Minor application', + 'pp.full.minor.listed': + 'Planning Permission - Minor application and consent to do works to a Listed Building', + 'pp.mineralExtraction': + 'Planning Permission - Consent to extract minerals and related development, such as temporary buildings and roads', + 'pp.onshoreExtractionOilAndGas': + 'Planning Permission - Consent to extract oil and gas', + 'pp.outline.allReserved': + 'Planning Permission - Consent for the principle of a project witholding all details', + 'pp.outline.reservedMatters': + 'Planning Permission - Approval of reserved matters', + 'pp.outline.someReserved': + 'Planning Permission - Consent for the principle of a project specifying some details', + treeWorksConsent: + 'Consent to carry out works to a tree in a Conservation Area or with a Tree Preservation Order', }; From 1136ca6d97e5c43c718766f12dd4b5643a78909b Mon Sep 17 00:00:00 2001 From: Jessica McInchak Date: Mon, 29 Jan 2024 15:45:56 +0100 Subject: [PATCH 2/3] tidy wording --- types/enums/ApplicationTypes.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/types/enums/ApplicationTypes.ts b/types/enums/ApplicationTypes.ts index b83f197a..9be05ade 100644 --- a/types/enums/ApplicationTypes.ts +++ b/types/enums/ApplicationTypes.ts @@ -64,8 +64,9 @@ export const ApplicationTypes = { 'pa.part20.classAD': 'Prior Approval - Build homes on detached houses', 'pa.part20.classZA': 'Prior Approval - Demolish buildings and build homes in their place', - pip: 'Permission in Principle - Consent for the principle of a broad project about less than 1,000 square metres floor area on a site less than 1 hectare', - 'pip.technicalDetails': 'Permission in Principle - Provide technical details', + pip: 'Permission in Principle - Consent for the principle of a project with less than 1,000 square metres floor area on a site of less than 1 hectare', + 'pip.technicalDetails': + 'Permission in Principle - Approval of technical details', pp: 'Planning Permission', 'pp.full': 'Planning Permission for development, including all householder, minor, and major applications', @@ -86,12 +87,13 @@ export const ApplicationTypes = { 'Planning Permission - Consent to extract minerals and related development, such as temporary buildings and roads', 'pp.onshoreExtractionOilAndGas': 'Planning Permission - Consent to extract oil and gas', + 'pp.outline': 'Planning permission - Outline for proposed development', 'pp.outline.allReserved': - 'Planning Permission - Consent for the principle of a project witholding all details', + 'Outline Planning Permission - Consent for the principle of a project witholding all details', 'pp.outline.reservedMatters': - 'Planning Permission - Approval of reserved matters', + 'Outline Planning Permission - Approval of reserved matters', 'pp.outline.someReserved': - 'Planning Permission - Consent for the principle of a project specifying some details', + 'Outline Planning Permission - Consent for the principle of a project specifying some details', treeWorksConsent: 'Consent to carry out works to a tree in a Conservation Area or with a Tree Preservation Order', }; From 84329e928fae579c035daa0d7039f80c0ef954f0 Mon Sep 17 00:00:00 2001 From: Jessica McInchak Date: Mon, 29 Jan 2024 16:04:44 +0100 Subject: [PATCH 3/3] generate schema.json too --- schema/schema.json | 667 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 638 insertions(+), 29 deletions(-) diff --git a/schema/schema.json b/schema/schema.json index ec4c2190..f910edb4 100644 --- a/schema/schema.json +++ b/schema/schema.json @@ -333,6 +333,60 @@ "ApplicationType": { "$id": "#ApplicationType", "anyOf": [ + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Consent to display an advertisement", + "type": "string" + }, + "value": { + "const": "advertConsent", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Consent to move and dispose of hazardous substances", + "type": "string" + }, + "value": { + "const": "hazardousSubstanceConsent", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Notice to remove a hedge", + "type": "string" + }, + "value": { + "const": "hedgerowRemovalNotice", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, { "additionalProperties": false, "properties": { @@ -423,6 +477,42 @@ ], "type": "object" }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Consent to do works to a Listed Building", + "type": "string" + }, + "value": { + "const": "listed", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Consent to make small changes to a project with Planning Permission", + "type": "string" + }, + "value": { + "const": "nonMaterialAmendment", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, { "additionalProperties": false, "properties": { @@ -549,6 +639,24 @@ ], "type": "object" }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Convert a light industrial building into a home", + "type": "string" + }, + "value": { + "const": "pa.part3.classPA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, { "additionalProperties": false, "properties": { @@ -657,6 +765,24 @@ ], "type": "object" }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Alter or add new buildings to agricultural or forestry sites", + "type": "string" + }, + "value": { + "const": "pa.part6", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, { "additionalProperties": false, "properties": { @@ -755,7 +881,259 @@ "type": "string" }, "value": { - "const": "pa.part11.classB", + "const": "pa.part11.classB", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Install or change solar panels", + "type": "string" + }, + "value": { + "const": "pa.part14.classJ", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Install telecommunications equipment", + "type": "string" + }, + "value": { + "const": "pa.part16.classA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Specific Acts of Parliament or Local Orders", + "type": "string" + }, + "value": { + "const": "pa.part18.classA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Build homes on a detached blocks of flats", + "type": "string" + }, + "value": { + "const": "pa.part20.classA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Build homes on a detached commercial building", + "type": "string" + }, + "value": { + "const": "pa.part20.classAA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Build homes on an adjoining commercial or mixed use building", + "type": "string" + }, + "value": { + "const": "pa.part20.classAB", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Build homes on adjoining houses", + "type": "string" + }, + "value": { + "const": "pa.part20.classAC", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Build homes on detached houses", + "type": "string" + }, + "value": { + "const": "pa.part20.classAD", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Demolish buildings and build homes in their place", + "type": "string" + }, + "value": { + "const": "pa.part20.classZA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Permission in Principle - Consent for the principle of a project with less than 1,000 square metres floor area on a site of less than 1 hectare", + "type": "string" + }, + "value": { + "const": "pip", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Permission in Principle - Approval of technical details", + "type": "string" + }, + "value": { + "const": "pip.technicalDetails", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Planning Permission", + "type": "string" + }, + "value": { + "const": "pp", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Planning Permission for development, including all householder, minor, and major applications", + "type": "string" + }, + "value": { + "const": "pp.full", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Full Planning Permission and consent to display an advert", + "type": "string" + }, + "value": { + "const": "pp.full.advertConsent", "type": "string" } }, @@ -769,11 +1147,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Prior Approval - Install or change solar panels", + "const": "Full Planning Permission including demolition in a Conservation Area", "type": "string" }, "value": { - "const": "pa.part14.classJ", + "const": "pp.full.demolition", "type": "string" } }, @@ -787,11 +1165,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Prior Approval - Install telecommunications equipment", + "const": "Planning Permission - Full householder", "type": "string" }, "value": { - "const": "pa.part16.classA", + "const": "pp.full.householder", "type": "string" } }, @@ -805,11 +1183,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Prior Approval - Specific Acts of Parliament or Local Orders", + "const": "Planning Permission - Full householder with consent to do works to a Listed Building", "type": "string" }, "value": { - "const": "pa.part18.classA", + "const": "pp.full.householder.listed", "type": "string" } }, @@ -823,11 +1201,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Prior Approval - Build homes on a detached blocks of flats", + "const": "Planning Permission - Full householder retrospective", "type": "string" }, "value": { - "const": "pa.part20.classA", + "const": "pp.full.householder.retro", "type": "string" } }, @@ -841,11 +1219,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Prior Approval - Build homes on a detached commercial building", + "const": "Planning Permission - Major application", "type": "string" }, "value": { - "const": "pa.part20.classAA", + "const": "pp.full.major", "type": "string" } }, @@ -859,11 +1237,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Prior Approval - Build homes on an adjoining commercial or mixed use building", + "const": "Planning Permission - Minor application", "type": "string" }, "value": { - "const": "pa.part20.classAB", + "const": "pp.full.minor", "type": "string" } }, @@ -877,11 +1255,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Prior Approval - Build homes on adjoining houses", + "const": "Planning Permission - Minor application and consent to do works to a Listed Building", "type": "string" }, "value": { - "const": "pa.part20.classAC", + "const": "pp.full.minor.listed", "type": "string" } }, @@ -895,11 +1273,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Prior Approval - Build homes on detached houses", + "const": "Planning Permission - Consent to extract minerals and related development, such as temporary buildings and roads", "type": "string" }, "value": { - "const": "pa.part20.classAD", + "const": "pp.mineralExtraction", "type": "string" } }, @@ -913,11 +1291,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Prior Approval - Demolish buildings and build homes in their place", + "const": "Planning Permission - Consent to extract oil and gas", "type": "string" }, "value": { - "const": "pa.part20.classZA", + "const": "pp.onshoreExtractionOilAndGas", "type": "string" } }, @@ -931,11 +1309,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Planning Permission", + "const": "Planning permission - Outline for proposed development", "type": "string" }, "value": { - "const": "pp", + "const": "pp.outline", "type": "string" } }, @@ -949,11 +1327,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Planning Permission - Full householder", + "const": "Outline Planning Permission - Consent for the principle of a project witholding all details", "type": "string" }, "value": { - "const": "pp.full.householder", + "const": "pp.outline.allReserved", "type": "string" } }, @@ -967,11 +1345,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Planning Permission - Full householder retrospective", + "const": "Outline Planning Permission - Approval of reserved matters", "type": "string" }, "value": { - "const": "pp.full.householder.retro", + "const": "pp.outline.reservedMatters", "type": "string" } }, @@ -985,11 +1363,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Planning Permission - Major application", + "const": "Outline Planning Permission - Consent for the principle of a project specifying some details", "type": "string" }, "value": { - "const": "pp.full.major", + "const": "pp.outline.someReserved", "type": "string" } }, @@ -1003,11 +1381,11 @@ "additionalProperties": false, "properties": { "description": { - "const": "Planning Permission - Minor application", + "const": "Consent to carry out works to a tree in a Conservation Area or with a Tree Preservation Order", "type": "string" }, "value": { - "const": "pp.full.minor", + "const": "treeWorksConsent", "type": "string" } }, @@ -3356,6 +3734,29 @@ ], "type": "object" }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Brownfield site", + "type": "string" + }, + "intersects": { + "const": false, + "type": "boolean" + }, + "value": { + "const": "brownfieldSite", + "type": "string" + } + }, + "required": [ + "description", + "intersects", + "value" + ], + "type": "object" + }, { "additionalProperties": false, "properties": { @@ -3425,6 +3826,29 @@ ], "type": "object" }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Green Belt", + "type": "string" + }, + "intersects": { + "const": false, + "type": "boolean" + }, + "value": { + "const": "designated.greenBelt", + "type": "string" + } + }, + "required": [ + "description", + "intersects", + "value" + ], + "type": "object" + }, { "additionalProperties": false, "properties": { @@ -3701,6 +4125,29 @@ ], "type": "object" }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Ramsar site", + "type": "string" + }, + "intersects": { + "const": false, + "type": "boolean" + }, + "value": { + "const": "nature.ramsarSite", + "type": "string" + } + }, + "required": [ + "description", + "intersects", + "value" + ], + "type": "object" + }, { "additionalProperties": false, "properties": { @@ -3929,6 +4376,60 @@ ], "type": "object" }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Brownfield site", + "type": "string" + }, + "entities": { + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "source": { + "$ref": "#/definitions/URL" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "type": "array" + }, + { + "maxItems": 0, + "minItems": 0, + "type": "array" + } + ] + }, + "intersects": { + "const": true, + "type": "boolean" + }, + "value": { + "const": "brownfieldSite", + "type": "string" + } + }, + "required": [ + "description", + "entities", + "intersects", + "value" + ], + "type": "object" + }, { "additionalProperties": false, "properties": { @@ -4091,6 +4592,60 @@ ], "type": "object" }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Green Belt", + "type": "string" + }, + "entities": { + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "source": { + "$ref": "#/definitions/URL" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "type": "array" + }, + { + "maxItems": 0, + "minItems": 0, + "type": "array" + } + ] + }, + "intersects": { + "const": true, + "type": "boolean" + }, + "value": { + "const": "designated.greenBelt", + "type": "string" + } + }, + "required": [ + "description", + "entities", + "intersects", + "value" + ], + "type": "object" + }, { "additionalProperties": false, "properties": { @@ -4739,6 +5294,60 @@ ], "type": "object" }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Ramsar site", + "type": "string" + }, + "entities": { + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "source": { + "$ref": "#/definitions/URL" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "type": "array" + }, + { + "maxItems": 0, + "minItems": 0, + "type": "array" + } + ] + }, + "intersects": { + "const": true, + "type": "boolean" + }, + "value": { + "const": "nature.ramsarSite", + "type": "string" + } + }, + "required": [ + "description", + "entities", + "intersects", + "value" + ], + "type": "object" + }, { "additionalProperties": false, "properties": {