diff --git a/examples/data/ldcE.ts b/examples/data/ldcE.ts index eeff926a..e8f87a2a 100644 --- a/examples/data/ldcE.ts +++ b/examples/data/ldcE.ts @@ -1233,6 +1233,42 @@ export const validLDCE: Schema = { service: { flowId: '824628b2-deeb-48b0-92b1-2ca7f3b17163', url: 'https://www.editor.planx.dev/buckinghamshire/apply-for-a-lawful-development-certificate/preview', + files: { + required: [ + { + value: 'photographs.proposed', + description: 'Photographs - proposed', + }, + { + value: 'sitePlan.proposed', + description: 'Site plan - proposed', + }, + + { + value: 'elevations.proposed', + description: 'Elevations - proposed', + }, + { + value: 'floorPlan.proposed', + description: 'Floor plan - proposed', + }, + { + value: 'floorPlan.proposed', + description: 'Floor plan - proposed', + }, + ], + recommended: [ + { + value: 'otherEvidence', + description: 'Other - evidence or correspondence', + }, + { + value: 'constructionInvoice', + description: 'Construction invoice', + }, + ], + optional: [], + }, }, submittedAt: '2023-10-02t00:00:00z', schema: diff --git a/examples/data/ldcP.ts b/examples/data/ldcP.ts index a02062e5..d44c69f8 100644 --- a/examples/data/ldcP.ts +++ b/examples/data/ldcP.ts @@ -837,6 +837,44 @@ export const validLDCP: Schema = { service: { flowId: '824628b2-deeb-48b0-92b1-2ca7f3b17163', url: 'https://www.editor.planx.dev/buckinghamshire/apply-for-a-lawful-development-certificate/preview', + files: { + required: [ + { + value: 'roofPlan.existing', + description: 'Roof plan - existing', + }, + { + value: 'sitePlan.existing', + description: 'Site plan - existing', + }, + { + value: 'roofPlan.proposed', + description: 'Roof plan - proposed', + }, + { + value: 'sitePlan.proposed', + description: 'Site plan - proposed', + }, + { + value: 'elevations.existing', + description: 'Elevations - existing', + }, + { + value: 'floorPlan.existing', + description: 'Floor plan - existing', + }, + { + value: 'elevations.proposed', + description: 'Elevations - proposed', + }, + { + value: 'floorPlan.proposed', + description: 'Floor plan - proposed', + }, + ], + recommended: [], + optional: [], + }, }, submittedAt: '2023-10-02T00:00:00+01:00', schema: diff --git a/examples/data/planningPermission.ts b/examples/data/planningPermission.ts index a17b09ba..c4b7f922 100644 --- a/examples/data/planningPermission.ts +++ b/examples/data/planningPermission.ts @@ -1255,6 +1255,45 @@ export const validPlanningPermission: Schema = { service: { flowId: '01e38c5d-e701-4e44-acdc-4d6b5cc3b854', url: 'https://www.editor.planx.dev/lambeth/apply-for-planning-permission/preview', + files: { + required: [ + { + value: 'roofPlan.existing', + description: 'Roof plan - existing', + }, + { + value: 'roofPlan.proposed', + description: 'Roof plan - proposed', + }, + { + value: 'sitePlan.existing', + description: 'Site plan - existing', + }, + { + value: 'sitePlan.proposed', + description: 'Site plan - proposed', + }, + { + value: 'elevations.existing', + description: 'Elevations - existing', + }, + { + value: 'elevations.proposed', + description: 'Elevations - proposed', + }, + ], + recommended: [ + { + value: 'floorPlan.existing', + description: 'Floor plan - existing', + }, + { + value: 'floorPlan.proposed', + description: 'Floor plan - proposed', + }, + ], + optional: [], + }, }, submittedAt: '2023-10-02T00:00:00.00Z', schema: diff --git a/examples/data/priorApproval.ts b/examples/data/priorApproval.ts index 7a726f90..4d033b91 100644 --- a/examples/data/priorApproval.ts +++ b/examples/data/priorApproval.ts @@ -772,6 +772,21 @@ export const validPriorApproval: Schema = { service: { flowId: 'c6628103-c648-4663-81e1-bfa0a1a18340', url: 'https://www.editor.planx.dev/southwark/apply-for-prior-approval/preview', + files: { + required: [ + { + value: 'otherDrawing', + description: 'Other - drawing', + }, + ], + recommended: [], + optional: [ + { + value: 'sitePlan.proposed', + description: 'Site plan - proposed', + }, + ], + }, }, submittedAt: '2023-10-02T00:00:00Z', schema: diff --git a/types/schema/Metadata.ts b/types/schema/Metadata.ts index 71e7733c..35128ef0 100644 --- a/types/schema/Metadata.ts +++ b/types/schema/Metadata.ts @@ -1,4 +1,5 @@ import {DateTime, URL, UUID} from './../utils'; +import {FileType} from './File'; /** * @id #DigitalPlanningMetadata @@ -24,6 +25,16 @@ export interface BaseMetadata { schema: URL; } +/** + * @id #RequestedFiles + * @description File types requested by this service. Schema["files"] will be a subset of this list based on the user's journey through the service. + */ +export interface RequestedFiles { + required: FileType[]; + recommended: FileType[]; + optional: FileType[]; +} + /** * @id #PlanXMetadata * @description Additional metadata associated with applications submitted via PlanX @@ -33,5 +44,6 @@ export interface PlanXMetadata extends BaseMetadata { service: { flowId: UUID; url: URL; + files: RequestedFiles; }; }