From bdd374a01b7e98ab5e0b01f713fa5f4392c5daca Mon Sep 17 00:00:00 2001 From: DafyddLlyr Date: Wed, 20 Sep 2023 09:42:43 +0000 Subject: [PATCH] Add build files for v0.0.3 --- v0.0.3/examples/validExampleAgent.json | 216 + v0.0.3/examples/validExampleApplicant.json | 189 + v0.0.3/schema.json | 12567 +++++++++++++++++++ v0.0.3/types/Schema.ts | 27 + v0.0.3/types/enums/ApplicationTypes.ts | 53 + v0.0.3/types/enums/FileTypes.ts | 41 + v0.0.3/types/enums/Flags.ts | 42 + v0.0.3/types/enums/ProjectTypes.ts | 92 + v0.0.3/types/enums/PropertyTypes.ts | 505 + v0.0.3/types/schema/File.ts | 28 + {types => v0.0.3/types}/schema/Metadata.ts | 0 v0.0.3/types/schema/Responses.ts | 29 + v0.0.3/types/schema/Result.ts | 24 + v0.0.3/types/schema/data/Applicant.ts | 86 + v0.0.3/types/schema/data/Application.ts | 72 + v0.0.3/types/schema/data/Property.ts | 78 + v0.0.3/types/schema/data/Proposal.ts | 34 + v0.0.3/types/schema/data/User.ts | 7 + v0.0.3/types/utils.ts | 25 + 19 files changed, 14115 insertions(+) create mode 100644 v0.0.3/examples/validExampleAgent.json create mode 100644 v0.0.3/examples/validExampleApplicant.json create mode 100644 v0.0.3/schema.json create mode 100644 v0.0.3/types/Schema.ts create mode 100644 v0.0.3/types/enums/ApplicationTypes.ts create mode 100644 v0.0.3/types/enums/FileTypes.ts create mode 100644 v0.0.3/types/enums/Flags.ts create mode 100644 v0.0.3/types/enums/ProjectTypes.ts create mode 100644 v0.0.3/types/enums/PropertyTypes.ts create mode 100644 v0.0.3/types/schema/File.ts rename {types => v0.0.3/types}/schema/Metadata.ts (100%) create mode 100644 v0.0.3/types/schema/Responses.ts create mode 100644 v0.0.3/types/schema/Result.ts create mode 100644 v0.0.3/types/schema/data/Applicant.ts create mode 100644 v0.0.3/types/schema/data/Application.ts create mode 100644 v0.0.3/types/schema/data/Property.ts create mode 100644 v0.0.3/types/schema/data/Proposal.ts create mode 100644 v0.0.3/types/schema/data/User.ts create mode 100644 v0.0.3/types/utils.ts diff --git a/v0.0.3/examples/validExampleAgent.json b/v0.0.3/examples/validExampleAgent.json new file mode 100644 index 00000000..3ee9ce33 --- /dev/null +++ b/v0.0.3/examples/validExampleAgent.json @@ -0,0 +1,216 @@ +{ + "data": { + "user": { + "role": "agent" + }, + "applicant": { + "type": "charity", + "contact": { + "name": { + "first": "Test", + "last": "Test" + }, + "email": "test@test.com", + "phone": { + "primary": "123" + }, + "company": { + "name": "Test Charity Ltd" + } + }, + "address": { + "sameAsSiteAddress": false, + "line1": "123 Test", + "town": "Test", + "postcode": "TES T12" + }, + "agent": { + "contact": { + "name": { + "first": "Agent", + "last": "Agent" + }, + "email": "agent@test.com", + "phone": { + "primary": "123" + } + }, + "address": { + "sameAsSiteAddress": false, + "line1": "456 Test", + "town": "Test", + "postcode": "TES T34" + } + }, + "siteContact": { + "role": "other", + "name": "Neighbor", + "email": "neighbor@test.com", + "phone": "567" + } + }, + "application": { + "type": { + "value": "ldc.proposed", + "description": "Lawful Development Certificate - Proposed" + }, + "fee": { + "calculated": 103, + "payable": 103, + "exemption": { + "disability": false, + "resubmission": false + }, + "reduction": { + "alternative": false, + "parishCouncil": false, + "sports": false + }, + "reference": { + "govPay": "abc123" + } + }, + "declaration": { + "accurate": true, + "connection": "none" + } + }, + "property": { + "address": { + "uprn": "200003453480", + "usrn": "22500531", + "latitude": 51.4859056, + "longitude": -0.0760466, + "pao": "47", + "street": "COBOURG ROAD", + "town": "LONDON", + "postcode": "SE5 0HU", + "x": 533683, + "y": 178083, + "title": "47, COBOURG ROAD, LONDON", + "region": "London", + "localAuthorityDistrict": [ + "Southwark" + ], + "source": "Ordnance Survey" + }, + "type": { + "value": "residential.HMO.parent", + "description": "HMO Parent" + }, + "boundary": { + "site": "GeoJSON TBD", + "area": { + "squareMeters": 10000, + "hectares": 1 + } + }, + "constraints": { + "planning": [ + { + "value": "listed", + "description": "Listed Building", + "intersects": false + }, + { + "value": "designated.conservationArea", + "description": "Conservation Area", + "intersects": true + } + ] + } + }, + "proposal": { + "projectType": [ + { + "value": "alter.equipment.solar", + "description": "Install solar panels" + }, + { + "value": "new.leisure", + "description": "Leisure premises" + } + ], + "description": "This is a test application" + } + }, + "result": [ + { + "value": "Planning permission / Permitted development", + "description": "It looks like the proposed changes may fall within the rules for Permitted Development and therefore would not need planning permission." + }, + { + "value": "Listed building consent / Not required", + "description": "" + } + ], + "metadata": { + "service": { + "publishedFlowId": "b3320abe-f5bc-4185-b61f-40e9e65f07ad", + "name": "Test", + "owner": "Test", + "url": "https://www.planx.uk/" + }, + "session": { + "source": "PlanX", + "id": "b3320abe-f5bc-4185-b61f-40e9e65f07ad", + "createdAt": "2018-11-13T20:20:39+00:00", + "submittedAt": "2018-11-13T20:20:39+00:00" + } + }, + "responses": [ + { + "metadata": { + "sectionName": "The property", + "autoAnswered": true + }, + "question": "Is the property in London Borough of Southwark?", + "responses": [ + { + "value": "Yes" + } + ] + }, + { + "metadata": { + "policyRefs": [ + { + "text": "Town and Country Planning Act 1990, Part 7, Section 191 & Section 192" + } + ], + "sectionName": "About the project" + }, + "question": "What are you applying about?", + "responses": [ + { + "value": "Proposed changes I want to make in the future" + } + ] + } + ], + "files": [ + { + "name": "https://api.editor.planx.uk/file/private/folderId/file1.pdf", + "type": [ + { + "value": "proposal.drawing.roofPlan", + "description": "Roof plan - proposed" + }, + { + "value": "property.drawing.roofPlan", + "description": "Roof plan - existing" + } + ] + }, + { + "name": "https://api.editor.planx.uk/file/private/folderId/file2.pdf", + "description": "Evidence of my project start date", + "type": [ + { + "value": "proposal.document.construction.invoice", + "description": "Construction invoice" + } + ] + } + ] +} \ No newline at end of file diff --git a/v0.0.3/examples/validExampleApplicant.json b/v0.0.3/examples/validExampleApplicant.json new file mode 100644 index 00000000..f903106f --- /dev/null +++ b/v0.0.3/examples/validExampleApplicant.json @@ -0,0 +1,189 @@ +{ + "data": { + "user": { + "role": "applicant" + }, + "applicant": { + "type": "individual", + "contact": { + "name": { + "first": "Test", + "last": "Test" + }, + "email": "test@test.com", + "phone": { + "primary": "123" + } + }, + "address": { + "sameAsSiteAddress": true + }, + "siteContact": { + "role": "applicant" + } + }, + "application": { + "type": { + "value": "ldc.proposed", + "description": "Lawful Development Certificate - Proposed" + }, + "fee": { + "calculated": 103, + "payable": 103, + "exemption": { + "disability": false, + "resubmission": false + }, + "reduction": { + "alternative": false, + "parishCouncil": false, + "sports": false + }, + "reference": { + "govPay": "abc123" + } + }, + "declaration": { + "accurate": true, + "connection": "none" + } + }, + "property": { + "address": { + "uprn": "200003453480", + "usrn": "22500531", + "latitude": 51.4859056, + "longitude": -0.0760466, + "pao": "47", + "street": "COBOURG ROAD", + "town": "LONDON", + "postcode": "SE5 0HU", + "x": 533683, + "y": 178083, + "title": "47, COBOURG ROAD, LONDON", + "region": "London", + "localAuthorityDistrict": [ + "Southwark" + ], + "source": "Ordnance Survey" + }, + "type": { + "value": "residential.HMO.parent", + "description": "HMO Parent" + }, + "boundary": { + "site": "GeoJSON TBD", + "area": { + "squareMeters": 10000, + "hectares": 1 + } + }, + "constraints": { + "planning": [ + { + "value": "listed", + "description": "Listed Building", + "intersects": false + }, + { + "value": "designated.conservationArea", + "description": "Conservation Area", + "intersects": true + } + ] + } + }, + "proposal": { + "projectType": [ + { + "value": "alter.equipment.solar", + "description": "Install solar panels" + }, + { + "value": "new.leisure", + "description": "Leisure premises" + } + ], + "description": "This is a test application" + } + }, + "result": [ + { + "value": "Planning permission / Permitted development", + "description": "It looks like the proposed changes may fall within the rules for Permitted Development and therefore would not need planning permission." + }, + { + "value": "Listed building consent / Not required", + "description": "" + } + ], + "metadata": { + "service": { + "publishedFlowId": "b3320abe-f5bc-4185-b61f-40e9e65f07ad", + "name": "Test", + "owner": "Test", + "url": "https://www.planx.uk/" + }, + "session": { + "source": "PlanX", + "id": "b3320abe-f5bc-4185-b61f-40e9e65f07ad", + "createdAt": "2018-11-13T20:20:39+00:00", + "submittedAt": "2018-11-13T20:20:39+00:00" + } + }, + "responses": [ + { + "metadata": { + "sectionName": "The property", + "autoAnswered": true + }, + "question": "Is the property in London Borough of Southwark?", + "responses": [ + { + "value": "Yes" + } + ] + }, + { + "metadata": { + "policyRefs": [ + { + "text": "Town and Country Planning Act 1990, Part 7, Section 191 & Section 192" + } + ], + "sectionName": "About the project" + }, + "question": "What are you applying about?", + "responses": [ + { + "value": "Proposed changes I want to make in the future" + } + ] + } + ], + "files": [ + { + "name": "https://api.editor.planx.uk/file/private/folderId/file1.pdf", + "type": [ + { + "value": "proposal.drawing.roofPlan", + "description": "Roof plan - proposed" + }, + { + "value": "property.drawing.roofPlan", + "description": "Roof plan - existing" + } + ] + }, + { + "name": "https://api.editor.planx.uk/file/private/folderId/file2.pdf", + "description": "Evidence of my project start date", + "type": [ + { + "value": "proposal.document.construction.invoice", + "description": "Construction invoice" + } + ] + } + ] +} \ No newline at end of file diff --git a/v0.0.3/schema.json b/v0.0.3/schema.json new file mode 100644 index 00000000..6e1fd8cd --- /dev/null +++ b/v0.0.3/schema.json @@ -0,0 +1,12567 @@ +{ + "$id": "v0.0.3", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "definitions": { + "Agent": { + "$id": "#Agent", + "additionalProperties": false, + "description": "Information about the user who completed the application on behalf of someone else", + "properties": { + "address": { + "$ref": "#/definitions/UserAddress" + }, + "agent": { + "additionalProperties": false, + "properties": { + "address": { + "$ref": "#/definitions/UserAddress" + }, + "contact": { + "$ref": "#/definitions/UserContact" + } + }, + "required": [ + "contact", + "address" + ], + "type": "object" + }, + "contact": { + "$ref": "#/definitions/UserContact" + }, + "siteContact": { + "$ref": "#/definitions/SiteContact" + }, + "type": { + "enum": [ + "individual", + "company", + "charity", + "public", + "parishCouncil" + ], + "type": "string" + } + }, + "required": [ + "address", + "agent", + "contact", + "siteContact", + "type" + ], + "type": "object" + }, + "Applicant": { + "$id": "#Applicant", + "anyOf": [ + { + "$ref": "#/definitions/BaseApplicant" + }, + { + "$ref": "#/definitions/Agent" + } + ], + "description": "The user who completed the application either for themself or on behalf of someone else" + }, + "Application": { + "$id": "#Application", + "additionalProperties": false, + "description": "Information about this planning application", + "properties": { + "declaration": { + "additionalProperties": false, + "properties": { + "accurate": { + "const": true, + "type": "boolean" + }, + "connection": { + "enum": [ + "employee", + "relation.employee", + "electedMember", + "relation.electedMember", + "none" + ], + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "accurate", + "connection" + ], + "type": "object" + }, + "fee": { + "$ref": "#/definitions/ApplicationFee" + }, + "preApp": { + "$ref": "#/definitions/PreApplication" + }, + "type": { + "$ref": "#/definitions/ApplicationType" + } + }, + "required": [ + "type", + "fee", + "declaration" + ], + "type": "object" + }, + "ApplicationFee": { + "$id": "#ApplicationFee", + "additionalProperties": false, + "description": "The costs associated with this application", + "properties": { + "calculated": { + "type": "number" + }, + "exemption": { + "additionalProperties": false, + "properties": { + "disability": { + "type": "boolean" + }, + "resubmission": { + "type": "boolean" + } + }, + "required": [ + "disability", + "resubmission" + ], + "type": "object" + }, + "payable": { + "type": "number" + }, + "reduction": { + "additionalProperties": false, + "properties": { + "alternative": { + "type": "boolean" + }, + "parishCouncil": { + "type": "boolean" + }, + "sports": { + "type": "boolean" + } + }, + "required": [ + "alternative", + "parishCouncil", + "sports" + ], + "type": "object" + }, + "reference": { + "additionalProperties": false, + "properties": { + "govPay": { + "type": "string" + } + }, + "required": [ + "govPay" + ], + "type": "object" + } + }, + "required": [ + "calculated", + "payable", + "exemption", + "reduction" + ], + "type": "object" + }, + "ApplicationType": { + "$id": "#ApplicationType", + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Lawful Development Certificate", + "type": "string" + }, + "value": { + "const": "ldc", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Lawful Development Certificate - Proposed", + "type": "string" + }, + "value": { + "const": "ldc.proposed", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Lawful Development Certificate - Existing", + "type": "string" + }, + "value": { + "const": "ldc.existing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval", + "type": "string" + }, + "value": { + "const": "pa", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Larger extension to a house", + "type": "string" + }, + "value": { + "const": "pa.part1.classA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Adding storeys to a house", + "type": "string" + }, + "value": { + "const": "pa.part1.classAA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Convert a commercial building to mixed use", + "type": "string" + }, + "value": { + "const": "pa.part3.classG", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Convert a mixed use building into a home", + "type": "string" + }, + "value": { + "const": "pa.part3.classM", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Convert a commercial building into a home or homes", + "type": "string" + }, + "value": { + "const": "pa.part3.classMA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Convert a casino or amusement arcade into a home or homes", + "type": "string" + }, + "value": { + "const": "pa.part3.classN", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Convert an agricultural building into a home", + "type": "string" + }, + "value": { + "const": "pa.part3.classQ", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Convert an agricultural building to a commercial use", + "type": "string" + }, + "value": { + "const": "pa.part3.classR", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Convert an agricultural building to a school", + "type": "string" + }, + "value": { + "const": "pa.part3.classS", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Convert a commercial building to a school", + "type": "string" + }, + "value": { + "const": "pa.part3.classT", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Put up a temporary structure", + "type": "string" + }, + "value": { + "const": "pa.part4.classBB", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Use a building or land to shoot a film", + "type": "string" + }, + "value": { + "const": "pa.part4.classE", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Build new agricultural buildings on a unit of 5 hectares or more", + "type": "string" + }, + "value": { + "const": "pa.part6.classA", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Build new agricultural buildings on a unit of less than 5 hectares", + "type": "string" + }, + "value": { + "const": "pa.part6.classB", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Build new forestry buildings", + "type": "string" + }, + "value": { + "const": "pa.part6.classE", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Install click and collect facilities", + "type": "string" + }, + "value": { + "const": "pa.part7.classC", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Extend a school, college, university, prison or hospital", + "type": "string" + }, + "value": { + "const": "pa.part7.classM", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prior Approval - Demolish a building", + "type": "string" + }, + "value": { + "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 - 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": "Planning Permission", + "type": "string" + }, + "value": { + "const": "pp", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Planning Permission", + "type": "string" + }, + "value": { + "const": "pp.full.householder", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Planning Permission", + "type": "string" + }, + "value": { + "const": "pp.full.householder.retro", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + } + ], + "description": "Planning application types supported by this schema" + }, + "BaseApplicant": { + "$id": "#BaseApplicant", + "additionalProperties": false, + "description": "Information about the user who completed the application for themself, or information about the resident who the user applied on behalf of", + "properties": { + "address": { + "$ref": "#/definitions/UserAddress" + }, + "contact": { + "$ref": "#/definitions/UserContact" + }, + "siteContact": { + "$ref": "#/definitions/SiteContact" + }, + "type": { + "enum": [ + "individual", + "company", + "charity", + "public", + "parishCouncil" + ], + "type": "string" + } + }, + "required": [ + "type", + "contact", + "address", + "siteContact" + ], + "type": "object" + }, + "DateTime": { + "format": "date-time", + "type": "string" + }, + "Email": { + "format": "email", + "type": "string" + }, + "File": { + "$id": "#File", + "additionalProperties": false, + "description": "Files uploaded by the user to support this application", + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "items": { + "$ref": "#/definitions/FileType" + }, + "type": "array" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "FileType": { + "$id": "#FileType", + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Elevation plan - existing", + "type": "string" + }, + "value": { + "const": "property.drawing.elevation", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Floor plan - existing", + "type": "string" + }, + "value": { + "const": "property.drawing.floorPlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Roof plan - existing", + "type": "string" + }, + "value": { + "const": "property.drawing.roofPlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Section - existing", + "type": "string" + }, + "value": { + "const": "property.drawing.section", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Site plan - existing", + "type": "string" + }, + "value": { + "const": "property.drawing.sitePlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Use plan - existing", + "type": "string" + }, + "value": { + "const": "property.drawing.usePlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Photographs", + "type": "string" + }, + "value": { + "const": "property.photograph", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Location plan", + "type": "string" + }, + "value": { + "const": "property.site.locationPlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Elevation plan - proposed", + "type": "string" + }, + "value": { + "const": "proposal.drawing.elevation", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Floor plan - proposed", + "type": "string" + }, + "value": { + "const": "proposal.drawing.floorPlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Other - drawing", + "type": "string" + }, + "value": { + "const": "proposal.drawing.other", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Roof plan - proposed", + "type": "string" + }, + "value": { + "const": "proposal.drawing.roofPlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Section - proposed", + "type": "string" + }, + "value": { + "const": "proposal.drawing.section", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Site plan - proposed", + "type": "string" + }, + "value": { + "const": "proposal.drawing.sitePlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Unit plan - proposed", + "type": "string" + }, + "value": { + "const": "proposal.drawing.unitPlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Use plan - proposed", + "type": "string" + }, + "value": { + "const": "proposal.drawing.usePlan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Bank statement", + "type": "string" + }, + "value": { + "const": "proposal.document.bankStatement", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Building control certificate", + "type": "string" + }, + "value": { + "const": "proposal.document.buildingControl.certificate", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Construction invoice", + "type": "string" + }, + "value": { + "const": "proposal.document.construction.invoice", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Contamination report", + "type": "string" + }, + "value": { + "const": "proposal.document.contamination", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Council tax bill", + "type": "string" + }, + "value": { + "const": "proposal.document.councilTaxBill", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Statuatory declaration", + "type": "string" + }, + "value": { + "const": "proposal.document.declaration", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Design and Access Statement", + "type": "string" + }, + "value": { + "const": "proposal.document.designAndAccess", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Flood risk assessment", + "type": "string" + }, + "value": { + "const": "proposal.document.floodRisk", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Heritage Statement", + "type": "string" + }, + "value": { + "const": "proposal.document.heritageStatement", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Noise assessment", + "type": "string" + }, + "value": { + "const": "proposal.document.noise", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Other - document", + "type": "string" + }, + "value": { + "const": "proposal.document.other", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Other - correspondence", + "type": "string" + }, + "value": { + "const": "proposal.document.other.evidence", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Sunlight and daylight report", + "type": "string" + }, + "value": { + "const": "proposal.document.sunAndDaylight", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Tenancy agreement", + "type": "string" + }, + "value": { + "const": "proposal.document.tenancyAgreement", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Tenancy invoice", + "type": "string" + }, + "value": { + "const": "proposal.document.tenancyInvoice", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Transport assessment", + "type": "string" + }, + "value": { + "const": "proposal.document.transport", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Utility bill", + "type": "string" + }, + "value": { + "const": "proposal.document.utility.bill", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Photographs", + "type": "string" + }, + "value": { + "const": "proposal.photograph", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Visualisations", + "type": "string" + }, + "value": { + "const": "proposal.visualisation", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + } + ], + "description": "Types of planning documents and drawings" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "service": { + "additionalProperties": false, + "description": "Details of the digital planning service which generated this payload", + "properties": { + "name": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "publishedFlowId": { + "$ref": "#/definitions/UUID" + }, + "url": { + "$ref": "#/definitions/URL" + } + }, + "required": [ + "publishedFlowId", + "name", + "owner", + "url" + ], + "type": "object" + }, + "session": { + "additionalProperties": false, + "properties": { + "createdAt": { + "$ref": "#/definitions/DateTime" + }, + "id": { + "$ref": "#/definitions/UUID" + }, + "source": { + "const": "PlanX", + "default": "PlanX", + "type": "string" + }, + "submittedAt": { + "$ref": "#/definitions/DateTime" + } + }, + "required": [ + "source", + "id", + "createdAt", + "submittedAt" + ], + "type": "object" + } + }, + "required": [ + "service", + "session" + ], + "type": "object" + }, + "OSAddress": { + "$id": "#OSAddress", + "additionalProperties": false, + "description": "Address information for sites with a known address sourced from Ordnance Survey AddressBase Premium", + "properties": { + "latitude": { + "type": "number" + }, + "localAuthorityDistrict": { + "items": { + "type": "string" + }, + "type": "array" + }, + "longitude": { + "type": "number" + }, + "organisation": { + "type": "string" + }, + "pao": { + "type": "string" + }, + "postcode": { + "type": "string" + }, + "region": { + "type": "string" + }, + "source": { + "const": "Ordnance Survey", + "type": "string" + }, + "street": { + "type": "string" + }, + "title": { + "type": "string" + }, + "town": { + "type": "string" + }, + "uprn": { + "type": "string" + }, + "usrn": { + "type": "string" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "latitude", + "localAuthorityDistrict", + "longitude", + "pao", + "postcode", + "region", + "source", + "street", + "title", + "town", + "uprn", + "usrn", + "x", + "y" + ], + "type": "object" + }, + "PreApplication": { + "$id": "#PreApplication", + "additionalProperties": false, + "description": "Details of the pre-application, if applicable", + "properties": { + "date": { + "$ref": "#/definitions/DateTime" + }, + "officer": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "summary": { + "type": "string" + } + }, + "required": [ + "reference", + "date", + "officer", + "summary" + ], + "type": "object" + }, + "ProjectType": { + "$id": "#ProjectType", + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add or alter a balcony", + "type": "string" + }, + "value": { + "const": "alter.balcony", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add or remove a bay window", + "type": "string" + }, + "value": { + "const": "alter.bayWindow", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Changes to a fence, wall or gate", + "type": "string" + }, + "value": { + "const": "alter.boundary", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install underground cables", + "type": "string" + }, + "value": { + "const": "alter.cables", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Change chimneys", + "type": "string" + }, + "value": { + "const": "alter.chimneys", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Work on drains", + "type": "string" + }, + "value": { + "const": "alter.drains", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install an air conditioning unit", + "type": "string" + }, + "value": { + "const": "alter.equipment.airConditioning", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install a security alarm", + "type": "string" + }, + "value": { + "const": "alter.equipment.alarm", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install a satellite dish or aerial", + "type": "string" + }, + "value": { + "const": "alter.equipment.antennae", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install a flue with a biomass burner", + "type": "string" + }, + "value": { + "const": "alter.equipment.biomass", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install CCTV cameras", + "type": "string" + }, + "value": { + "const": "alter.equipment.cctv", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install a car charging point", + "type": "string" + }, + "value": { + "const": "alter.equipment.charging", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install a heat pump", + "type": "string" + }, + "value": { + "const": "alter.equipment.heatPump", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install outdoor lights", + "type": "string" + }, + "value": { + "const": "alter.equipment.lighting", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install solar panels", + "type": "string" + }, + "value": { + "const": "alter.equipment.solar", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install an outdoor tank (for example a water tank)", + "type": "string" + }, + "value": { + "const": "alter.equipment.tank", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install a wind turbine", + "type": "string" + }, + "value": { + "const": "alter.equipment.wind", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Change the material or colour of the external walls", + "type": "string" + }, + "value": { + "const": "alter.facades", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Changes to a public road, pavement or path (including drop kerb)", + "type": "string" + }, + "value": { + "const": "alter.highways", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Landscaping works", + "type": "string" + }, + "value": { + "const": "alter.landscape", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add or remove a pond", + "type": "string" + }, + "value": { + "const": "alter.landscape.ponds", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add new doorways or windows", + "type": "string" + }, + "value": { + "const": "alter.openings.add", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Change the size of doorways or windows", + "type": "string" + }, + "value": { + "const": "alter.openings.alter", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Block up doorways or windows", + "type": "string" + }, + "value": { + "const": "alter.openings.remove", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Remove part of a building (such as a decorative feature)", + "type": "string" + }, + "value": { + "const": "alter.remove", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Remove equipment", + "type": "string" + }, + "value": { + "const": "alter.remove.equipment", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Repair windows or doors", + "type": "string" + }, + "value": { + "const": "alter.repair", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Replace windows or doors", + "type": "string" + }, + "value": { + "const": "alter.replace", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Replace or change the roof materials", + "type": "string" + }, + "value": { + "const": "alter.roof.materials", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add a roof terrace", + "type": "string" + }, + "value": { + "const": "alter.roof.roofTerrace", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Change the shape of a roof", + "type": "string" + }, + "value": { + "const": "alter.roof.shape", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add skylights to an existing roof", + "type": "string" + }, + "value": { + "const": "alter.rooflight", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add secondary glazing to a window", + "type": "string" + }, + "value": { + "const": "alter.secondaryGlazing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add or alter shop fronts", + "type": "string" + }, + "value": { + "const": "alter.shopfronts", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add or alter shutters", + "type": "string" + }, + "value": { + "const": "alter.shutters", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add or replace a soil pipe", + "type": "string" + }, + "value": { + "const": "alter.soilPipes", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add or change an external staircase", + "type": "string" + }, + "value": { + "const": "alter.staircase", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add a decked area or patio", + "type": "string" + }, + "value": { + "const": "alter.surfaces", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add a driveway or parking area", + "type": "string" + }, + "value": { + "const": "alter.surfaces.parking", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install a swimming pool", + "type": "string" + }, + "value": { + "const": "alter.swimmingPool", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Changes to trees or hedges", + "type": "string" + }, + "value": { + "const": "alter.trees", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Convert a building to a different use", + "type": "string" + }, + "value": { + "const": "changeOfUse", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Convert part of the property into a granny flat (residential annexe)", + "type": "string" + }, + "value": { + "const": "changeofUse.annexe", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Use a caravan or mobile home on the property", + "type": "string" + }, + "value": { + "const": "changeOfUse.caravans", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Convert a garage", + "type": "string" + }, + "value": { + "const": "changeOfUse.garage", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Let a part of the property", + "type": "string" + }, + "value": { + "const": "changeOfUse.let.part", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Let the property", + "type": "string" + }, + "value": { + "const": "changeOfUse.let.whole", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Convert an outbuilding (such as a shed, garage or barn)", + "type": "string" + }, + "value": { + "const": "changeOfUse.outbuilding", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Convert part of a building", + "type": "string" + }, + "value": { + "const": "changeOfUse.part", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Change the use of a property", + "type": "string" + }, + "value": { + "const": "changeOfUse.whole", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Convert a home to bedsits or a shared home", + "type": "string" + }, + "value": { + "const": "changeOfUse.whole.homeToHMO", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Work from home", + "type": "string" + }, + "value": { + "const": "changeOfUse.workFromHome", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Demolish a building", + "type": "string" + }, + "value": { + "const": "demolish", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Demolish a fence, gate or boundary wall", + "type": "string" + }, + "value": { + "const": "demolish.boundary", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Demolish a building", + "type": "string" + }, + "value": { + "const": "demolish.full", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Demolish an outbuilding (such as a garage or barn)", + "type": "string" + }, + "value": { + "const": "demolish.outbuildings", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Demolish part of a building (such as an extension)", + "type": "string" + }, + "value": { + "const": "demolish.part", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Demolish a building and build homes in its place", + "type": "string" + }, + "value": { + "const": "demolish.replace", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add a basement extension", + "type": "string" + }, + "value": { + "const": "extend.basement", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add a front extension", + "type": "string" + }, + "value": { + "const": "extend.front", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add an outbuilding (such as a shed, garage or garden office)", + "type": "string" + }, + "value": { + "const": "extend.outbuildings", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add a porch", + "type": "string" + }, + "value": { + "const": "extend.porch", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add a rear or side extension (or conservatory)", + "type": "string" + }, + "value": { + "const": "extend.rear", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add a roof extension", + "type": "string" + }, + "value": { + "const": "extend.roof", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add roof dormers", + "type": "string" + }, + "value": { + "const": "extend.roof.dormer", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Change the internal layout", + "type": "string" + }, + "value": { + "const": "internal", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Convert a loft", + "type": "string" + }, + "value": { + "const": "internal.loft", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Add a mezzanine floor", + "type": "string" + }, + "value": { + "const": "internal.mezzanine", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Another type of building", + "type": "string" + }, + "value": { + "const": "new", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Agricultural buildings", + "type": "string" + }, + "value": { + "const": "new.agriculture", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install click and collect facilities", + "type": "string" + }, + "value": { + "const": "new.clickCollect", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Build new forestry buildings", + "type": "string" + }, + "value": { + "const": "new.forestry", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Leisure premises", + "type": "string" + }, + "value": { + "const": "new.leisure", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Industrial premises", + "type": "string" + }, + "value": { + "const": "new.industrial", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Offices", + "type": "string" + }, + "value": { + "const": "new.office", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Build new homes on a roof", + "type": "string" + }, + "value": { + "const": "new.residential.dwelling", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Retail premises", + "type": "string" + }, + "value": { + "const": "new.retail", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Install telecommunications equipment", + "type": "string" + }, + "value": { + "const": "new.telecoms", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Erect a temporary structure for historic visitor attractions and listed buildings", + "type": "string" + }, + "value": { + "const": "new.temporaryStructure", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Storage or distribution premises", + "type": "string" + }, + "value": { + "const": "new.warehouse", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Convert two or more properties into one", + "type": "string" + }, + "value": { + "const": "unit.merge", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Convert part of a house into a flat", + "type": "string" + }, + "value": { + "const": "unit.subdivide", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + } + ], + "description": "Planning project types" + }, + "Property": { + "$id": "#Property", + "additionalProperties": false, + "description": "The site where the works will happen", + "properties": { + "address": { + "anyOf": [ + { + "$ref": "#/definitions/ProposedAddress" + }, + { + "$ref": "#/definitions/OSAddress" + } + ] + }, + "boundary": { + "additionalProperties": false, + "properties": { + "area": { + "additionalProperties": false, + "properties": { + "hectares": { + "type": "number" + }, + "squareMeters": { + "type": "number" + } + }, + "required": [ + "squareMeters", + "hectares" + ], + "type": "object" + }, + "site": { + "type": "string" + } + }, + "required": [ + "site", + "area" + ], + "type": "object" + }, + "constraints": { + "additionalProperties": false, + "properties": { + "planning": { + "items": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "intersects": { + "type": "boolean" + }, + "value": { + "type": "string" + } + }, + "required": [ + "value", + "description", + "intersects" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "planning" + ], + "type": "object" + }, + "type": { + "$ref": "#/definitions/PropertyType" + } + }, + "required": [ + "address", + "type" + ], + "type": "object" + }, + "PropertyType": { + "$id": "#PropertyType", + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Commercial", + "type": "string" + }, + "value": { + "const": "commercial", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Agricultural", + "type": "string" + }, + "value": { + "const": "commercial.agriculture", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Farm / Non-Residential Associated Building", + "type": "string" + }, + "value": { + "const": "commercial.agriculture.farm", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fishery", + "type": "string" + }, + "value": { + "const": "commercial.fish", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fish Farming", + "type": "string" + }, + "value": { + "const": "commercial.fish.farm", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fish Hatchery", + "type": "string" + }, + "value": { + "const": "commercial.fish.hatchery", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fish Processing", + "type": "string" + }, + "value": { + "const": "commercial.fish.processing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Oyster / Mussel Bed", + "type": "string" + }, + "value": { + "const": "commercial.fish.oysters", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Horticulture", + "type": "string" + }, + "value": { + "const": "commercial.horticulture", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Smallholding", + "type": "string" + }, + "value": { + "const": "commercial.horticulture.smallholding", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Vineyard", + "type": "string" + }, + "value": { + "const": "commercial.horticulture.vineyard", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Watercress Bed", + "type": "string" + }, + "value": { + "const": "commercial.horticulture.watercress", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Slaughter House / Abattoir", + "type": "string" + }, + "value": { + "const": "commercial.abattoir", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Ancillary Building", + "type": "string" + }, + "value": { + "const": "commercial.ancilliary", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Community Services", + "type": "string" + }, + "value": { + "const": "commercial.community", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Law Court", + "type": "string" + }, + "value": { + "const": "commercial.community.court", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Prison", + "type": "string" + }, + "value": { + "const": "commercial.community.prison", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "HM Detention Centre", + "type": "string" + }, + "value": { + "const": "commercial.community.prison.detention", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "HM Prison Service", + "type": "string" + }, + "value": { + "const": "commercial.community.prison.service", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Secure Residential Accommodation", + "type": "string" + }, + "value": { + "const": "commercial.community.prison.secureResidential", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Public / Village Hall / Other Community Facility", + "type": "string" + }, + "value": { + "const": "commercial.community.hall", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Youth Recreational / Social Club", + "type": "string" + }, + "value": { + "const": "commercial.community.hall.club", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Public Convenience", + "type": "string" + }, + "value": { + "const": "commercial.community.wc", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cemetery / Crematorium / Graveyard. In Current Use.", + "type": "string" + }, + "value": { + "const": "commercial.community.cemetary", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Columbarium", + "type": "string" + }, + "value": { + "const": "commercial.community.cemetary.columbarium", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Crematorium", + "type": "string" + }, + "value": { + "const": "commercial.community.cemetary.crematorium", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Chapel Of Rest", + "type": "string" + }, + "value": { + "const": "commercial.community.cemetary.chapelOfRest", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cemetery", + "type": "string" + }, + "value": { + "const": "commercial.community.cemetary.cemetary", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Military Cemetery", + "type": "string" + }, + "value": { + "const": "commercial.community.cemetary.military", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mortuary", + "type": "string" + }, + "value": { + "const": "commercial.community.cemetary.mortuary", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Church Hall / Religious Meeting Place / Hall", + "type": "string" + }, + "value": { + "const": "commercial.community.religious", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Community Service Centre / Office", + "type": "string" + }, + "value": { + "const": "commercial.community.services", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Public Household Waste Recycling Centre (HWRC)", + "type": "string" + }, + "value": { + "const": "commercial.community.HWRC", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Recycling Site", + "type": "string" + }, + "value": { + "const": "commercial.community.recycling", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "CCTV", + "type": "string" + }, + "value": { + "const": "commercial.community.CCTV", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Job Centre", + "type": "string" + }, + "value": { + "const": "commercial.community.employment", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Education", + "type": "string" + }, + "value": { + "const": "commercial.education", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "College", + "type": "string" + }, + "value": { + "const": "commercial.education.college", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Further Education", + "type": "string" + }, + "value": { + "const": "commercial.education.college.further", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Higher Education", + "type": "string" + }, + "value": { + "const": "commercial.education.college.higher", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Children's Nursery / Crèche", + "type": "string" + }, + "value": { + "const": "commercial.education.nursery", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Preparatory / First / Primary / Infant / Junior / Middle School", + "type": "string" + }, + "value": { + "const": "commercial.education.school", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "First School", + "type": "string" + }, + "value": { + "const": "commercial.education.school.first", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Infant School", + "type": "string" + }, + "value": { + "const": "commercial.education.school.infant", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Junior School", + "type": "string" + }, + "value": { + "const": "commercial.education.school.junior", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Middle School", + "type": "string" + }, + "value": { + "const": "commercial.education.school.middle", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Non State Primary / Preparatory School", + "type": "string" + }, + "value": { + "const": "commercial.education.school.primary.private", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Primary School", + "type": "string" + }, + "value": { + "const": "commercial.education.school.primary.state", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Secondary / High School", + "type": "string" + }, + "value": { + "const": "commercial.education.secondarySchool", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Non State Secondary School", + "type": "string" + }, + "value": { + "const": "commercial.education.secondarySchool.private", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Secondary School", + "type": "string" + }, + "value": { + "const": "commercial.education.secondarySchool.state", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "University", + "type": "string" + }, + "value": { + "const": "commercial.education.university", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Special Needs Establishment.", + "type": "string" + }, + "value": { + "const": "commercial.education.specialNeeds", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Other Educational Establishment", + "type": "string" + }, + "value": { + "const": "commercial.education.other", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Hotel / Motel / Boarding / Guest House", + "type": "string" + }, + "value": { + "const": "commercial.guest", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Boarding / Guest House / Bed And Breakfast / Youth Hostel", + "type": "string" + }, + "value": { + "const": "commercial.guest.hostel", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Youth Hostel", + "type": "string" + }, + "value": { + "const": "commercial.guest.hostel.youth", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Holiday Let/Accomodation/Short-Term Let Other Than CH01", + "type": "string" + }, + "value": { + "const": "commercial.guest.shortLet", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Hotel/Motel", + "type": "string" + }, + "value": { + "const": "commercial.guest.hotel", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Industrial Applicable to manufacturing, engineering, maintenance, storage / wholesale distribution and extraction sites", + "type": "string" + }, + "value": { + "const": "commercial.industrial", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Factory/Manufacturing", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Aircraft Works", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.aircraft", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Boat Building", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.boats", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Brick Works", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.bricks", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Brewery", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.beer", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cider Manufacture", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.cider", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Chemical Works", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.chemicals", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cement Works", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.cement", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Dairy Processing", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.dairy", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Distillery", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.distillery", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Flour Mill", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.flour", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Food Processing", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.food", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Glassworks", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.glass", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Manufacturing", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.other", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Oast House", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.hops", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Oil Refining", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.oil", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Pottery Manufacturing", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.pottery", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Paper Mill", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.paper", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Printing Works", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.printing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Sugar Refinery", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.sugar", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Steel Works", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.steel", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Timber Mill", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.timber", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Winery", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.wine", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Shipyard", + "type": "string" + }, + "value": { + "const": "commercial.industrial.manufacturing.ships", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mineral / Ore Working / Quarry / Mine", + "type": "string" + }, + "value": { + "const": "commercial.industrial.extraction", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mineral Mining / Active", + "type": "string" + }, + "value": { + "const": "commercial.industrial.extraction.mining", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mineral Distribution / Storage", + "type": "string" + }, + "value": { + "const": "commercial.industrial.extraction.distribution", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mineral Processing", + "type": "string" + }, + "value": { + "const": "commercial.industrial.extraction.processing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Oil / Gas Extraction / Active", + "type": "string" + }, + "value": { + "const": "commercial.industrial.extraction.oilGas", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mineral Quarrying / Open Extraction / Active", + "type": "string" + }, + "value": { + "const": "commercial.industrial.extraction.quarrying", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Workshop / Light Industrial", + "type": "string" + }, + "value": { + "const": "commercial.industrial.light", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Servicing Garage", + "type": "string" + }, + "value": { + "const": "commercial.industrial.light.garage", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Warehouse / Store / Storage Depot", + "type": "string" + }, + "value": { + "const": "commercial.industrial.light.storage", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Crop Handling / Storage", + "type": "string" + }, + "value": { + "const": "commercial.industrial.light.storage.crops", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Postal Sorting / Distribution", + "type": "string" + }, + "value": { + "const": "commercial.industrial.light.storage.post", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Solid Fuel Storage", + "type": "string" + }, + "value": { + "const": "commercial.industrial.light.storage.solidFuel", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Timber Storage", + "type": "string" + }, + "value": { + "const": "commercial.industrial.light.storage.timber", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Wholesale Distribution", + "type": "string" + }, + "value": { + "const": "commercial.industrial.distribution", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Solid Fuel Distribution", + "type": "string" + }, + "value": { + "const": "commercial.industrial.distribution.solidFueld", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Timber Distribution", + "type": "string" + }, + "value": { + "const": "commercial.industrial.distribution.timber", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Recycling Plant", + "type": "string" + }, + "value": { + "const": "commercial.industrial.recycling", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Incinerator / Waste Transfer Station", + "type": "string" + }, + "value": { + "const": "commercial.industrial.incineration", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Maintenance Depot", + "type": "string" + }, + "value": { + "const": "commercial.industrial.maintenanceDepot", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Leisure - Applicable to recreational sites and enterprises", + "type": "string" + }, + "value": { + "const": "commercial.leisure", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Amusements", + "type": "string" + }, + "value": { + "const": "commercial.leisure.amusements", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Leisure Pier", + "type": "string" + }, + "value": { + "const": "commercial.leisure.amusements.pier", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Holiday / Campsite", + "type": "string" + }, + "value": { + "const": "commercial.leisure.holiday", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Camping", + "type": "string" + }, + "value": { + "const": "commercial.leisure.holiday.camping", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Caravanning", + "type": "string" + }, + "value": { + "const": "commercial.leisure.holiday.caravanning", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Holiday Accommodation", + "type": "string" + }, + "value": { + "const": "commercial.leisure.holiday.accommodation", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Holiday Centre", + "type": "string" + }, + "value": { + "const": "commercial.leisure.holiday.centre", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Youth Organisation Camp", + "type": "string" + }, + "value": { + "const": "commercial.leisure.holiday.youth", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Library", + "type": "string" + }, + "value": { + "const": "commercial.leisure.library", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Reading Room", + "type": "string" + }, + "value": { + "const": "commercial.leisure.library.readingRoom", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Museum / Gallery", + "type": "string" + }, + "value": { + "const": "commercial.leisure.museum", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Art Centre / Gallery", + "type": "string" + }, + "value": { + "const": "commercial.leisure.museum.art", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Aviation Museum", + "type": "string" + }, + "value": { + "const": "commercial.leisure.museum.aviation", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Heritage Centre", + "type": "string" + }, + "value": { + "const": "commercial.leisure.museum.heritage", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Industrial Museum", + "type": "string" + }, + "value": { + "const": "commercial.leisure.museum.industrial", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Military Museum", + "type": "string" + }, + "value": { + "const": "commercial.leisure.museum.military", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Maritime Museum", + "type": "string" + }, + "value": { + "const": "commercial.leisure.museum.maritime", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Science Museum", + "type": "string" + }, + "value": { + "const": "commercial.leisure.museum.science", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Transport Museum", + "type": "string" + }, + "value": { + "const": "commercial.leisure.museum.transport", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Indoor / Outdoor Leisure / Sporting Activity / Centre", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Athletics Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.athletics", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Bowls Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.bowls", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cricket Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.cricket", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Curling Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.curling", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Diving / Swimming Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.swimming", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Equestrian Sports Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.equestrian", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Football Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.football", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fishing / Angling Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.fishing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Golf Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.golf", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Gliding Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.gliding", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Greyhound Racing Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.dogracing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Hockey Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.hockey", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Horse Racing Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.horseracing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Historic Vessel / Aircraft / Vehicle", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.historicVehicles", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Activity / Leisure / Sports Centre", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.centre", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Model Sports Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.model", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Motor Sports Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.motor", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Playing Field", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.playingField", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Racquet Sports Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.racquet", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Rugby Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.rugby", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Recreation Ground", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.recreationGround", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Shinty Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.shinty", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Skateboarding Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.skateboarding", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Civilian Firing Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.firing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Tenpin Bowling Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.tenpin", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Public Tennis Court", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.tennis", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Water Sports Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.water", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Winter Sports Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.winter", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Wildlife Sports Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.wildlife", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cycling Sports Facility", + "type": "string" + }, + "value": { + "const": "commercial.leisure.sport.cycling", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Bingo Hall / Cinema / Conference / Exhibition Centre / Theatre / Concert Hall", + "type": "string" + }, + "value": { + "const": "commercial.leisure.entertainment", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cinema", + "type": "string" + }, + "value": { + "const": "commercial.leisure.entertainment.cinema", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Entertainment Complex", + "type": "string" + }, + "value": { + "const": "commercial.leisure.entertainment.mixed", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Conference / Exhibition Centre", + "type": "string" + }, + "value": { + "const": "commercial.leisure.entertainment.exhibition", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Theatre", + "type": "string" + }, + "value": { + "const": "commercial.leisure.entertainment.theatre", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Zoo / Theme Park", + "type": "string" + }, + "value": { + "const": "commercial.leisure.park.zoo", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Amusement Park", + "type": "string" + }, + "value": { + "const": "commercial.leisure.park.amusement", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Aquatic Attraction", + "type": "string" + }, + "value": { + "const": "commercial.leisure.park.aquatic", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Model Village Site", + "type": "string" + }, + "value": { + "const": "commercial.leisure.park.model", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Wildlife / Zoological Park", + "type": "string" + }, + "value": { + "const": "commercial.leisure.park.wildlife", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Beach Hut (Recreational, Non-Residential Use Only)", + "type": "string" + }, + "value": { + "const": "commercial.leisure.beachHut", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Licensed Private Members' Club", + "type": "string" + }, + "value": { + "const": "commercial.leisure.club.private", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Recreational / Social Club", + "type": "string" + }, + "value": { + "const": "commercial.leisure.club.social", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Arena / Stadium", + "type": "string" + }, + "value": { + "const": "commercial.leisure.arena", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Stadium", + "type": "string" + }, + "value": { + "const": "commercial.leisure.arena.stadium", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Showground", + "type": "string" + }, + "value": { + "const": "commercial.leisure.arena.showground", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Medical", + "type": "string" + }, + "value": { + "const": "commercial.medical", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Dentist", + "type": "string" + }, + "value": { + "const": "commercial.medical.dentist", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "General Practice Surgery / Clinic", + "type": "string" + }, + "value": { + "const": "commercial.medical.GP", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Health Centre", + "type": "string" + }, + "value": { + "const": "commercial.medical.healthCentre", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Health Care Services", + "type": "string" + }, + "value": { + "const": "commercial.medical.healthServices", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Hospital / Hospice", + "type": "string" + }, + "value": { + "const": "commercial.medical.care", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Care home/Hospice", + "type": "string" + }, + "value": { + "const": "commercial.medical.care.home", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Hospital", + "type": "string" + }, + "value": { + "const": "commercial.medical.care.hospital", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Medical / Testing / Research Laboratory", + "type": "string" + }, + "value": { + "const": "commercial.medical.lab", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Professional Medical Service", + "type": "string" + }, + "value": { + "const": "commercial.medical.professional", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Assessment / Development Services", + "type": "string" + }, + "value": { + "const": "commercial.medical.assessment", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Animal Centre", + "type": "string" + }, + "value": { + "const": "commercial.animals", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cattery / Kennel", + "type": "string" + }, + "value": { + "const": "commercial.animals.kennelsCattery", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Animal Services", + "type": "string" + }, + "value": { + "const": "commercial.animals.services", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Animal Quarantining", + "type": "string" + }, + "value": { + "const": "commercial.animals.services.quarantine", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Equestrian", + "type": "string" + }, + "value": { + "const": "commercial.animals.equestrian", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Horse Racing / Breeding Stable", + "type": "string" + }, + "value": { + "const": "commercial.animals.equestrian.racing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Commercial Stabling / Riding", + "type": "string" + }, + "value": { + "const": "commercial.animals.equestrian.riding", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Vet / Animal Medical Treatment", + "type": "string" + }, + "value": { + "const": "commercial.animals.vet", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Animal / Bird / Marine Sanctuary", + "type": "string" + }, + "value": { + "const": "commercial.animals.sanctuary", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Animal Sanctuary", + "type": "string" + }, + "value": { + "const": "commercial.animals.sanctuary.animals", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Marine Sanctuary", + "type": "string" + }, + "value": { + "const": "commercial.animals.sanctuary.marine", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Office", + "type": "string" + }, + "value": { + "const": "commercial.office", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Office / Work Studio", + "type": "string" + }, + "value": { + "const": "commercial.office.workspace", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Embassy /, High Commission / Consulate", + "type": "string" + }, + "value": { + "const": "commercial.office.workspace.embassy", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Film Studio", + "type": "string" + }, + "value": { + "const": "commercial.office.workspace.film", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Central Government Service", + "type": "string" + }, + "value": { + "const": "commercial.office.workspace.gov.national", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Local Government Service", + "type": "string" + }, + "value": { + "const": "commercial.office.workspace.gov.local", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Broadcasting (TV / Radio)", + "type": "string" + }, + "value": { + "const": "commercial.office.broadcasting", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Retail", + "type": "string" + }, + "value": { + "const": "commercial.retail", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Bank / Financial Service", + "type": "string" + }, + "value": { + "const": "commercial.retail.financial", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Retail Service Agent", + "type": "string" + }, + "value": { + "const": "commercial.retail.services", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Post Office", + "type": "string" + }, + "value": { + "const": "commercial.retail.post", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Market (Indoor / Outdoor)", + "type": "string" + }, + "value": { + "const": "commercial.retail.market", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fish Market", + "type": "string" + }, + "value": { + "const": "commercial.retail.market.fish", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fruit / Vegetable Market", + "type": "string" + }, + "value": { + "const": "commercial.retail.market.fruit", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Livestock Market", + "type": "string" + }, + "value": { + "const": "commercial.retail.market.livestock", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Petrol Filling Station", + "type": "string" + }, + "value": { + "const": "commercial.retail.fuel", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Public House / Bar / Nightclub", + "type": "string" + }, + "value": { + "const": "commercial.retail.drinking", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Restaurant / Cafeteria", + "type": "string" + }, + "value": { + "const": "commercial.retail.restaurant", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Shop / Showroom", + "type": "string" + }, + "value": { + "const": "commercial.retail.showroom", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Shop", + "type": "string" + }, + "value": { + "const": "commercial.retail.shop", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Garden Centre", + "type": "string" + }, + "value": { + "const": "commercial.retail.shop.gardenCentre", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Other Licensed Premise / Vendor", + "type": "string" + }, + "value": { + "const": "commercial.retail.licensedPremises", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fast Food Outlet / Takeaway (Hot / Cold)", + "type": "string" + }, + "value": { + "const": "commercial.retail.takeaway", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Automated Teller Machine (ATM)", + "type": "string" + }, + "value": { + "const": "commercial.retail.atm", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Storage Land", + "type": "string" + }, + "value": { + "const": "commercial.storageLand", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "General Storage Land", + "type": "string" + }, + "value": { + "const": "commercial.storageLand.general", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Builders' Yard", + "type": "string" + }, + "value": { + "const": "commercial.storageLand.building", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Transport", + "type": "string" + }, + "value": { + "const": "commercial.transport", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Airfield / Airstrip / Airport / Air Transport Infrastructure Facility", + "type": "string" + }, + "value": { + "const": "commercial.transport.air", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Airfield", + "type": "string" + }, + "value": { + "const": "commercial.transport.air.airfield", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Air Transport Infrastructure Services", + "type": "string" + }, + "value": { + "const": "commercial.transport.air.infrastructure", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Airport", + "type": "string" + }, + "value": { + "const": "commercial.transport.air.airport", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Air Passenger Terminal", + "type": "string" + }, + "value": { + "const": "commercial.transport.air.passengerTerminal", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Helicopter Station", + "type": "string" + }, + "value": { + "const": "commercial.transport.air.helicopterStation", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Heliport / Helipad", + "type": "string" + }, + "value": { + "const": "commercial.transport.air.heliport", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Bus Shelter", + "type": "string" + }, + "value": { + "const": "commercial.transport.bus", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Car / Coach / Commercial Vehicle / Taxi Parking / Park And Ride Site", + "type": "string" + }, + "value": { + "const": "commercial.transport.parking", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Public Park And Ride", + "type": "string" + }, + "value": { + "const": "commercial.transport.parking.parkAndRide", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Public Car Parking", + "type": "string" + }, + "value": { + "const": "commercial.transport.parking.car", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Public Coach Parking", + "type": "string" + }, + "value": { + "const": "commercial.transport.parking.coach", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Public Commercial Vehicle Parking", + "type": "string" + }, + "value": { + "const": "commercial.transport.parking.commercialVehicle", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Goods Freight Handling / Terminal", + "type": "string" + }, + "value": { + "const": "commercial.transport.freight", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Air Freight Terminal", + "type": "string" + }, + "value": { + "const": "commercial.transport.freight.air", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Container Freight", + "type": "string" + }, + "value": { + "const": "commercial.transport.freight.container", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Road Freight Transport", + "type": "string" + }, + "value": { + "const": "commercial.transport.freight.road", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Rail Freight Transport", + "type": "string" + }, + "value": { + "const": "commercial.transport.freight.rail", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Marina", + "type": "string" + }, + "value": { + "const": "commercial.transport.marina", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mooring", + "type": "string" + }, + "value": { + "const": "commercial.transport.mooring", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Railway Asset", + "type": "string" + }, + "value": { + "const": "commercial.transport.railAsset", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Station / Interchange / Terminal / Halt", + "type": "string" + }, + "value": { + "const": "commercial.transport.terminal", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Bus station", + "type": "string" + }, + "value": { + "const": "commercial.transport.terminal.bus", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Train station", + "type": "string" + }, + "value": { + "const": "commercial.transport.terminal.train", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Vehicular Rail Terminal", + "type": "string" + }, + "value": { + "const": "commercial.transport.terminal.vehicularRail", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Transport Track / Way", + "type": "string" + }, + "value": { + "const": "commercial.transport.track", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cliff Railway", + "type": "string" + }, + "value": { + "const": "commercial.transport.track.cliff", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Chair Lift / Cable Car / Ski Tow", + "type": "string" + }, + "value": { + "const": "commercial.transport.track.cable", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Monorail", + "type": "string" + }, + "value": { + "const": "commercial.transport.track.monorail", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Vehicle Storage", + "type": "string" + }, + "value": { + "const": "commercial.transport.storage", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Boat Storage", + "type": "string" + }, + "value": { + "const": "commercial.transport.storage.boat", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Bus / Coach Depot", + "type": "string" + }, + "value": { + "const": "commercial.transport.storage.bus", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Transport Related Infrastructure", + "type": "string" + }, + "value": { + "const": "commercial.transport.infrastructure", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Aqueduct", + "type": "string" + }, + "value": { + "const": "commercial.transport.infrastructure.aqueduct", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Lock", + "type": "string" + }, + "value": { + "const": "commercial.transport.infrastructure.lock", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Weir", + "type": "string" + }, + "value": { + "const": "commercial.transport.infrastructure.weir", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Weighbridge / Load Gauge", + "type": "string" + }, + "value": { + "const": "commercial.transport.infrastructure.weighing", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Overnight Lorry Park", + "type": "string" + }, + "value": { + "const": "commercial.transport.overnightLorryPark", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Harbour / Port / Dock / Dockyard / Slipway / Landing Stage / Pier / Jetty / Pontoon / Terminal / Berthing / Quay", + "type": "string" + }, + "value": { + "const": "commercial.transport.dock", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Passenger Ferry Terminal", + "type": "string" + }, + "value": { + "const": "commercial.transport.dock.ferry.passengers", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Non-Tanker Nautical Berthing", + "type": "string" + }, + "value": { + "const": "commercial.transport.dock.generalBerth", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Nautical Refuelling Facility", + "type": "string" + }, + "value": { + "const": "commercial.transport.dock.refuelling", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Slipway", + "type": "string" + }, + "value": { + "const": "commercial.transport.dock.slipway", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Ship Passenger Terminal", + "type": "string" + }, + "value": { + "const": "commercial.transport.dock.passenger", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Tanker Berthing", + "type": "string" + }, + "value": { + "const": "commercial.transport.dock.tankerBerth", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Vehicular Ferry Terminal", + "type": "string" + }, + "value": { + "const": "commercial.transport.dock.ferry.vehicles", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Utility", + "type": "string" + }, + "value": { + "const": "commercial.utility", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Electricity Sub-Station", + "type": "string" + }, + "value": { + "const": "commercial.utility.SubStation", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Landfill", + "type": "string" + }, + "value": { + "const": "commercial.utility.landfill", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Power Station / Energy Production", + "type": "string" + }, + "value": { + "const": "commercial.utility.electricity", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Electricity Distribution Facility", + "type": "string" + }, + "value": { + "const": "commercial.utility.electricity.distribution", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Electricity Production Facility", + "type": "string" + }, + "value": { + "const": "commercial.utility.electricity.production", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Wind Farm", + "type": "string" + }, + "value": { + "const": "commercial.utility.electricity.windFarm", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Wind Turbine", + "type": "string" + }, + "value": { + "const": "commercial.utility.electricity.windTurbine", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Pump House / Pumping Station / Water Tower", + "type": "string" + }, + "value": { + "const": "commercial.utility.water", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Water Controlling / Pumping", + "type": "string" + }, + "value": { + "const": "commercial.utility.water.pump.control", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Water Distribution / Pumping", + "type": "string" + }, + "value": { + "const": "commercial.utility.water.pump.distribution", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Water Quality Monitoring", + "type": "string" + }, + "value": { + "const": "commercial.utility.water.qualityMonitoring", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Water Storage", + "type": "string" + }, + "value": { + "const": "commercial.utility.water.storage", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Waste Water Distribution / Pumping", + "type": "string" + }, + "value": { + "const": "commercial.utility.water.waste", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Telecommunication", + "type": "string" + }, + "value": { + "const": "commercial.utility.telecoms", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Telecommunications Mast", + "type": "string" + }, + "value": { + "const": "commercial.utility.telecoms.mast", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Telephone Exchange", + "type": "string" + }, + "value": { + "const": "commercial.utility.telecoms.exhange", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Water / Waste Water / Sewage Treatment Works", + "type": "string" + }, + "value": { + "const": "commercial.utility.waterTreatment", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Waste Water Treatment", + "type": "string" + }, + "value": { + "const": "commercial.utility.waterTreatment.waste", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Water Treatment", + "type": "string" + }, + "value": { + "const": "commercial.utility.waterTreatment.water", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Gas / Oil Storage / Distribution", + "type": "string" + }, + "value": { + "const": "commercial.utility.oilGas", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Gas Governor", + "type": "string" + }, + "value": { + "const": "commercial.utility.oilGas.gasGovernor", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Gas Holder", + "type": "string" + }, + "value": { + "const": "commercial.utility.oilGas.gasHolder", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Oil Terminal", + "type": "string" + }, + "value": { + "const": "commercial.utility.oilGas.oilTerminal", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Other Utility Use", + "type": "string" + }, + "value": { + "const": "commercial.utility.other", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cable Terminal Station", + "type": "string" + }, + "value": { + "const": "commercial.utility.other.cableTerminal", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Observatory", + "type": "string" + }, + "value": { + "const": "commercial.utility.other.observatory", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Radar Station", + "type": "string" + }, + "value": { + "const": "commercial.utility.other.radar", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Satellite Earth Station", + "type": "string" + }, + "value": { + "const": "commercial.utility.other.satelliteEarth", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Waste Management", + "type": "string" + }, + "value": { + "const": "commercial.utility.wasteManagement", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Telephone Box", + "type": "string" + }, + "value": { + "const": "commercial.utility.publicPhone.box", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Other Public Telephones", + "type": "string" + }, + "value": { + "const": "commercial.utility.publicPhone.other", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Dam", + "type": "string" + }, + "value": { + "const": "commercial.utility.dam", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Emergency / Rescue Service", + "type": "string" + }, + "value": { + "const": "commercial.emergency", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Nautical Navigation Beacon / Light", + "type": "string" + }, + "value": { + "const": "other.navigation.nautical.beacon", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Aid To Road Navigation", + "type": "string" + }, + "value": { + "const": "other.navigation.road", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Guide Post", + "type": "string" + }, + "value": { + "const": "other.navigation.guidePost", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Coastal Protection / Flood Prevention", + "type": "string" + }, + "value": { + "const": "other.coastal", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Boulder Wall / Sea Wall", + "type": "string" + }, + "value": { + "const": "other.coastal.wall", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Flood Gate / Flood Sluice Gate / Flood Valve", + "type": "string" + }, + "value": { + "const": "other.coastal.floodGate", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Groyne", + "type": "string" + }, + "value": { + "const": "other.coastal.groyne", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Rip-Rap", + "type": "string" + }, + "value": { + "const": "other.coastal.ripRap", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Emergency Support", + "type": "string" + }, + "value": { + "const": "other.emergency", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Beach Office / First Aid Facility", + "type": "string" + }, + "value": { + "const": "other.emergency.firstAid", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Emergency Telephone (Non Motorway)", + "type": "string" + }, + "value": { + "const": "other.emergency.telephone", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fire Alarm Structure / Fire Observation Tower / Fire Beater Facility", + "type": "string" + }, + "value": { + "const": "other.emergency.fire", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Emergency Equipment Point / Emergency Siren / Warning Flag", + "type": "string" + }, + "value": { + "const": "other.emergency.warning", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Lifeguard Facility", + "type": "string" + }, + "value": { + "const": "other.emergency.lifeguard", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "LIfe / Belt / Buoy / Float / Jacket / Safety Rope", + "type": "string" + }, + "value": { + "const": "other.emergency.floatAids", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Street Furniture", + "type": "string" + }, + "value": { + "const": "other.streetFurniture", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Agricultural Support Objects", + "type": "string" + }, + "value": { + "const": "other.agriculture", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Fish Ladder / Lock / Pen / Trap", + "type": "string" + }, + "value": { + "const": "other.agriculture.fishPen", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Livestock Pen / Dip", + "type": "string" + }, + "value": { + "const": "other.agriculture.livestockPen", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Currick", + "type": "string" + }, + "value": { + "const": "other.agriculture.currick", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Slurry Bed / Pit", + "type": "string" + }, + "value": { + "const": "other.agriculture.slurry", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Historical Site / Object", + "type": "string" + }, + "value": { + "const": "other.historic", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Historic Structure / Object", + "type": "string" + }, + "value": { + "const": "other.historic.structure", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Industrial Support", + "type": "string" + }, + "value": { + "const": "other.industrial", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Adit / Incline / Level", + "type": "string" + }, + "value": { + "const": "other.industrial.aditIncline", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Caisson / Dry Dock / Grid", + "type": "string" + }, + "value": { + "const": "other.industrial.caissonDock", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Channel / Conveyor / Conduit / Pipe", + "type": "string" + }, + "value": { + "const": "other.industrial.channel", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Chimney / Flue", + "type": "string" + }, + "value": { + "const": "other.industrial.chimney", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Crane / Hoist / Winch / Material Elevator", + "type": "string" + }, + "value": { + "const": "other.industrial.crane", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Flare Stack", + "type": "string" + }, + "value": { + "const": "other.industrial.flareStack", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Hopper / Silo / Cistern / Tank", + "type": "string" + }, + "value": { + "const": "other.industrial.siloTank", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Grab / Skip / Other Industrial Waste Machinery / Discharging", + "type": "string" + }, + "value": { + "const": "other.industrial.discharge", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Kiln / Oven / Smelter", + "type": "string" + }, + "value": { + "const": "other.industrial.kiln", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Manhole / Shaft", + "type": "string" + }, + "value": { + "const": "other.industrial.manholeShaft", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Industrial Overflow / Sluice / Valve / Valve Housing", + "type": "string" + }, + "value": { + "const": "other.industrial.overflowSluiceValve", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cooling Tower", + "type": "string" + }, + "value": { + "const": "other.industrial.coolingTower", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Solar Panel / Waterwheel", + "type": "string" + }, + "value": { + "const": "other.industrial.solarPanel", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Telephone Pole / Post", + "type": "string" + }, + "value": { + "const": "other.industrial.pylon.telecom", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Electricity Distribution Pole / Pylon", + "type": "string" + }, + "value": { + "const": "other.industrial.pylon.electricity", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Significant Natural Object", + "type": "string" + }, + "value": { + "const": "other.natural", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Boundary / Significant / Historic Tree / Pollard", + "type": "string" + }, + "value": { + "const": "other.natural.tree", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Boundary / Significant Rock / Boulder", + "type": "string" + }, + "value": { + "const": "other.natural.rock", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Natural Hole (Blow / Shake / Swallow)", + "type": "string" + }, + "value": { + "const": "other.natural.hole", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Ornamental / Cultural Object", + "type": "string" + }, + "value": { + "const": "other.ornamental", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mausoleum / Tomb / Grave", + "type": "string" + }, + "value": { + "const": "other.ornamental.tomb", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Simple Ornamental Object", + "type": "string" + }, + "value": { + "const": "other.ornamental.object", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Maze", + "type": "string" + }, + "value": { + "const": "other.ornamental.maze", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Sport / Leisure Support", + "type": "string" + }, + "value": { + "const": "other.leisure", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Butt / Hide", + "type": "string" + }, + "value": { + "const": "other.leisure.hide", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Gallop / Ride", + "type": "string" + }, + "value": { + "const": "other.leisure.gallop", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Miniature Railway", + "type": "string" + }, + "value": { + "const": "other.leisure.modelRailway", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Royal Mail Infrastructure", + "type": "string" + }, + "value": { + "const": "other.mail", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Postal Box", + "type": "string" + }, + "value": { + "const": "other.mail.postBox", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Postal Delivery Box / Pouch", + "type": "string" + }, + "value": { + "const": "other.mail.deliveryBox", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "PO Box", + "type": "string" + }, + "value": { + "const": "other.mail.POBox", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Additional Mail / Packet Addressee", + "type": "string" + }, + "value": { + "const": "other.mail.additionalAddressee", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Scientific / Observation Support", + "type": "string" + }, + "value": { + "const": "other.scientific", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Meteorological Station / Equipment", + "type": "string" + }, + "value": { + "const": "other.scientific.meteo", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Radar / Satellite Infrastructure", + "type": "string" + }, + "value": { + "const": "other.scientific.radarSatellite", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Telescope / Observation Infrastructure / Astronomy", + "type": "string" + }, + "value": { + "const": "other.scientific.astronomy", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Transport Support", + "type": "string" + }, + "value": { + "const": "other.transport", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cattle Grid / Ford", + "type": "string" + }, + "value": { + "const": "other.transport.cattleGridFord", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Elevator / Escalator / Steps", + "type": "string" + }, + "value": { + "const": "other.transport.stepsLiftEscalator", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Footbridge / Walkway", + "type": "string" + }, + "value": { + "const": "other.transport.bridge", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Pole / Post / Bollard (Restricting Vehicular Access)", + "type": "string" + }, + "value": { + "const": "other.transport.post", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Subway / Underpass", + "type": "string" + }, + "value": { + "const": "other.transport.subway", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Customs Inspection Facility", + "type": "string" + }, + "value": { + "const": "other.transport.customs", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Lay-By", + "type": "string" + }, + "value": { + "const": "other.transport.layby", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Level Crossing", + "type": "string" + }, + "value": { + "const": "other.transport.rail.crossing.vehicles", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mail Pick Up", + "type": "string" + }, + "value": { + "const": "other.transport.mailPickUp", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Railway Pedestrian Crossing", + "type": "string" + }, + "value": { + "const": "other.transport.rail.crossing.pedestrian", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Railway Buffer", + "type": "string" + }, + "value": { + "const": "other.transport.rail.buffer", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Rail Drag", + "type": "string" + }, + "value": { + "const": "other.transport.rail.drag", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Rail Infrastructure Services", + "type": "string" + }, + "value": { + "const": "other.transport.rail.infrastructure", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Rail Kilometre Distance Marker", + "type": "string" + }, + "value": { + "const": "other.transport.rail.marker.km", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Railway Lighting", + "type": "string" + }, + "value": { + "const": "other.transport.rail.lighting", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Rail Mile Distance Marker", + "type": "string" + }, + "value": { + "const": "other.transport.rail.market.mile", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Railway Turntable", + "type": "string" + }, + "value": { + "const": "other.transport.rail.turntable", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Rail Weighbridge", + "type": "string" + }, + "value": { + "const": "other.transport.rail.weighbridge", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Rail Signalling", + "type": "string" + }, + "value": { + "const": "other.transport.rail.signals", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Railway Traverse", + "type": "string" + }, + "value": { + "const": "other.transport.rail.traverse", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Goods Tramway", + "type": "string" + }, + "value": { + "const": "other.transport.goodsTramway", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Road Drag", + "type": "string" + }, + "value": { + "const": "other.transport.road.drag", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Vehicle Dip", + "type": "string" + }, + "value": { + "const": "other.transport.road.vehicleDip", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Road Turntable", + "type": "string" + }, + "value": { + "const": "other.transport.road.turntable", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Road Mile Distance Marker", + "type": "string" + }, + "value": { + "const": "other.transport.road.marker.mile", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Road Kilometre Distance Marker", + "type": "string" + }, + "value": { + "const": "other.transport.road.market.km", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Road Infrastructure Services", + "type": "string" + }, + "value": { + "const": "other.transport.road.infrastructure", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Unsupported Site", + "type": "string" + }, + "value": { + "const": "other.unsupported", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cycle Parking Facility", + "type": "string" + }, + "value": { + "const": "other.unsupported.cycleParking", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Picnic / Barbeque Site", + "type": "string" + }, + "value": { + "const": "other.unsupported.picnic", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Travelling Persons Site", + "type": "string" + }, + "value": { + "const": "other.unsupported.travellingPersons", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Shelter (Not Including Bus Shelter)", + "type": "string" + }, + "value": { + "const": "other.unsupported.shelter", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Street Record", + "type": "string" + }, + "value": { + "const": "parent.street", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Residential", + "type": "string" + }, + "value": { + "const": "residential", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Ancillary Building", + "type": "string" + }, + "value": { + "const": "residential.building", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Car Park Space", + "type": "string" + }, + "value": { + "const": "residential.carParkingSpace", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Allocated Parking", + "type": "string" + }, + "value": { + "const": "residential.carParkingSpace.allocated", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Residential dwelling", + "type": "string" + }, + "value": { + "const": "residential.dwelling", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Caravan", + "type": "string" + }, + "value": { + "const": "residential.dwelling.caravan", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Detached", + "type": "string" + }, + "value": { + "const": "residential.dwelling.house.detached", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Semi-detached", + "type": "string" + }, + "value": { + "const": "residential.dwelling.house.semiDetached", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Terrace", + "type": "string" + }, + "value": { + "const": "residential.dwelling.house.terrace", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Flat", + "type": "string" + }, + "value": { + "const": "residential.dwelling.flat", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "House Boat", + "type": "string" + }, + "value": { + "const": "residential.dwelling.boat", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Sheltered Accommodation", + "type": "string" + }, + "value": { + "const": "residential.dwelling.shelteredAccommodation", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Privately Owned Holiday Caravan / Chalet", + "type": "string" + }, + "value": { + "const": "residential.dwelling.holiday", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Garage", + "type": "string" + }, + "value": { + "const": "residential.garage", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Lock-Up Garage / Garage Court", + "type": "string" + }, + "value": { + "const": "residential.garage.court", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "House In Multiple Occupation", + "type": "string" + }, + "value": { + "const": "residential.HMO", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "HMO Parent", + "type": "string" + }, + "value": { + "const": "residential.HMO.parent", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "HMO Bedsit / Other Non Self Contained Accommodation", + "type": "string" + }, + "value": { + "const": "residential.HMO.bedsit", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "HMO Not Further Divided", + "type": "string" + }, + "value": { + "const": "residential.HMO.undivided", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Residential Institution", + "type": "string" + }, + "value": { + "const": "residential.institution", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Care / Nursing Home", + "type": "string" + }, + "value": { + "const": "residential.institution.care", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Communal Residence", + "type": "string" + }, + "value": { + "const": "residential.institution.communal", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Non-Commercial Lodgings", + "type": "string" + }, + "value": { + "const": "residential.institution.noncommercial", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Religious Community", + "type": "string" + }, + "value": { + "const": "residential.institution.religious", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Residential Education", + "type": "string" + }, + "value": { + "const": "residential.institution.education", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Unclassified", + "type": "string" + }, + "value": { + "const": "unclassified", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Awaiting Classification", + "type": "string" + }, + "value": { + "const": "unclassified.awaitingclassification", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Pending Internal Investigation", + "type": "string" + }, + "value": { + "const": "unclassified.pendingInvestigation", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Dual Use", + "type": "string" + }, + "value": { + "const": "dualUse", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Object of Interest", + "type": "string" + }, + "value": { + "const": "object", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Archaeological Dig Site", + "type": "string" + }, + "value": { + "const": "object.archaeological", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Monument", + "type": "string" + }, + "value": { + "const": "object.monument", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Obelisk / Milestone / Standing Stone", + "type": "string" + }, + "value": { + "const": "object.monument.vertical", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Obelisk", + "type": "string" + }, + "value": { + "const": "object.monument.vertical.obelisk", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Standing Stone", + "type": "string" + }, + "value": { + "const": "object.monument.vertical.standingStone", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Memorial / Market Cross", + "type": "string" + }, + "value": { + "const": "object.monument.memorial", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Statue", + "type": "string" + }, + "value": { + "const": "object.monument.statue", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Castle / Historic Ruin", + "type": "string" + }, + "value": { + "const": "object.monument.ruin", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Other Structure", + "type": "string" + }, + "value": { + "const": "object.monument.other", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Boundary Stone", + "type": "string" + }, + "value": { + "const": "object.monument.other.boundaryStone", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cascade / Fountain", + "type": "string" + }, + "value": { + "const": "object.monument.other.waterFeature", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Permanent Art Display / Sculpture", + "type": "string" + }, + "value": { + "const": "object.monument.other.art", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Windmill (Inactive)", + "type": "string" + }, + "value": { + "const": "object.monument.other.windmill", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Stately Home", + "type": "string" + }, + "value": { + "const": "object.statelyHome", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Underground Feature", + "type": "string" + }, + "value": { + "const": "object.underground", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cave", + "type": "string" + }, + "value": { + "const": "object.underground.cave", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Pothole / Natural Hole", + "type": "string" + }, + "value": { + "const": "object.underground.hole", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Other Underground Feature", + "type": "string" + }, + "value": { + "const": "object.underground.other", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cellar", + "type": "string" + }, + "value": { + "const": "object.underground.other.cellar", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Disused Mine", + "type": "string" + }, + "value": { + "const": "object.underground.other.extraction", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mineral Mining / Inactive", + "type": "string" + }, + "value": { + "const": "object.underground.other.extraction.mine", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Oil And / Gas Extraction/ Inactive", + "type": "string" + }, + "value": { + "const": "object.underground.other.extraction.oilGas", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mineral Quarrying And / Open Extraction / Inactive", + "type": "string" + }, + "value": { + "const": "object.underground.other.extraction.quarry", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Well / Spring", + "type": "string" + }, + "value": { + "const": "object.underground.other.water", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Spring", + "type": "string" + }, + "value": { + "const": "object.underground.other.water.spring", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Well", + "type": "string" + }, + "value": { + "const": "object.underground.other.water.well", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Place Of Worship", + "type": "string" + }, + "value": { + "const": "object.religious", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Religious building", + "type": "string" + }, + "value": { + "const": "object.religious.building", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Abbey", + "type": "string" + }, + "value": { + "const": "object.religious.building.abbey", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Cathedral", + "type": "string" + }, + "value": { + "const": "object.religious.building.cathedral", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Church", + "type": "string" + }, + "value": { + "const": "object.religious.building.church", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Chapel", + "type": "string" + }, + "value": { + "const": "object.religious.building.chapel", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Gurdwara", + "type": "string" + }, + "value": { + "const": "object.religious.building.gurdwara", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Kingdom Hall", + "type": "string" + }, + "value": { + "const": "object.religious.building.kingdomHall", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Lych Gate", + "type": "string" + }, + "value": { + "const": "object.religious.building.lychGate", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Mosque", + "type": "string" + }, + "value": { + "const": "object.religious.building.mosque", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Minster", + "type": "string" + }, + "value": { + "const": "object.religious.building.minster", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Stupa", + "type": "string" + }, + "value": { + "const": "object.religious.building.stupa", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Synagogue", + "type": "string" + }, + "value": { + "const": "object.religious.building.synagogue", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "Temple", + "type": "string" + }, + "value": { + "const": "object.religious.building.temple", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + } + ], + "description": "Property types derived from Basic Land and Property Unit (BLPU) classification codes" + }, + "Proposal": { + "$id": "#Proposal", + "additionalProperties": false, + "description": "Information about the project", + "properties": { + "completion": { + "enum": [ + "10plus", + "4plus", + "lessThan4", + "lessThan10" + ], + "type": "string" + }, + "date": { + "additionalProperties": false, + "properties": { + "finish": { + "$ref": "#/definitions/DateTime" + }, + "start": { + "$ref": "#/definitions/DateTime" + } + }, + "required": [ + "start", + "finish" + ], + "type": "object" + }, + "description": { + "type": "string" + }, + "projectType": { + "items": { + "$ref": "#/definitions/ProjectType" + }, + "type": "array" + }, + "time": { + "enum": [ + "future", + "past" + ], + "type": "string" + } + }, + "required": [ + "projectType", + "description" + ], + "type": "object" + }, + "ProposedAddress": { + "$id": "#ProposedAddress", + "additionalProperties": false, + "description": "Address information for sites without a known Unique Property Reference Number (UPRN)", + "properties": { + "latitude": { + "type": "number" + }, + "localAuthorityDistrict": { + "items": { + "type": "string" + }, + "type": "array" + }, + "longitude": { + "type": "number" + }, + "region": { + "type": "string" + }, + "source": { + "const": "Proposed by applicant", + "type": "string" + }, + "title": { + "type": "string" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "latitude", + "localAuthorityDistrict", + "longitude", + "region", + "source", + "title", + "x", + "y" + ], + "type": "object" + }, + "QuestionAndResponses": { + "additionalProperties": false, + "properties": { + "metadata": { + "$ref": "#/definitions/QuestionMetaData" + }, + "question": { + "type": "string" + }, + "responses": { + "anyOf": [ + { + "items": { + "$ref": "#/definitions/Response" + }, + "type": "array" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "question", + "responses" + ], + "type": "object" + }, + "QuestionMetaData": { + "additionalProperties": false, + "properties": { + "autoAnswered": { + "type": "boolean" + }, + "policyRefs": { + "items": { + "additionalProperties": false, + "properties": { + "text": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "sectionName": { + "type": "string" + } + }, + "type": "object" + }, + "Response": { + "additionalProperties": false, + "properties": { + "metadata": { + "$ref": "#/definitions/ResponseMetaData" + }, + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "ResponseMetaData": { + "additionalProperties": false, + "properties": { + "flags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Responses": { + "$id": "#Responses", + "description": "The ordered list of questions, answers, and their metadata for this application", + "items": { + "$ref": "#/definitions/QuestionAndResponses" + }, + "type": "array" + }, + "Result": { + "$id": "#Result", + "description": "The result of this application. Results are determined by flags corresponding to responses; each application can have up to one result per flagset", + "items": { + "$ref": "#/definitions/ResultFlag" + }, + "type": "array" + }, + "ResultFlag": { + "$id": "#ResultFlag", + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "description": { + "const": "It looks like the changes may now be beyond the time limit for enforcement action. This does not apply if the changes have been deliberately concealed.", + "type": "string" + }, + "value": { + "const": "Planning permission / Immune", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "There is some key information missing that will be needed to assess this application.", + "type": "string" + }, + "value": { + "const": "Planning permission / Missing information", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "It looks like the proposed changes may require planning permission.", + "type": "string" + }, + "value": { + "const": "Planning permission / Permission needed", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "It looks like the proposed changes do not require planning permission, however the applicant must apply for Prior Approval before proceeding.", + "type": "string" + }, + "value": { + "const": "Planning permission / Prior approval", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "It looks like the proposed changes may not require planning permission, however the applicant must provide notice to the planning authority before proceeding.", + "type": "string" + }, + "value": { + "const": "Planning permission / Notice", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "It looks like the proposed changes may fall within the rules for Permitted Development and therefore would not need planning permission.", + "type": "string" + }, + "value": { + "const": "Planning permission / Permitted development", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "It looks like the proposed changes may not fall within the legal definition of 'development', and therefore would not require planning permission.", + "type": "string" + }, + "value": { + "const": "Planning permission / Not development", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Listed building consent / Missing information", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Listed building consent / Required", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Listed building consent / De minimis", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Listed building consent / Not required", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Works to trees & hedges / Missing information", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Works to trees & hedges / Required", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Works to trees & hedges / De minimis", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Works to trees & hedges / Not required", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Demolition in a conservation area / Missing information", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Demolition in a conservation area / Required", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Demolition in a conservation area / De minimis", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Demolition in a conservation area / Not required", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Planning policy / Missing information", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Planning policy / Fails to meet policy", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Planning policy / Edge case", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Planning policy / Meets policy", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Community infrastructure levy / Missing information", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Community infrastructure levy / Exemption void", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Community infrastructure levy / Exempt", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Community infrastructure levy / Relief void", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Community infrastructure levy / Relief", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Community infrastructure levy / Liable", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "description": { + "const": "", + "type": "string" + }, + "value": { + "const": "Community infrastructure levy / Not liable", + "type": "string" + } + }, + "required": [ + "value", + "description" + ], + "type": "object" + } + ], + "description": "An individual result of this application" + }, + "SiteContact": { + "$id": "#SiteContact", + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "role": { + "enum": [ + "applicant", + "agent", + "proxy" + ], + "type": "string" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + { + "$ref": "#/definitions/SiteContactOther" + } + ], + "description": "Contact information for the site visit" + }, + "SiteContactOther": { + "$id": "#SiteContactOther", + "additionalProperties": false, + "description": "Contact information for the site visit when the SiteContact's role is 'other'", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "role": { + "const": "other", + "type": "string" + } + }, + "required": [ + "role", + "name", + "email", + "phone" + ], + "type": "object" + }, + "URL": { + "format": "uri", + "pattern": "^https?://", + "type": "string" + }, + "UUID": { + "format": "uuid", + "type": "string" + }, + "User": { + "$id": "User", + "additionalProperties": false, + "description": "The role of the user who completed the application", + "properties": { + "role": { + "enum": [ + "applicant", + "agent", + "proxy" + ], + "type": "string" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "UserAddress": { + "$id": "#UserAddress", + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "sameAsSiteAddress": { + "const": true, + "type": "boolean" + } + }, + "required": [ + "sameAsSiteAddress" + ], + "type": "object" + }, + { + "$ref": "#/definitions/UserAddressNotSameSite" + } + ], + "description": "Address information for any user" + }, + "UserAddressNotSameSite": { + "$id": "#UserAddressNotSameSite", + "additionalProperties": false, + "description": "Address information for any user who's contact information differs from the site address", + "properties": { + "country": { + "type": "string" + }, + "county": { + "type": "string" + }, + "line1": { + "type": "string" + }, + "line2": { + "type": "string" + }, + "postcode": { + "type": "string" + }, + "sameAsSiteAddress": { + "const": false, + "type": "boolean" + }, + "town": { + "type": "string" + } + }, + "required": [ + "sameAsSiteAddress", + "line1", + "town", + "postcode" + ], + "type": "object" + }, + "UserContact": { + "$id": "#UserContact", + "additionalProperties": false, + "description": "Contact information for any user", + "properties": { + "company": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + } + }, + "type": "object" + }, + "email": { + "$ref": "#/definitions/Email" + }, + "name": { + "additionalProperties": false, + "properties": { + "first": { + "type": "string" + }, + "last": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "first", + "last" + ], + "type": "object" + }, + "phone": { + "additionalProperties": false, + "properties": { + "primary": { + "type": "string" + } + }, + "required": [ + "primary" + ], + "type": "object" + } + }, + "required": [ + "name", + "email", + "phone" + ], + "type": "object" + } + }, + "description": "Root of PlanX's Digital Planning Schema", + "properties": { + "data": { + "additionalProperties": false, + "properties": { + "applicant": { + "$ref": "#/definitions/Applicant" + }, + "application": { + "$ref": "#/definitions/Application" + }, + "property": { + "$ref": "#/definitions/Property" + }, + "proposal": { + "$ref": "#/definitions/Proposal" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "required": [ + "applicant", + "property", + "application", + "proposal", + "user" + ], + "type": "object" + }, + "files": { + "items": { + "$ref": "#/definitions/File" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/Metadata" + }, + "responses": { + "$ref": "#/definitions/Responses" + }, + "result": { + "$ref": "#/definitions/Result" + } + }, + "required": [ + "data", + "result", + "metadata", + "responses", + "files" + ], + "title": "Digital Planning Data Schema", + "type": "object" +} \ No newline at end of file diff --git a/v0.0.3/types/Schema.ts b/v0.0.3/types/Schema.ts new file mode 100644 index 00000000..ce0feaab --- /dev/null +++ b/v0.0.3/types/Schema.ts @@ -0,0 +1,27 @@ +import {Result} from './schema/Result'; +import {Metadata} from './schema/Metadata'; +import {Responses} from './schema/Responses'; +import {Applicant} from './schema/data/Applicant'; +import {Application} from './schema/data/Application'; +import {Property} from './schema/data/Property'; +import {Proposal} from './schema/data/Proposal'; +import {User} from './schema/data/User'; +import {File} from './schema/File'; + +/** + * @title Digital Planning Data Schema + * @description Root of PlanX's Digital Planning Schema + */ +export interface Schema { + data: { + applicant: Applicant; + property: Property; + application: Application; + proposal: Proposal; + user: User; + }; + result: Result; + metadata: Metadata; + responses: Responses; + files: File[]; +} diff --git a/v0.0.3/types/enums/ApplicationTypes.ts b/v0.0.3/types/enums/ApplicationTypes.ts new file mode 100644 index 00000000..346d1c15 --- /dev/null +++ b/v0.0.3/types/enums/ApplicationTypes.ts @@ -0,0 +1,53 @@ +/** + * Values of `application.type` + */ +export const ApplicationTypes = { + ldc: 'Lawful Development Certificate', + 'ldc.proposed': 'Lawful Development Certificate - Proposed', + 'ldc.existing': 'Lawful Development Certificate - Existing', + pa: 'Prior Approval', + 'pa.part1.classA': 'Prior Approval - Larger extension to a house', + 'pa.part1.classAA': 'Prior Approval - Adding storeys to a house', + 'pa.part3.classG': + 'Prior Approval - Convert a commercial building to mixed use', + 'pa.part3.classM': + 'Prior Approval - Convert a mixed use building into a home', + 'pa.part3.classMA': + '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.classQ': + 'Prior Approval - Convert an agricultural building into a home', + 'pa.part3.classR': + 'Prior Approval - Convert an agricultural building to a commercial use', + 'pa.part3.classS': + 'Prior Approval - Convert an agricultural building to a school', + 'pa.part3.classT': + '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.classA': + 'Prior Approval - Build new agricultural buildings on a unit of 5 hectares or more', + 'pa.part6.classB': + 'Prior Approval - Build new agricultural buildings on a unit of less than 5 hectares', + 'pa.part6.classE': 'Prior Approval - Build new forestry buildings', + 'pa.part7.classC': 'Prior Approval - Install click and collect facilities', + 'pa.part7.classM': + 'Prior Approval - Extend a school, college, university, prison or hospital', + 'pa.part11.classB': 'Prior Approval - Demolish a building', + 'pa.part14.classJ': 'Prior Approval - Install or change solar panels', + 'pa.part16.classA': 'Prior Approval - Install telecommunications equipment', + 'pa.part20.classA': + 'Prior Approval - Build homes on a detached blocks of flats', + 'pa.part20.classAA': + 'Prior Approval - Build homes on a detached commercial building', + 'pa.part20.classAB': + 'Prior Approval - Build homes on an adjoining commercial or mixed use building', + 'pa.part20.classAC': 'Prior Approval - Build homes on adjoining houses', + 'pa.part20.classAD': 'Prior Approval - Build homes on detached houses', + 'pa.part20.classZA': + 'Prior Approval - Demolish buildings and build homes in their place', + pp: 'Planning Permission', + 'pp.full.householder': 'Planning Permission', + 'pp.full.householder.retro': 'Planning Permission', +}; diff --git a/v0.0.3/types/enums/FileTypes.ts b/v0.0.3/types/enums/FileTypes.ts new file mode 100644 index 00000000..123f1371 --- /dev/null +++ b/v0.0.3/types/enums/FileTypes.ts @@ -0,0 +1,41 @@ +/** + * File types + */ +export const FileTypes = { + 'property.drawing.elevation': 'Elevation plan - existing', + 'property.drawing.floorPlan': 'Floor plan - existing', + 'property.drawing.roofPlan': 'Roof plan - existing', + 'property.drawing.section': 'Section - existing', + 'property.drawing.sitePlan': 'Site plan - existing', + 'property.drawing.usePlan': 'Use plan - existing', + 'property.photograph': 'Photographs', + 'property.site.locationPlan': 'Location plan', + 'proposal.drawing.elevation': 'Elevation plan - proposed', + 'proposal.drawing.floorPlan': 'Floor plan - proposed', + 'proposal.drawing.other': 'Other - drawing', + 'proposal.drawing.roofPlan': 'Roof plan - proposed', + 'proposal.drawing.section': 'Section - proposed', + 'proposal.drawing.sitePlan': 'Site plan - proposed', + 'proposal.drawing.unitPlan': 'Unit plan - proposed', + 'proposal.drawing.usePlan': 'Use plan - proposed', + 'proposal.document.bankStatement': 'Bank statement', + 'proposal.document.buildingControl.certificate': + 'Building control certificate', + 'proposal.document.construction.invoice': 'Construction invoice', + 'proposal.document.contamination': 'Contamination report', + 'proposal.document.councilTaxBill': 'Council tax bill', + 'proposal.document.declaration': 'Statuatory declaration', + 'proposal.document.designAndAccess': 'Design and Access Statement', + 'proposal.document.floodRisk': 'Flood risk assessment', + 'proposal.document.heritageStatement': 'Heritage Statement', + 'proposal.document.noise': 'Noise assessment', + 'proposal.document.other': 'Other - document', + 'proposal.document.other.evidence': 'Other - correspondence', + 'proposal.document.sunAndDaylight': 'Sunlight and daylight report', + 'proposal.document.tenancyAgreement': 'Tenancy agreement', + 'proposal.document.tenancyInvoice': 'Tenancy invoice', + 'proposal.document.transport': 'Transport assessment', + 'proposal.document.utility.bill': 'Utility bill', + 'proposal.photograph': 'Photographs', + 'proposal.visualisation': 'Visualisations', +}; diff --git a/v0.0.3/types/enums/Flags.ts b/v0.0.3/types/enums/Flags.ts new file mode 100644 index 00000000..506da97c --- /dev/null +++ b/v0.0.3/types/enums/Flags.ts @@ -0,0 +1,42 @@ +/** + * Flags + */ +export const Flags = { + 'Planning permission / Immune': + 'It looks like the changes may now be beyond the time limit for enforcement action. This does not apply if the changes have been deliberately concealed.', + 'Planning permission / Missing information': + 'There is some key information missing that will be needed to assess this application.', + 'Planning permission / Permission needed': + 'It looks like the proposed changes may require planning permission.', + 'Planning permission / Prior approval': + 'It looks like the proposed changes do not require planning permission, however the applicant must apply for Prior Approval before proceeding.', + 'Planning permission / Notice': + 'It looks like the proposed changes may not require planning permission, however the applicant must provide notice to the planning authority before proceeding.', + 'Planning permission / Permitted development': + 'It looks like the proposed changes may fall within the rules for Permitted Development and therefore would not need planning permission.', + 'Planning permission / Not development': + "It looks like the proposed changes may not fall within the legal definition of 'development', and therefore would not require planning permission.", + 'Listed building consent / Missing information': '', + 'Listed building consent / Required': '', + 'Listed building consent / De minimis': '', + 'Listed building consent / Not required': '', + 'Works to trees & hedges / Missing information': '', + 'Works to trees & hedges / Required': '', + 'Works to trees & hedges / De minimis': '', + 'Works to trees & hedges / Not required': '', + 'Demolition in a conservation area / Missing information': '', + 'Demolition in a conservation area / Required': '', + 'Demolition in a conservation area / De minimis': '', + 'Demolition in a conservation area / Not required': '', + 'Planning policy / Missing information': '', + 'Planning policy / Fails to meet policy': '', + 'Planning policy / Edge case': '', + 'Planning policy / Meets policy': '', + 'Community infrastructure levy / Missing information': '', + 'Community infrastructure levy / Exemption void': '', + 'Community infrastructure levy / Exempt': '', + 'Community infrastructure levy / Relief void': '', + 'Community infrastructure levy / Relief': '', + 'Community infrastructure levy / Liable': '', + 'Community infrastructure levy / Not liable': '', +}; diff --git a/v0.0.3/types/enums/ProjectTypes.ts b/v0.0.3/types/enums/ProjectTypes.ts new file mode 100644 index 00000000..238ca6c4 --- /dev/null +++ b/v0.0.3/types/enums/ProjectTypes.ts @@ -0,0 +1,92 @@ +/** + * Values of proposal.projectType + */ +export const ProjectTypes = { + 'alter.balcony': 'Add or alter a balcony', + 'alter.bayWindow': 'Add or remove a bay window', + 'alter.boundary': 'Changes to a fence, wall or gate', + 'alter.cables': 'Install underground cables', + 'alter.chimneys': 'Change chimneys', + 'alter.drains': 'Work on drains', + 'alter.equipment.airConditioning': 'Install an air conditioning unit', + 'alter.equipment.alarm': 'Install a security alarm', + 'alter.equipment.antennae': 'Install a satellite dish or aerial', + 'alter.equipment.biomass': 'Install a flue with a biomass burner', + 'alter.equipment.cctv': 'Install CCTV cameras', + 'alter.equipment.charging': 'Install a car charging point', + 'alter.equipment.heatPump': 'Install a heat pump', + 'alter.equipment.lighting': 'Install outdoor lights', + 'alter.equipment.solar': 'Install solar panels', + 'alter.equipment.tank': 'Install an outdoor tank (for example a water tank)', + 'alter.equipment.wind': 'Install a wind turbine', + 'alter.facades': 'Change the material or colour of the external walls', + 'alter.highways': + 'Changes to a public road, pavement or path (including drop kerb)', + 'alter.landscape': 'Landscaping works', + 'alter.landscape.ponds': 'Add or remove a pond', + 'alter.openings.add': 'Add new doorways or windows', + 'alter.openings.alter': 'Change the size of doorways or windows', + 'alter.openings.remove': 'Block up doorways or windows', + 'alter.remove': 'Remove part of a building (such as a decorative feature)', + 'alter.remove.equipment': 'Remove equipment', // Remove energy equipment + 'alter.repair': 'Repair windows or doors', + 'alter.replace': 'Replace windows or doors', + 'alter.roof.materials': 'Replace or change the roof materials', + 'alter.roof.roofTerrace': 'Add a roof terrace', + 'alter.roof.shape': 'Change the shape of a roof', + 'alter.rooflight': 'Add skylights to an existing roof', + 'alter.secondaryGlazing': 'Add secondary glazing to a window', + 'alter.shopfronts': 'Add or alter shop fronts', + 'alter.shutters': 'Add or alter shutters', + 'alter.soilPipes': 'Add or replace a soil pipe', + 'alter.staircase': 'Add or change an external staircase', + 'alter.surfaces': 'Add a decked area or patio', + 'alter.surfaces.parking': 'Add a driveway or parking area', + 'alter.swimmingPool': 'Install a swimming pool', + 'alter.trees': 'Changes to trees or hedges', + changeOfUse: 'Convert a building to a different use', + 'changeofUse.annexe': + 'Convert part of the property into a granny flat (residential annexe)', + 'changeOfUse.caravans': 'Use a caravan or mobile home on the property', + 'changeOfUse.garage': 'Convert a garage', + 'changeOfUse.let.part': 'Let a part of the property', + 'changeOfUse.let.whole': 'Let the property', + 'changeOfUse.outbuilding': + 'Convert an outbuilding (such as a shed, garage or barn)', // Change the use of an outbuilding (such as a shed, garage or barn) + 'changeOfUse.part': 'Convert part of a building', // Change the use of part of a building + 'changeOfUse.whole': 'Change the use of a property', + 'changeOfUse.whole.homeToHMO': 'Convert a home to bedsits or a shared home', // Share a home + 'changeOfUse.workFromHome': 'Work from home', + demolish: 'Demolish a building', + 'demolish.boundary': 'Demolish a fence, gate or boundary wall', + 'demolish.full': 'Demolish a building', + 'demolish.outbuildings': 'Demolish an outbuilding (such as a garage or barn)', + 'demolish.part': 'Demolish part of a building (such as an extension)', + 'demolish.replace': 'Demolish a building and build homes in its place', + 'extend.basement': 'Add a basement extension', + 'extend.front': 'Add a front extension', + 'extend.outbuildings': + 'Add an outbuilding (such as a shed, garage or garden office)', // Outbuildings (shed, car shelter or garden office) + 'extend.porch': 'Add a porch', + 'extend.rear': 'Add a rear or side extension (or conservatory)', + 'extend.roof': 'Add a roof extension', + 'extend.roof.dormer': 'Add roof dormers', + internal: 'Change the internal layout', // Internal building works + 'internal.loft': 'Convert a loft', + 'internal.mezzanine': 'Add a mezzanine floor', + new: 'Another type of building', + 'new.agriculture': 'Agricultural buildings', + 'new.clickCollect': 'Install click and collect facilities', + 'new.forestry': 'Build new forestry buildings', + 'new.leisure': 'Leisure premises', + 'new.industrial': 'Industrial premises', + 'new.office': 'Offices', + 'new.residential.dwelling': 'Build new homes on a roof', // Homes + 'new.retail': 'Retail premises', + 'new.telecoms': 'Install telecommunications equipment', + 'new.temporaryStructure': + 'Erect a temporary structure for historic visitor attractions and listed buildings', + 'new.warehouse': 'Storage or distribution premises', + 'unit.merge': 'Convert two or more properties into one', + 'unit.subdivide': 'Convert part of a house into a flat', // Convert a home into flats +}; diff --git a/v0.0.3/types/enums/PropertyTypes.ts b/v0.0.3/types/enums/PropertyTypes.ts new file mode 100644 index 00000000..b903708d --- /dev/null +++ b/v0.0.3/types/enums/PropertyTypes.ts @@ -0,0 +1,505 @@ +/** + * Values of `property.type` + */ +export const PropertyTypes = { + commercial: 'Commercial', + 'commercial.agriculture': 'Agricultural', + 'commercial.agriculture.farm': 'Farm / Non-Residential Associated Building', + 'commercial.fish': 'Fishery', + 'commercial.fish.farm': 'Fish Farming', + 'commercial.fish.hatchery': 'Fish Hatchery', + 'commercial.fish.processing': 'Fish Processing', + 'commercial.fish.oysters': 'Oyster / Mussel Bed', + 'commercial.horticulture': 'Horticulture', + 'commercial.horticulture.smallholding': 'Smallholding', + 'commercial.horticulture.vineyard': 'Vineyard', + 'commercial.horticulture.watercress': 'Watercress Bed', + 'commercial.abattoir': 'Slaughter House / Abattoir', + 'commercial.ancilliary': 'Ancillary Building', + 'commercial.community': 'Community Services', + 'commercial.community.court': 'Law Court', + 'commercial.community.prison': 'Prison', + 'commercial.community.prison.detention': 'HM Detention Centre', + 'commercial.community.prison.service': 'HM Prison Service', + 'commercial.community.prison.secureResidential': + 'Secure Residential Accommodation', + 'commercial.community.hall': + 'Public / Village Hall / Other Community Facility', + 'commercial.community.hall.club': 'Youth Recreational / Social Club', + 'commercial.community.wc': 'Public Convenience', + 'commercial.community.cemetary': + 'Cemetery / Crematorium / Graveyard. In Current Use.', + 'commercial.community.cemetary.columbarium': 'Columbarium', + 'commercial.community.cemetary.crematorium': 'Crematorium', + 'commercial.community.cemetary.chapelOfRest': 'Chapel Of Rest', + 'commercial.community.cemetary.cemetary': 'Cemetery', + 'commercial.community.cemetary.military': 'Military Cemetery', + 'commercial.community.cemetary.mortuary': 'Mortuary', + 'commercial.community.religious': + 'Church Hall / Religious Meeting Place / Hall', + 'commercial.community.services': 'Community Service Centre / Office', + 'commercial.community.HWRC': 'Public Household Waste Recycling Centre (HWRC)', + 'commercial.community.recycling': 'Recycling Site', + 'commercial.community.CCTV': 'CCTV', + 'commercial.community.employment': 'Job Centre', + 'commercial.education': 'Education', + 'commercial.education.college': 'College', + 'commercial.education.college.further': 'Further Education', + 'commercial.education.college.higher': 'Higher Education', + 'commercial.education.nursery': "Children's Nursery / Crèche", + 'commercial.education.school': + 'Preparatory / First / Primary / Infant / Junior / Middle School', + 'commercial.education.school.first': 'First School', + 'commercial.education.school.infant': 'Infant School', + 'commercial.education.school.junior': 'Junior School', + 'commercial.education.school.middle': 'Middle School', + 'commercial.education.school.primary.private': + 'Non State Primary / Preparatory School', + 'commercial.education.school.primary.state': 'Primary School', + 'commercial.education.secondarySchool': 'Secondary / High School', + 'commercial.education.secondarySchool.private': 'Non State Secondary School', + 'commercial.education.secondarySchool.state': 'Secondary School', + 'commercial.education.university': 'University', + 'commercial.education.specialNeeds': 'Special Needs Establishment.', + 'commercial.education.other': 'Other Educational Establishment', + 'commercial.guest': 'Hotel / Motel / Boarding / Guest House', + 'commercial.guest.hostel': + 'Boarding / Guest House / Bed And Breakfast / Youth Hostel', + 'commercial.guest.hostel.youth': 'Youth Hostel', + 'commercial.guest.shortLet': + 'Holiday Let/Accomodation/Short-Term Let Other Than CH01', + 'commercial.guest.hotel': 'Hotel/Motel', + 'commercial.industrial': + 'Industrial Applicable to manufacturing, engineering, maintenance, storage / wholesale distribution and extraction sites', + 'commercial.industrial.manufacturing': 'Factory/Manufacturing', + 'commercial.industrial.manufacturing.aircraft': 'Aircraft Works', + 'commercial.industrial.manufacturing.boats': 'Boat Building', + 'commercial.industrial.manufacturing.bricks': 'Brick Works', + 'commercial.industrial.manufacturing.beer': 'Brewery', + 'commercial.industrial.manufacturing.cider': 'Cider Manufacture', + 'commercial.industrial.manufacturing.chemicals': 'Chemical Works', + 'commercial.industrial.manufacturing.cement': 'Cement Works', + 'commercial.industrial.manufacturing.dairy': 'Dairy Processing', + 'commercial.industrial.manufacturing.distillery': 'Distillery', + 'commercial.industrial.manufacturing.flour': 'Flour Mill', + 'commercial.industrial.manufacturing.food': 'Food Processing', + 'commercial.industrial.manufacturing.glass': 'Glassworks', + 'commercial.industrial.manufacturing.other': 'Manufacturing', + 'commercial.industrial.manufacturing.hops': 'Oast House', + 'commercial.industrial.manufacturing.oil': 'Oil Refining', + 'commercial.industrial.manufacturing.pottery': 'Pottery Manufacturing', + 'commercial.industrial.manufacturing.paper': 'Paper Mill', + 'commercial.industrial.manufacturing.printing': 'Printing Works', + 'commercial.industrial.manufacturing.sugar': 'Sugar Refinery', + 'commercial.industrial.manufacturing.steel': 'Steel Works', + 'commercial.industrial.manufacturing.timber': 'Timber Mill', + 'commercial.industrial.manufacturing.wine': 'Winery', + 'commercial.industrial.manufacturing.ships': 'Shipyard', + 'commercial.industrial.extraction': 'Mineral / Ore Working / Quarry / Mine', + 'commercial.industrial.extraction.mining': 'Mineral Mining / Active', + 'commercial.industrial.extraction.distribution': + 'Mineral Distribution / Storage', + 'commercial.industrial.extraction.processing': 'Mineral Processing', + 'commercial.industrial.extraction.oilGas': 'Oil / Gas Extraction / Active', + 'commercial.industrial.extraction.quarrying': + 'Mineral Quarrying / Open Extraction / Active', + 'commercial.industrial.light': 'Workshop / Light Industrial', + 'commercial.industrial.light.garage': 'Servicing Garage', + 'commercial.industrial.light.storage': 'Warehouse / Store / Storage Depot', + 'commercial.industrial.light.storage.crops': 'Crop Handling / Storage', + 'commercial.industrial.light.storage.post': 'Postal Sorting / Distribution', + 'commercial.industrial.light.storage.solidFuel': 'Solid Fuel Storage', + 'commercial.industrial.light.storage.timber': 'Timber Storage', + 'commercial.industrial.distribution': 'Wholesale Distribution', + 'commercial.industrial.distribution.solidFueld': 'Solid Fuel Distribution', + 'commercial.industrial.distribution.timber': 'Timber Distribution', + 'commercial.industrial.recycling': 'Recycling Plant', + 'commercial.industrial.incineration': 'Incinerator / Waste Transfer Station', + 'commercial.industrial.maintenanceDepot': 'Maintenance Depot', + 'commercial.leisure': + 'Leisure - Applicable to recreational sites and enterprises', + 'commercial.leisure.amusements': 'Amusements', + 'commercial.leisure.amusements.pier': 'Leisure Pier', + 'commercial.leisure.holiday': 'Holiday / Campsite', + 'commercial.leisure.holiday.camping': 'Camping', + 'commercial.leisure.holiday.caravanning': 'Caravanning', + 'commercial.leisure.holiday.accommodation': 'Holiday Accommodation', + 'commercial.leisure.holiday.centre': 'Holiday Centre', + 'commercial.leisure.holiday.youth': 'Youth Organisation Camp', + 'commercial.leisure.library': 'Library', + 'commercial.leisure.library.readingRoom': 'Reading Room', + 'commercial.leisure.museum': 'Museum / Gallery', + 'commercial.leisure.museum.art': 'Art Centre / Gallery', + 'commercial.leisure.museum.aviation': 'Aviation Museum', + 'commercial.leisure.museum.heritage': 'Heritage Centre', + 'commercial.leisure.museum.industrial': 'Industrial Museum', + 'commercial.leisure.museum.military': 'Military Museum', + 'commercial.leisure.museum.maritime': 'Maritime Museum', + 'commercial.leisure.museum.science': 'Science Museum', + 'commercial.leisure.museum.transport': 'Transport Museum', + 'commercial.leisure.sport': + 'Indoor / Outdoor Leisure / Sporting Activity / Centre', + 'commercial.leisure.sport.athletics': 'Athletics Facility', + 'commercial.leisure.sport.bowls': 'Bowls Facility', + 'commercial.leisure.sport.cricket': 'Cricket Facility', + 'commercial.leisure.sport.curling': 'Curling Facility', + 'commercial.leisure.sport.swimming': 'Diving / Swimming Facility', + 'commercial.leisure.sport.equestrian': 'Equestrian Sports Facility', + 'commercial.leisure.sport.football': 'Football Facility', + 'commercial.leisure.sport.fishing': 'Fishing / Angling Facility', + 'commercial.leisure.sport.golf': 'Golf Facility', + 'commercial.leisure.sport.gliding': 'Gliding Facility', + 'commercial.leisure.sport.dogracing': 'Greyhound Racing Facility', + 'commercial.leisure.sport.hockey': 'Hockey Facility', + 'commercial.leisure.sport.horseracing': 'Horse Racing Facility', + 'commercial.leisure.sport.historicVehicles': + 'Historic Vessel / Aircraft / Vehicle', + 'commercial.leisure.sport.centre': 'Activity / Leisure / Sports Centre', + 'commercial.leisure.sport.model': 'Model Sports Facility', + 'commercial.leisure.sport.motor': 'Motor Sports Facility', + 'commercial.leisure.sport.playingField': 'Playing Field', + 'commercial.leisure.sport.racquet': 'Racquet Sports Facility', + 'commercial.leisure.sport.rugby': 'Rugby Facility', + 'commercial.leisure.sport.recreationGround': 'Recreation Ground', + 'commercial.leisure.sport.shinty': 'Shinty Facility', + 'commercial.leisure.sport.skateboarding': 'Skateboarding Facility', + 'commercial.leisure.sport.firing': 'Civilian Firing Facility', + 'commercial.leisure.sport.tenpin': 'Tenpin Bowling Facility', + 'commercial.leisure.sport.tennis': 'Public Tennis Court', + 'commercial.leisure.sport.water': 'Water Sports Facility', + 'commercial.leisure.sport.winter': 'Winter Sports Facility', + 'commercial.leisure.sport.wildlife': 'Wildlife Sports Facility', + 'commercial.leisure.sport.cycling': 'Cycling Sports Facility', + 'commercial.leisure.entertainment': + 'Bingo Hall / Cinema / Conference / Exhibition Centre / Theatre / Concert Hall', + 'commercial.leisure.entertainment.cinema': 'Cinema', + 'commercial.leisure.entertainment.mixed': 'Entertainment Complex', + 'commercial.leisure.entertainment.exhibition': + 'Conference / Exhibition Centre', + 'commercial.leisure.entertainment.theatre': 'Theatre', + 'commercial.leisure.park.zoo': 'Zoo / Theme Park', + 'commercial.leisure.park.amusement': 'Amusement Park', + 'commercial.leisure.park.aquatic': 'Aquatic Attraction', + 'commercial.leisure.park.model': 'Model Village Site', + 'commercial.leisure.park.wildlife': 'Wildlife / Zoological Park', + 'commercial.leisure.beachHut': + 'Beach Hut (Recreational, Non-Residential Use Only)', + 'commercial.leisure.club.private': "Licensed Private Members' Club", + 'commercial.leisure.club.social': 'Recreational / Social Club', + 'commercial.leisure.arena': 'Arena / Stadium', + 'commercial.leisure.arena.stadium': 'Stadium', + 'commercial.leisure.arena.showground': 'Showground', + 'commercial.medical': 'Medical', + 'commercial.medical.dentist': 'Dentist', + 'commercial.medical.GP': 'General Practice Surgery / Clinic', + 'commercial.medical.healthCentre': 'Health Centre', + 'commercial.medical.healthServices': 'Health Care Services', + 'commercial.medical.care': 'Hospital / Hospice', + 'commercial.medical.care.home': 'Care home/Hospice', + 'commercial.medical.care.hospital': 'Hospital', + 'commercial.medical.lab': 'Medical / Testing / Research Laboratory', + 'commercial.medical.professional': 'Professional Medical Service', + 'commercial.medical.assessment': 'Assessment / Development Services', + 'commercial.animals': 'Animal Centre', + 'commercial.animals.kennelsCattery': 'Cattery / Kennel', + 'commercial.animals.services': 'Animal Services', + 'commercial.animals.services.quarantine': 'Animal Quarantining', + 'commercial.animals.equestrian': 'Equestrian', + 'commercial.animals.equestrian.racing': 'Horse Racing / Breeding Stable', + 'commercial.animals.equestrian.riding': 'Commercial Stabling / Riding', + 'commercial.animals.vet': 'Vet / Animal Medical Treatment', + 'commercial.animals.sanctuary': 'Animal / Bird / Marine Sanctuary', + 'commercial.animals.sanctuary.animals': 'Animal Sanctuary', + 'commercial.animals.sanctuary.marine': 'Marine Sanctuary', + 'commercial.office': 'Office', + 'commercial.office.workspace': 'Office / Work Studio', + 'commercial.office.workspace.embassy': + 'Embassy /, High Commission / Consulate', + 'commercial.office.workspace.film': 'Film Studio', + 'commercial.office.workspace.gov.national': 'Central Government Service', + 'commercial.office.workspace.gov.local': 'Local Government Service', + 'commercial.office.broadcasting': 'Broadcasting (TV / Radio)', + 'commercial.retail': 'Retail', + 'commercial.retail.financial': 'Bank / Financial Service', + 'commercial.retail.services': 'Retail Service Agent', + 'commercial.retail.post': 'Post Office', + 'commercial.retail.market': 'Market (Indoor / Outdoor)', + 'commercial.retail.market.fish': 'Fish Market', + 'commercial.retail.market.fruit': 'Fruit / Vegetable Market', + 'commercial.retail.market.livestock': 'Livestock Market', + 'commercial.retail.fuel': 'Petrol Filling Station', + 'commercial.retail.drinking': 'Public House / Bar / Nightclub', + 'commercial.retail.restaurant': 'Restaurant / Cafeteria', + 'commercial.retail.showroom': 'Shop / Showroom', + 'commercial.retail.shop': 'Shop', + 'commercial.retail.shop.gardenCentre': 'Garden Centre', + 'commercial.retail.licensedPremises': 'Other Licensed Premise / Vendor', + 'commercial.retail.takeaway': 'Fast Food Outlet / Takeaway (Hot / Cold)', + 'commercial.retail.atm': 'Automated Teller Machine (ATM)', + 'commercial.storageLand': 'Storage Land', + 'commercial.storageLand.general': 'General Storage Land', + 'commercial.storageLand.building': "Builders' Yard", + 'commercial.transport': 'Transport', + 'commercial.transport.air': + 'Airfield / Airstrip / Airport / Air Transport Infrastructure Facility', + 'commercial.transport.air.airfield': 'Airfield', + 'commercial.transport.air.infrastructure': + 'Air Transport Infrastructure Services', + 'commercial.transport.air.airport': 'Airport', + 'commercial.transport.air.passengerTerminal': 'Air Passenger Terminal', + 'commercial.transport.air.helicopterStation': 'Helicopter Station', + 'commercial.transport.air.heliport': 'Heliport / Helipad', + 'commercial.transport.bus': 'Bus Shelter', + 'commercial.transport.parking': + 'Car / Coach / Commercial Vehicle / Taxi Parking / Park And Ride Site', + 'commercial.transport.parking.parkAndRide': 'Public Park And Ride', + 'commercial.transport.parking.car': 'Public Car Parking', + 'commercial.transport.parking.coach': 'Public Coach Parking', + 'commercial.transport.parking.commercialVehicle': + 'Public Commercial Vehicle Parking', + 'commercial.transport.freight': 'Goods Freight Handling / Terminal', + 'commercial.transport.freight.air': 'Air Freight Terminal', + 'commercial.transport.freight.container': 'Container Freight', + 'commercial.transport.freight.road': 'Road Freight Transport', + 'commercial.transport.freight.rail': 'Rail Freight Transport', + 'commercial.transport.marina': 'Marina', + 'commercial.transport.mooring': 'Mooring', + 'commercial.transport.railAsset': 'Railway Asset', + 'commercial.transport.terminal': 'Station / Interchange / Terminal / Halt', + 'commercial.transport.terminal.bus': 'Bus station', + 'commercial.transport.terminal.train': 'Train station', + 'commercial.transport.terminal.vehicularRail': 'Vehicular Rail Terminal', + 'commercial.transport.track': 'Transport Track / Way', + 'commercial.transport.track.cliff': 'Cliff Railway', + 'commercial.transport.track.cable': 'Chair Lift / Cable Car / Ski Tow', + 'commercial.transport.track.monorail': 'Monorail', + 'commercial.transport.storage': 'Vehicle Storage', + 'commercial.transport.storage.boat': 'Boat Storage', + 'commercial.transport.storage.bus': 'Bus / Coach Depot', + 'commercial.transport.infrastructure': 'Transport Related Infrastructure', + 'commercial.transport.infrastructure.aqueduct': 'Aqueduct', + 'commercial.transport.infrastructure.lock': 'Lock', + 'commercial.transport.infrastructure.weir': 'Weir', + 'commercial.transport.infrastructure.weighing': 'Weighbridge / Load Gauge', + 'commercial.transport.overnightLorryPark': 'Overnight Lorry Park', + 'commercial.transport.dock': + 'Harbour / Port / Dock / Dockyard / Slipway / Landing Stage / Pier / Jetty / Pontoon / Terminal / Berthing / Quay', + 'commercial.transport.dock.ferry.passengers': 'Passenger Ferry Terminal', + 'commercial.transport.dock.generalBerth': 'Non-Tanker Nautical Berthing', + 'commercial.transport.dock.refuelling': 'Nautical Refuelling Facility', + 'commercial.transport.dock.slipway': 'Slipway', + 'commercial.transport.dock.passenger': 'Ship Passenger Terminal', + 'commercial.transport.dock.tankerBerth': 'Tanker Berthing', + 'commercial.transport.dock.ferry.vehicles': 'Vehicular Ferry Terminal', + 'commercial.utility': 'Utility', + 'commercial.utility.SubStation': 'Electricity Sub-Station', + 'commercial.utility.landfill': 'Landfill', + 'commercial.utility.electricity': 'Power Station / Energy Production', + 'commercial.utility.electricity.distribution': + 'Electricity Distribution Facility', + 'commercial.utility.electricity.production': + 'Electricity Production Facility', + 'commercial.utility.electricity.windFarm': 'Wind Farm', + 'commercial.utility.electricity.windTurbine': 'Wind Turbine', + 'commercial.utility.water': 'Pump House / Pumping Station / Water Tower', + 'commercial.utility.water.pump.control': 'Water Controlling / Pumping', + 'commercial.utility.water.pump.distribution': 'Water Distribution / Pumping', + 'commercial.utility.water.qualityMonitoring': 'Water Quality Monitoring', + 'commercial.utility.water.storage': 'Water Storage', + 'commercial.utility.water.waste': 'Waste Water Distribution / Pumping', + 'commercial.utility.telecoms': 'Telecommunication', + 'commercial.utility.telecoms.mast': 'Telecommunications Mast', + 'commercial.utility.telecoms.exhange': 'Telephone Exchange', + 'commercial.utility.waterTreatment': + 'Water / Waste Water / Sewage Treatment Works', + 'commercial.utility.waterTreatment.waste': 'Waste Water Treatment', + 'commercial.utility.waterTreatment.water': 'Water Treatment', + 'commercial.utility.oilGas': 'Gas / Oil Storage / Distribution', + 'commercial.utility.oilGas.gasGovernor': 'Gas Governor', + 'commercial.utility.oilGas.gasHolder': 'Gas Holder', + 'commercial.utility.oilGas.oilTerminal': 'Oil Terminal', + 'commercial.utility.other': 'Other Utility Use', + 'commercial.utility.other.cableTerminal': 'Cable Terminal Station', + 'commercial.utility.other.observatory': 'Observatory', + 'commercial.utility.other.radar': 'Radar Station', + 'commercial.utility.other.satelliteEarth': 'Satellite Earth Station', + 'commercial.utility.wasteManagement': 'Waste Management', + 'commercial.utility.publicPhone.box': 'Telephone Box', + 'commercial.utility.publicPhone.other': 'Other Public Telephones', + 'commercial.utility.dam': 'Dam', + 'commercial.emergency': 'Emergency / Rescue Service', + 'other.navigation.nautical.beacon': 'Nautical Navigation Beacon / Light', + 'other.navigation.road': 'Aid To Road Navigation', + 'other.navigation.guidePost': 'Guide Post', + 'other.coastal': 'Coastal Protection / Flood Prevention', + 'other.coastal.wall': 'Boulder Wall / Sea Wall', + 'other.coastal.floodGate': 'Flood Gate / Flood Sluice Gate / Flood Valve', + 'other.coastal.groyne': 'Groyne', + 'other.coastal.ripRap': 'Rip-Rap', + 'other.emergency': 'Emergency Support', + 'other.emergency.firstAid': 'Beach Office / First Aid Facility', + 'other.emergency.telephone': 'Emergency Telephone (Non Motorway)', + 'other.emergency.fire': + 'Fire Alarm Structure / Fire Observation Tower / Fire Beater Facility', + 'other.emergency.warning': + 'Emergency Equipment Point / Emergency Siren / Warning Flag', + 'other.emergency.lifeguard': 'Lifeguard Facility', + 'other.emergency.floatAids': + 'LIfe / Belt / Buoy / Float / Jacket / Safety Rope', + 'other.streetFurniture': 'Street Furniture', + 'other.agriculture': 'Agricultural Support Objects', + 'other.agriculture.fishPen': 'Fish Ladder / Lock / Pen / Trap', + 'other.agriculture.livestockPen': 'Livestock Pen / Dip', + 'other.agriculture.currick': 'Currick', + 'other.agriculture.slurry': 'Slurry Bed / Pit', + 'other.historic': 'Historical Site / Object', + 'other.historic.structure': 'Historic Structure / Object', + 'other.industrial': 'Industrial Support', + 'other.industrial.aditIncline': 'Adit / Incline / Level', + 'other.industrial.caissonDock': 'Caisson / Dry Dock / Grid', + 'other.industrial.channel': 'Channel / Conveyor / Conduit / Pipe', + 'other.industrial.chimney': 'Chimney / Flue', + 'other.industrial.crane': 'Crane / Hoist / Winch / Material Elevator', + 'other.industrial.flareStack': 'Flare Stack', + 'other.industrial.siloTank': 'Hopper / Silo / Cistern / Tank', + 'other.industrial.discharge': + 'Grab / Skip / Other Industrial Waste Machinery / Discharging', + 'other.industrial.kiln': 'Kiln / Oven / Smelter', + 'other.industrial.manholeShaft': 'Manhole / Shaft', + 'other.industrial.overflowSluiceValve': + 'Industrial Overflow / Sluice / Valve / Valve Housing', + 'other.industrial.coolingTower': 'Cooling Tower', + 'other.industrial.solarPanel': 'Solar Panel / Waterwheel', + 'other.industrial.pylon.telecom': 'Telephone Pole / Post', + 'other.industrial.pylon.electricity': 'Electricity Distribution Pole / Pylon', + 'other.natural': 'Significant Natural Object', + 'other.natural.tree': 'Boundary / Significant / Historic Tree / Pollard', + 'other.natural.rock': 'Boundary / Significant Rock / Boulder', + 'other.natural.hole': 'Natural Hole (Blow / Shake / Swallow)', + 'other.ornamental': 'Ornamental / Cultural Object', + 'other.ornamental.tomb': 'Mausoleum / Tomb / Grave', + 'other.ornamental.object': 'Simple Ornamental Object', + 'other.ornamental.maze': 'Maze', + 'other.leisure': 'Sport / Leisure Support', + 'other.leisure.hide': 'Butt / Hide', + 'other.leisure.gallop': 'Gallop / Ride', + 'other.leisure.modelRailway': 'Miniature Railway', + 'other.mail': 'Royal Mail Infrastructure', + 'other.mail.postBox': 'Postal Box', + 'other.mail.deliveryBox': 'Postal Delivery Box / Pouch', + 'other.mail.POBox': 'PO Box', + 'other.mail.additionalAddressee': 'Additional Mail / Packet Addressee', + 'other.scientific': 'Scientific / Observation Support', + 'other.scientific.meteo': 'Meteorological Station / Equipment', + 'other.scientific.radarSatellite': 'Radar / Satellite Infrastructure', + 'other.scientific.astronomy': + 'Telescope / Observation Infrastructure / Astronomy', + 'other.transport': 'Transport Support', + 'other.transport.cattleGridFord': 'Cattle Grid / Ford', + 'other.transport.stepsLiftEscalator': 'Elevator / Escalator / Steps', + 'other.transport.bridge': 'Footbridge / Walkway', + 'other.transport.post': + 'Pole / Post / Bollard (Restricting Vehicular Access)', + 'other.transport.subway': 'Subway / Underpass', + 'other.transport.customs': 'Customs Inspection Facility', + 'other.transport.layby': 'Lay-By', + 'other.transport.rail.crossing.vehicles': 'Level Crossing', + 'other.transport.mailPickUp': 'Mail Pick Up', + 'other.transport.rail.crossing.pedestrian': 'Railway Pedestrian Crossing', + 'other.transport.rail.buffer': 'Railway Buffer', + 'other.transport.rail.drag': 'Rail Drag', + 'other.transport.rail.infrastructure': 'Rail Infrastructure Services', + 'other.transport.rail.marker.km': 'Rail Kilometre Distance Marker', + 'other.transport.rail.lighting': 'Railway Lighting', + 'other.transport.rail.market.mile': 'Rail Mile Distance Marker', + 'other.transport.rail.turntable': 'Railway Turntable', + 'other.transport.rail.weighbridge': 'Rail Weighbridge', + 'other.transport.rail.signals': 'Rail Signalling', + 'other.transport.rail.traverse': 'Railway Traverse', + 'other.transport.goodsTramway': 'Goods Tramway', + 'other.transport.road.drag': 'Road Drag', + 'other.transport.road.vehicleDip': 'Vehicle Dip', + 'other.transport.road.turntable': 'Road Turntable', + 'other.transport.road.marker.mile': 'Road Mile Distance Marker', + 'other.transport.road.market.km': 'Road Kilometre Distance Marker', + 'other.transport.road.infrastructure': 'Road Infrastructure Services', + 'other.unsupported': 'Unsupported Site', + 'other.unsupported.cycleParking': 'Cycle Parking Facility', + 'other.unsupported.picnic': 'Picnic / Barbeque Site', + 'other.unsupported.travellingPersons': 'Travelling Persons Site', + 'other.unsupported.shelter': 'Shelter (Not Including Bus Shelter)', + 'parent.street': 'Street Record', + residential: 'Residential', + 'residential.building': 'Ancillary Building', + 'residential.carParkingSpace': 'Car Park Space', + 'residential.carParkingSpace.allocated': 'Allocated Parking', + 'residential.dwelling': 'Residential dwelling', + 'residential.dwelling.caravan': 'Caravan', + 'residential.dwelling.house.detached': 'Detached', + 'residential.dwelling.house.semiDetached': 'Semi-detached', + 'residential.dwelling.house.terrace': 'Terrace', + 'residential.dwelling.flat': 'Flat', + 'residential.dwelling.boat': 'House Boat', + 'residential.dwelling.shelteredAccommodation': 'Sheltered Accommodation', + 'residential.dwelling.holiday': 'Privately Owned Holiday Caravan / Chalet', + 'residential.garage': 'Garage', + 'residential.garage.court': 'Lock-Up Garage / Garage Court', + 'residential.HMO': 'House In Multiple Occupation', + 'residential.HMO.parent': 'HMO Parent', + 'residential.HMO.bedsit': + 'HMO Bedsit / Other Non Self Contained Accommodation', + 'residential.HMO.undivided': 'HMO Not Further Divided', + 'residential.institution': 'Residential Institution', + 'residential.institution.care': 'Care / Nursing Home', + 'residential.institution.communal': 'Communal Residence', + 'residential.institution.noncommercial': 'Non-Commercial Lodgings', + 'residential.institution.religious': 'Religious Community', + 'residential.institution.education': 'Residential Education', + unclassified: 'Unclassified', + 'unclassified.awaitingclassification': 'Awaiting Classification', + 'unclassified.pendingInvestigation': 'Pending Internal Investigation', + dualUse: 'Dual Use', + object: 'Object of Interest', + 'object.archaeological': 'Archaeological Dig Site', + 'object.monument': 'Monument', + 'object.monument.vertical': 'Obelisk / Milestone / Standing Stone', + 'object.monument.vertical.obelisk': 'Obelisk', + 'object.monument.vertical.standingStone': 'Standing Stone', + 'object.monument.memorial': 'Memorial / Market Cross', + 'object.monument.statue': 'Statue', + 'object.monument.ruin': 'Castle / Historic Ruin', + 'object.monument.other': 'Other Structure', + 'object.monument.other.boundaryStone': 'Boundary Stone', + 'object.monument.other.waterFeature': 'Cascade / Fountain', + 'object.monument.other.art': 'Permanent Art Display / Sculpture', + 'object.monument.other.windmill': 'Windmill (Inactive)', + 'object.statelyHome': 'Stately Home', + 'object.underground': 'Underground Feature', + 'object.underground.cave': 'Cave', + 'object.underground.hole': 'Pothole / Natural Hole', + 'object.underground.other': 'Other Underground Feature', + 'object.underground.other.cellar': 'Cellar', + 'object.underground.other.extraction': 'Disused Mine', + 'object.underground.other.extraction.mine': 'Mineral Mining / Inactive', + 'object.underground.other.extraction.oilGas': + 'Oil And / Gas Extraction/ Inactive', + 'object.underground.other.extraction.quarry': + 'Mineral Quarrying And / Open Extraction / Inactive', + 'object.underground.other.water': 'Well / Spring', + 'object.underground.other.water.spring': 'Spring', + 'object.underground.other.water.well': 'Well', + 'object.religious': 'Place Of Worship', + 'object.religious.building': 'Religious building', + 'object.religious.building.abbey': 'Abbey', + 'object.religious.building.cathedral': 'Cathedral', + 'object.religious.building.church': 'Church', + 'object.religious.building.chapel': 'Chapel', + 'object.religious.building.gurdwara': 'Gurdwara', + 'object.religious.building.kingdomHall': 'Kingdom Hall', + 'object.religious.building.lychGate': 'Lych Gate', + 'object.religious.building.mosque': 'Mosque', + 'object.religious.building.minster': 'Minster', + 'object.religious.building.stupa': 'Stupa', + 'object.religious.building.synagogue': 'Synagogue', + 'object.religious.building.temple': 'Temple', +}; diff --git a/v0.0.3/types/schema/File.ts b/v0.0.3/types/schema/File.ts new file mode 100644 index 00000000..c04ebd04 --- /dev/null +++ b/v0.0.3/types/schema/File.ts @@ -0,0 +1,28 @@ +import {FileTypes} from '../enums/FileTypes'; + +/** + * @id #File + * @description Files uploaded by the user to support this application + */ +export interface File { + name: string; + type: FileType[]; + description?: string; +} + +type FileTypeKeys = keyof typeof FileTypes; + +type GenericFileType = { + value: TKey; + description: (typeof FileTypes)[TKey]; +}; + +type FileTypeMap = { + [K in FileTypeKeys]: GenericFileType; +}; + +/** + * @id #FileType + * @description Types of planning documents and drawings + */ +export type FileType = FileTypeMap[keyof FileTypeMap]; diff --git a/types/schema/Metadata.ts b/v0.0.3/types/schema/Metadata.ts similarity index 100% rename from types/schema/Metadata.ts rename to v0.0.3/types/schema/Metadata.ts diff --git a/v0.0.3/types/schema/Responses.ts b/v0.0.3/types/schema/Responses.ts new file mode 100644 index 00000000..5c2d1a45 --- /dev/null +++ b/v0.0.3/types/schema/Responses.ts @@ -0,0 +1,29 @@ +/** + * @id #Responses + * @description The ordered list of questions, answers, and their metadata for this application + */ +export type Responses = QuestionAndResponses[]; + +export interface QuestionMetaData { + autoAnswered?: boolean; + policyRefs?: Array<{ + url?: string; + text?: string; + }>; + sectionName?: string; +} + +export interface ResponseMetaData { + flags?: Array; // @todo connect to result/flags enum +} + +export interface Response { + value: string; + metadata?: ResponseMetaData; +} + +export interface QuestionAndResponses { + question: string; + responses: Array | string; + metadata?: QuestionMetaData; +} diff --git a/v0.0.3/types/schema/Result.ts b/v0.0.3/types/schema/Result.ts new file mode 100644 index 00000000..ffd4c46b --- /dev/null +++ b/v0.0.3/types/schema/Result.ts @@ -0,0 +1,24 @@ +import {Flags} from '../enums/Flags'; + +/** + * @id #Result + * @description The result of this application. Results are determined by flags corresponding to responses; each application can have up to one result per flagset + */ +export type Result = ResultFlag[]; // @todo validate/restrict array to one result per flagset + +type FlagKeys = keyof typeof Flags; + +type GenericFlag = { + value: TKey; + description: (typeof Flags)[TKey]; +}; + +type FlagMap = { + [K in FlagKeys]: GenericFlag; +}; + +/** + * @id #ResultFlag + * @description An individual result of this application + */ +export type ResultFlag = FlagMap[keyof FlagMap]; diff --git a/v0.0.3/types/schema/data/Applicant.ts b/v0.0.3/types/schema/data/Applicant.ts new file mode 100644 index 00000000..1209cd65 --- /dev/null +++ b/v0.0.3/types/schema/data/Applicant.ts @@ -0,0 +1,86 @@ +import {Email} from '../../utils'; +import {User} from './User'; + +/** + * @id #Applicant + * @description The user who completed the application either for themself or on behalf of someone else + */ +export type Applicant = BaseApplicant | Agent; + +/** + * @id #BaseApplicant + * @description Information about the user who completed the application for themself, or information about the resident who the user applied on behalf of + */ +export interface BaseApplicant { + type: 'individual' | 'company' | 'charity' | 'public' | 'parishCouncil'; + contact: UserContact; + address: UserAddress; + siteContact: SiteContact; +} + +/** + * @id #Agent + * @description Information about the user who completed the application on behalf of someone else + */ +export interface Agent extends BaseApplicant { + agent: { + contact: UserContact; + address: UserAddress; + }; +} + +/** + * @id #UserContact + * @description Contact information for any user + */ +export interface UserContact { + name: { + title?: string; + first: string; + last: string; + }; + email: Email; // @todo only require for BaseApplicant OR Agent, not both + phone: { + primary: string; // @todo only require for BaseApplicant OR Agent, not both + }; + company?: { + name?: string; + }; +} + +/** + * @id #UserAddress + * @description Address information for any user + */ +export type UserAddress = {sameAsSiteAddress: true} | UserAddressNotSameSite; + +/** + * @id #UserAddressNotSameSite + * @description Address information for any user who's contact information differs from the site address + */ +export interface UserAddressNotSameSite { + sameAsSiteAddress: false; + line1: string; + line2?: string; + town: string; + county?: string; + postcode: string; + country?: string; +} + +/** + * @id #SiteContact + * @description Contact information for the site visit + */ +export type SiteContact = {role: User['role']} | SiteContactOther; + +/** + * @id #SiteContactOther + * @description Contact information for the site visit when the SiteContact's role is 'other' + */ +export interface SiteContactOther { + role: 'other'; + name: string; + email: string; + phone: string; +} diff --git a/v0.0.3/types/schema/data/Application.ts b/v0.0.3/types/schema/data/Application.ts new file mode 100644 index 00000000..ca936c52 --- /dev/null +++ b/v0.0.3/types/schema/data/Application.ts @@ -0,0 +1,72 @@ +import {DateTime} from '../../utils'; +import {ApplicationTypes} from '../../enums/ApplicationTypes'; + +/** + * @id #Application + * @description Information about this planning application + */ +export interface Application { + type: ApplicationType; + fee: ApplicationFee; + declaration: { + accurate: true; + connection: + | 'employee' + | 'relation.employee' + | 'electedMember' + | 'relation.electedMember' + | 'none'; + description?: string; // application.declaration.connection.description in content + }; + preApp?: PreApplication; +} + +/** + * @id #ApplicationFee + * @description The costs associated with this application + */ +export interface ApplicationFee { + calculated: number; + payable: number; + exemption: { + disability: boolean; // @todo add application.fee.exemption.disability.reason & applicant.disability.evidence (file) + resubmission: boolean; // @todo add application.resubmission.original.applicationReference & application.resubmission.originalReference.appeal + }; + reduction: { + alternative: boolean; + parishCouncil: boolean; + sports: boolean; + }; + reference?: { + // @todo require when payable > 0 + govPay: string; + }; +} + +/** + * @id #PreApplication + * @description Details of the pre-application, if applicable + */ +export interface PreApplication { + reference: string; + date: DateTime; + officer: string; + summary: string; +} + +type ApplicationTypeKeys = keyof typeof ApplicationTypes; + +type GenericApplicationType = { + value: TKey; + description: (typeof ApplicationTypes)[TKey]; +}; + +type ApplicationTypeMap = { + [K in ApplicationTypeKeys]: GenericApplicationType; +}; + +/** + * @id #ApplicationType + * @description Planning application types supported by this schema + */ +export type ApplicationType = ApplicationTypeMap[keyof ApplicationTypeMap]; diff --git a/v0.0.3/types/schema/data/Property.ts b/v0.0.3/types/schema/data/Property.ts new file mode 100644 index 00000000..21364fde --- /dev/null +++ b/v0.0.3/types/schema/data/Property.ts @@ -0,0 +1,78 @@ +import {PropertyTypes} from '../../enums/PropertyTypes'; + +/** + * @id #Property + * @description The site where the works will happen + */ +export interface Property { + address: ProposedAddress | OSAddress; + type: PropertyType; + boundary?: { + site: string; // @todo use GeoJSON from utils here, but ajv tests failing + area: { + squareMeters: number; + hectares: number; + }; + }; + constraints?: { + planning: { + value: string; + description: string; + intersects: boolean; + }[]; + }; +} + +/** + * @id #SiteAddress + * @description Address information available for any site, whether existing or proposed + */ +export interface SiteAddress { + title: string; + x: number; + y: number; + latitude: number; + longitude: number; + region: string; + localAuthorityDistrict: string[]; +} + +/** + * @id #ProposedAddress + * @description Address information for sites without a known Unique Property Reference Number (UPRN) + */ +export interface ProposedAddress extends SiteAddress { + source: 'Proposed by applicant'; +} + +/** + * @id #OSAddress + * @description Address information for sites with a known address sourced from Ordnance Survey AddressBase Premium + */ +export interface OSAddress extends SiteAddress { + uprn: string; + usrn: string; + pao: string; + street: string; + town: string; + postcode: string; + organisation?: string; + source: 'Ordnance Survey'; +} + +type PropertyTypeKeys = keyof typeof PropertyTypes; + +type GenericPropertyType = { + value: TKey; + description: (typeof PropertyTypes)[TKey]; +}; + +type PropertyTypeMap = { + [K in PropertyTypeKeys]: GenericPropertyType; +}; + +/** + * @id #PropertyType + * @description Property types derived from Basic Land and Property Unit (BLPU) classification codes + */ +export type PropertyType = PropertyTypeMap[keyof PropertyTypeMap]; diff --git a/v0.0.3/types/schema/data/Proposal.ts b/v0.0.3/types/schema/data/Proposal.ts new file mode 100644 index 00000000..0a673af2 --- /dev/null +++ b/v0.0.3/types/schema/data/Proposal.ts @@ -0,0 +1,34 @@ +import {ProjectTypes} from '../../enums/ProjectTypes'; +import {DateTime} from '../../utils'; + +/** + * @id #Proposal + * @description Information about the project + */ +export interface Proposal { + projectType: ProjectType[]; + description: string; + date?: { + start: DateTime; + finish: DateTime; + }; + time?: 'future' | 'past'; + completion?: '10plus' | '4plus' | 'lessThan4' | 'lessThan10'; +} + +type ProjectTypeKeys = keyof typeof ProjectTypes; + +type GenericProjectType = { + value: TKey; + description: (typeof ProjectTypes)[TKey]; +}; + +type ProjectTypeMap = { + [K in ProjectTypeKeys]: GenericProjectType; +}; + +/** + * @id #ProjectType + * @description Planning project types + */ +export type ProjectType = ProjectTypeMap[keyof ProjectTypeMap]; diff --git a/v0.0.3/types/schema/data/User.ts b/v0.0.3/types/schema/data/User.ts new file mode 100644 index 00000000..43c45ac8 --- /dev/null +++ b/v0.0.3/types/schema/data/User.ts @@ -0,0 +1,7 @@ +/** + * @id User + * @description The role of the user who completed the application + */ +export interface User { + role: 'applicant' | 'agent' | 'proxy'; +} diff --git a/v0.0.3/types/utils.ts b/v0.0.3/types/utils.ts new file mode 100644 index 00000000..11ad3214 --- /dev/null +++ b/v0.0.3/types/utils.ts @@ -0,0 +1,25 @@ +/** + * @format uuid + */ +export type UUID = string; + +/** + * @format email + */ +export type Email = string; + +/** + * @format uri + * @pattern ^https?:// + */ +export type URL = string; + +/** + * @format date-time + */ +export type DateTime = string; + +/** + * @format geojson + */ +export type GeoJSON = string;