@planning-inspectorate/data-model 2.8.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/docs/appeal-document.md +86 -71
  2. package/docs/appeal-s78.md +87 -6
  3. package/package.json +1 -1
  4. package/pins_data_model/models/model_appeal_document.py +16 -1
  5. package/pins_data_model/models/model_appeal_event.py +1 -1
  6. package/pins_data_model/models/model_appeal_event_estimate.py +1 -1
  7. package/pins_data_model/models/model_appeal_has.py +1 -1
  8. package/pins_data_model/models/model_appeal_representation.py +1 -1
  9. package/pins_data_model/models/model_appeal_s78.py +41 -5
  10. package/pins_data_model/models/model_dart_response.py +1 -1
  11. package/pins_data_model/models/model_entraid.py +1 -1
  12. package/pins_data_model/models/model_folder.py +1 -1
  13. package/pins_data_model/models/model_gettimesheets_response.py +1 -1
  14. package/pins_data_model/models/model_listed_building.py +1 -1
  15. package/pins_data_model/models/model_listed_buildings.py +1 -1
  16. package/pins_data_model/models/model_nsip_document.py +1 -1
  17. package/pins_data_model/models/model_nsip_exam_timetable.py +1 -1
  18. package/pins_data_model/models/model_nsip_invoice.py +1 -1
  19. package/pins_data_model/models/model_nsip_meeting.py +1 -1
  20. package/pins_data_model/models/model_nsip_project.py +1 -1
  21. package/pins_data_model/models/model_nsip_project_update.py +1 -1
  22. package/pins_data_model/models/model_nsip_representation.py +1 -1
  23. package/pins_data_model/models/model_nsip_subscription.py +1 -1
  24. package/pins_data_model/models/model_pins_inspector.py +1 -1
  25. package/pins_data_model/models/model_pins_lpa.py +1 -1
  26. package/pins_data_model/models/model_s51_advice.py +1 -1
  27. package/pins_data_model/models/model_service_user.py +1 -1
  28. package/schemas/appeal-document.schema.json +15 -0
  29. package/schemas/appeal-s78.schema.json +20 -3
  30. package/schemas/commands/appellant-submission.schema.json +1 -1
  31. package/src/enums.cjs +15 -0
  32. package/src/enums.d.ts +15 -0
  33. package/src/enums.js +15 -0
  34. package/src/index.cjs +15 -0
@@ -535,77 +535,92 @@ The type of document, used for exchange, migrations and consumption from the app
535
535
 
536
536
  **enum**: the value of this property must be equal to one of the following values:
537
537
 
538
- | Value | Explanation |
539
- | :-------------------------------- | :---------- |
540
- | `"appellantCaseCorrespondence"` | |
541
- | `"appellantCaseWithdrawalLetter"` | |
542
- | `"appellantCostsApplication"` | |
543
- | `"appellantCostsCorrespondence"` | |
544
- | `"appellantCostsWithdrawal"` | |
545
- | `"appellantStatement"` | |
546
- | `"applicationDecisionLetter"` | |
547
- | `"changedDescription"` | |
548
- | `"originalApplicationForm"` | |
549
- | `"whoNotified"` | |
550
- | `"whoNotifiedSiteNotice"` | |
551
- | `"whoNotifiedLetterToNeighbours"` | |
552
- | `"whoNotifiedPressAdvert"` | |
553
- | `"conservationMap"` | |
554
- | `"lpaCaseCorrespondence"` | |
555
- | `"lpaCostsApplication"` | |
556
- | `"lpaCostsCorrespondence"` | |
557
- | `"lpaCostsWithdrawal"` | |
558
- | `"otherPartyRepresentations"` | |
559
- | `"planningOfficerReport"` | |
560
- | `"appellantCostsDecisionLetter"` | |
561
- | `"lpaCostsDecisionLetter"` | |
562
- | `"caseDecisionLetter"` | |
563
- | `"crossTeamCorrespondence"` | |
564
- | `"inspectorCorrespondence"` | |
565
- | `"mainPartyCorrespondence"` | |
566
- | `"uncategorised"` | |
567
- | `"designAccessStatement"` | |
568
- | `"plansDrawings"` | |
569
- | `"newPlansDrawings"` | |
570
- | `"planningObligation"` | |
571
- | `"ownershipCertificate"` | |
572
- | `"otherNewDocuments"` | |
573
- | `"statementCommonGround"` | |
574
- | `"communityInfrastructureLevy"` | |
575
- | `"supplementaryPlanning"` | |
576
- | `"otherRelevantPolicies"` | |
577
- | `"emergingPlan"` | |
578
- | `"developmentPlanPolicies"` | |
579
- | `"consultationResponses"` | |
580
- | `"eiaEnvironmentalStatement"` | |
581
- | `"eiaScreeningDirection"` | |
582
- | `"eiaScreeningOpinion"` | |
583
- | `"eiaScopingOpinion"` | |
584
- | `"definitiveMapStatement"` | |
585
- | `"treePreservationPlan"` | |
586
- | `"interestedPartyComment"` | |
587
- | `"lpaStatement"` | |
588
- | `"rule6Statement"` | |
589
- | `"appellantFinalComment"` | |
590
- | `"lpaFinalComment"` | |
591
- | `"appellantProofOfEvidence"` | |
592
- | `"appellantWitnessesEvidence"` | |
593
- | `"lpaProofOfEvidence"` | |
594
- | `"lpaWitnessesEvidence"` | |
595
- | `"rule6ProofOfEvidence"` | |
596
- | `"rule6WitnessesEvidence"` | |
597
- | `"environmentalAssessment"` | |
598
- | `"appealNotification"` | |
599
- | `"historicEnglandConsultation"` | |
600
- | `"stopNotice"` | |
601
- | `"article4Direction"` | |
602
- | `"enforcementList"` | |
603
- | `"localDevelopmentOrder"` | |
604
- | `"planningPermission"` | |
605
- | `"lpaEnforcementNotice"` | |
606
- | `"lpaEnforcementNoticePlan"` | |
607
- | `"planningContraventionNotice"` | |
608
- | `null` | |
538
+ | Value | Explanation |
539
+ | :----------------------------------- | :---------- |
540
+ | `"appellantCaseCorrespondence"` | |
541
+ | `"appellantCaseWithdrawalLetter"` | |
542
+ | `"appellantCostsApplication"` | |
543
+ | `"appellantCostsCorrespondence"` | |
544
+ | `"appellantCostsWithdrawal"` | |
545
+ | `"appellantStatement"` | |
546
+ | `"applicationDecisionLetter"` | |
547
+ | `"changedDescription"` | |
548
+ | `"originalApplicationForm"` | |
549
+ | `"whoNotified"` | |
550
+ | `"whoNotifiedSiteNotice"` | |
551
+ | `"whoNotifiedLetterToNeighbours"` | |
552
+ | `"whoNotifiedPressAdvert"` | |
553
+ | `"conservationMap"` | |
554
+ | `"lpaCaseCorrespondence"` | |
555
+ | `"lpaCostsApplication"` | |
556
+ | `"lpaCostsCorrespondence"` | |
557
+ | `"lpaCostsWithdrawal"` | |
558
+ | `"otherPartyRepresentations"` | |
559
+ | `"planningOfficerReport"` | |
560
+ | `"appellantCostsDecisionLetter"` | |
561
+ | `"lpaCostsDecisionLetter"` | |
562
+ | `"caseDecisionLetter"` | |
563
+ | `"crossTeamCorrespondence"` | |
564
+ | `"inspectorCorrespondence"` | |
565
+ | `"mainPartyCorrespondence"` | |
566
+ | `"uncategorised"` | |
567
+ | `"designAccessStatement"` | |
568
+ | `"plansDrawings"` | |
569
+ | `"newPlansDrawings"` | |
570
+ | `"planningObligation"` | |
571
+ | `"ownershipCertificate"` | |
572
+ | `"otherNewDocuments"` | |
573
+ | `"statementCommonGround"` | |
574
+ | `"communityInfrastructureLevy"` | |
575
+ | `"supplementaryPlanning"` | |
576
+ | `"otherRelevantPolicies"` | |
577
+ | `"emergingPlan"` | |
578
+ | `"developmentPlanPolicies"` | |
579
+ | `"consultationResponses"` | |
580
+ | `"eiaEnvironmentalStatement"` | |
581
+ | `"eiaScreeningDirection"` | |
582
+ | `"eiaScreeningOpinion"` | |
583
+ | `"eiaScopingOpinion"` | |
584
+ | `"definitiveMapStatement"` | |
585
+ | `"treePreservationPlan"` | |
586
+ | `"interestedPartyComment"` | |
587
+ | `"lpaStatement"` | |
588
+ | `"rule6Statement"` | |
589
+ | `"appellantFinalComment"` | |
590
+ | `"lpaFinalComment"` | |
591
+ | `"appellantProofOfEvidence"` | |
592
+ | `"appellantWitnessesEvidence"` | |
593
+ | `"lpaProofOfEvidence"` | |
594
+ | `"lpaWitnessesEvidence"` | |
595
+ | `"rule6ProofOfEvidence"` | |
596
+ | `"rule6WitnessesEvidence"` | |
597
+ | `"environmentalAssessment"` | |
598
+ | `"appealNotification"` | |
599
+ | `"historicEnglandConsultation"` | |
600
+ | `"conservationDocuments"` | |
601
+ | `"planShowingExtentOfOrder"` | |
602
+ | `"definitiveMapAndStatementExtract"` | |
603
+ | `"stopNotice"` | |
604
+ | `"article4Direction"` | |
605
+ | `"enforcementList"` | |
606
+ | `"localDevelopmentOrder"` | |
607
+ | `"planningPermission"` | |
608
+ | `"lpaEnforcementNotice"` | |
609
+ | `"lpaEnforcementNoticePlan"` | |
610
+ | `"planningContraventionNotice"` | |
611
+ | `"priorCorrespondenceWithPINS"` | |
612
+ | `"enforcementNotice"` | |
613
+ | `"enforcementNoticePlan"` | |
614
+ | `"groundASupporting"` | |
615
+ | `"groundBSupporting"` | |
616
+ | `"groundCSupporting"` | |
617
+ | `"groundDSupporting"` | |
618
+ | `"groundESupporting"` | |
619
+ | `"groundFSupporting"` | |
620
+ | `"groundGSupporting"` | |
621
+ | `"groundAFeeReceipt"` | |
622
+ | `"delegatedReport"` | |
623
+ | `null` | |
609
624
 
610
625
  ## sourceSystem
611
626
 
@@ -53,9 +53,9 @@ any of
53
53
  | [caseDecisionOutcome](#casedecisionoutcome) | `string` | Required | can be null | [Appeal S78 Case](appeal-s78-properties-casedecisionoutcome.md "appeal-s78.schema.json#/properties/caseDecisionOutcome") |
54
54
  | [caseCompletedDate](#casecompleteddate) | `string` | Required | can be null | [Appeal S78 Case](appeal-s78-properties-casecompleteddate.md "appeal-s78.schema.json#/properties/caseCompletedDate") |
55
55
  | [enforcementNotice](#enforcementnotice) | `boolean` | Required | can be null | [Appeal S78 Case](appeal-s78-properties-enforcementnotice.md "appeal-s78.schema.json#/properties/enforcementNotice") |
56
- | [applicationReference](#applicationreference) | `string` | Required | cannot be null | [Appeal S78 Case](appeal-s78-properties-applicationreference.md "appeal-s78.schema.json#/properties/applicationReference") |
57
- | [applicationDate](#applicationdate) | `string` | Required | cannot be null | [Appeal S78 Case](appeal-s78-properties-applicationdate.md "appeal-s78.schema.json#/properties/applicationDate") |
58
- | [applicationDecision](#applicationdecision) | `string` | Required | cannot be null | [Appeal S78 Case](appeal-s78-properties-applicationdecision.md "appeal-s78.schema.json#/properties/applicationDecision") |
56
+ | [applicationReference](#applicationreference) | `string` | Required | can be null | [Appeal S78 Case](appeal-s78-properties-applicationreference.md "appeal-s78.schema.json#/properties/applicationReference") |
57
+ | [applicationDate](#applicationdate) | `string` | Required | can be null | [Appeal S78 Case](appeal-s78-properties-applicationdate.md "appeal-s78.schema.json#/properties/applicationDate") |
58
+ | [applicationDecision](#applicationdecision) | `string` | Required | can be null | [Appeal S78 Case](appeal-s78-properties-applicationdecision.md "appeal-s78.schema.json#/properties/applicationDecision") |
59
59
  | [applicationDecisionDate](#applicationdecisiondate) | `string` | Required | can be null | [Appeal S78 Case](appeal-s78-properties-applicationdecisiondate.md "appeal-s78.schema.json#/properties/applicationDecisionDate") |
60
60
  | [caseSubmissionDueDate](#casesubmissionduedate) | `string` | Required | can be null | [Appeal S78 Case](appeal-s78-properties-casesubmissionduedate.md "appeal-s78.schema.json#/properties/caseSubmissionDueDate") |
61
61
  | [siteAddressLine1](#siteaddressline1) | `string` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-siteaddressline1.md "appeal-s78.schema.json#/properties/siteAddressLine1") |
@@ -156,6 +156,9 @@ any of
156
156
  | [isSiteInAreaOfSpecialControlAdverts](#issiteinareaofspecialcontroladverts) | `boolean` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-issiteinareaofspecialcontroladverts.md "appeal-s78.schema.json#/properties/isSiteInAreaOfSpecialControlAdverts") |
157
157
  | [advertDetails](#advertdetails) | `array` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-advertdetails.md "appeal-s78.schema.json#/properties/advertDetails") |
158
158
  | [padsSapId](#padssapid) | `string` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-padssapid.md "appeal-s78.schema.json#/properties/padsSapId") |
159
+ | [enforcementNoticeReference](#enforcementnoticereference) | `string` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-enforcementnoticereference.md "appeal-s78.schema.json#/properties/enforcementNoticeReference") |
160
+ | [descriptionOfAllegedBreach](#descriptionofallegedbreach) | `string` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-descriptionofallegedbreach.md "appeal-s78.schema.json#/properties/descriptionOfAllegedBreach") |
161
+ | [dateAppellantContactedPins](#dateappellantcontactedpins) | `string` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-dateappellantcontactedpins.md "appeal-s78.schema.json#/properties/dateAppellantContactedPins") |
159
162
  | [ownerOccupancyStatus](#owneroccupancystatus) | `string` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-owneroccupancystatus.md "appeal-s78.schema.json#/properties/ownerOccupancyStatus") |
160
163
  | [occupancyConditionsMet](#occupancyconditionsmet) | `boolean` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-occupancyconditionsmet.md "appeal-s78.schema.json#/properties/occupancyConditionsMet") |
161
164
  | [enforcementAppealGroundsDetails](#enforcementappealgroundsdetails) | `array` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-enforcementappealgroundsdetails.md "appeal-s78.schema.json#/properties/enforcementAppealGroundsDetails") |
@@ -1398,7 +1401,7 @@ The unique identifier of the LPA application
1398
1401
 
1399
1402
  * Type: `string`
1400
1403
 
1401
- * cannot be null
1404
+ * can be null
1402
1405
 
1403
1406
  * defined in: [Appeal S78 Case](appeal-s78-properties-applicationreference.md "appeal-s78.schema.json#/properties/applicationReference")
1404
1407
 
@@ -1424,7 +1427,7 @@ The date of the original LPA application
1424
1427
 
1425
1428
  * Type: `string`
1426
1429
 
1427
- * cannot be null
1430
+ * can be null
1428
1431
 
1429
1432
  * defined in: [Appeal S78 Case](appeal-s78-properties-applicationdate.md "appeal-s78.schema.json#/properties/applicationDate")
1430
1433
 
@@ -1454,7 +1457,7 @@ The outcome of the original LPA decision
1454
1457
 
1455
1458
  * Type: `string`
1456
1459
 
1457
- * cannot be null
1460
+ * can be null
1458
1461
 
1459
1462
  * defined in: [Appeal S78 Case](appeal-s78-properties-applicationdecision.md "appeal-s78.schema.json#/properties/applicationDecision")
1460
1463
 
@@ -3776,6 +3779,84 @@ padsSapId for PADS inspectors
3776
3779
 
3777
3780
  `string`
3778
3781
 
3782
+ ## enforcementNoticeReference
3783
+
3784
+ The reference number of the enforcement notice
3785
+
3786
+ `enforcementNoticeReference`
3787
+
3788
+ * is optional
3789
+
3790
+ * Type: `string`
3791
+
3792
+ * can be null
3793
+
3794
+ * defined in: [Appeal S78 Case](appeal-s78-properties-enforcementnoticereference.md "appeal-s78.schema.json#/properties/enforcementNoticeReference")
3795
+
3796
+ ### enforcementNoticeReference Type
3797
+
3798
+ `string`
3799
+
3800
+ ### enforcementNoticeReference Examples
3801
+
3802
+ ```json
3803
+ "myC45e-123"
3804
+ ```
3805
+
3806
+ ## descriptionOfAllegedBreach
3807
+
3808
+ A description of the alleged breach
3809
+
3810
+ `descriptionOfAllegedBreach`
3811
+
3812
+ * is optional
3813
+
3814
+ * Type: `string`
3815
+
3816
+ * can be null
3817
+
3818
+ * defined in: [Appeal S78 Case](appeal-s78-properties-descriptionofallegedbreach.md "appeal-s78.schema.json#/properties/descriptionOfAllegedBreach")
3819
+
3820
+ ### descriptionOfAllegedBreach Type
3821
+
3822
+ `string`
3823
+
3824
+ ### descriptionOfAllegedBreach Examples
3825
+
3826
+ ```json
3827
+ "My breach description"
3828
+ ```
3829
+
3830
+ ## dateAppellantContactedPins
3831
+
3832
+ The date of the appellant contacted PINS prior to submitting an appeal
3833
+
3834
+ > Relevant if enforcement effective date already passed
3835
+
3836
+ `dateAppellantContactedPins`
3837
+
3838
+ * is optional
3839
+
3840
+ * Type: `string`
3841
+
3842
+ * can be null
3843
+
3844
+ * defined in: [Appeal S78 Case](appeal-s78-properties-dateappellantcontactedpins.md "appeal-s78.schema.json#/properties/dateAppellantContactedPins")
3845
+
3846
+ ### dateAppellantContactedPins Type
3847
+
3848
+ `string`
3849
+
3850
+ ### dateAppellantContactedPins Constraints
3851
+
3852
+ **date time**: the string must be a date time string, according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339 "check the specification")
3853
+
3854
+ ### dateAppellantContactedPins Examples
3855
+
3856
+ ```json
3857
+ "2025-12-26T10:00:00.000Z"
3858
+ ```
3859
+
3779
3860
  ## ownerOccupancyStatus
3780
3861
 
3781
3862
  The nature of the appellant's interest in the appeal site
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planning-inspectorate/data-model",
3
- "version": "2.8.0",
3
+ "version": "2.10.0",
4
4
  "description": "JSON Schemas for the Planning Inspectorate's Data Model",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-document.schema.json
3
- # timestamp: 2026-01-09T14:47:10+00:00
3
+ # timestamp: 2026-01-15T10:15:03+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -119,6 +119,9 @@ class DocumentType(Enum):
119
119
  environmentalAssessment = "environmentalAssessment"
120
120
  appealNotification = "appealNotification"
121
121
  historicEnglandConsultation = "historicEnglandConsultation"
122
+ conservationDocuments = "conservationDocuments"
123
+ planShowingExtentOfOrder = "planShowingExtentOfOrder"
124
+ definitiveMapAndStatementExtract = "definitiveMapAndStatementExtract"
122
125
  stopNotice = "stopNotice"
123
126
  article4Direction = "article4Direction"
124
127
  enforcementList = "enforcementList"
@@ -127,6 +130,18 @@ class DocumentType(Enum):
127
130
  lpaEnforcementNotice = "lpaEnforcementNotice"
128
131
  lpaEnforcementNoticePlan = "lpaEnforcementNoticePlan"
129
132
  planningContraventionNotice = "planningContraventionNotice"
133
+ priorCorrespondenceWithPINS = "priorCorrespondenceWithPINS"
134
+ enforcementNotice = "enforcementNotice"
135
+ enforcementNoticePlan = "enforcementNoticePlan"
136
+ groundASupporting = "groundASupporting"
137
+ groundBSupporting = "groundBSupporting"
138
+ groundCSupporting = "groundCSupporting"
139
+ groundDSupporting = "groundDSupporting"
140
+ groundESupporting = "groundESupporting"
141
+ groundFSupporting = "groundFSupporting"
142
+ groundGSupporting = "groundGSupporting"
143
+ groundAFeeReceipt = "groundAFeeReceipt"
144
+ delegatedReport = "delegatedReport"
130
145
  NoneType_None = None
131
146
 
132
147
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-event.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-event-estimate.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-has.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-representation.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-s78.schema.json
3
- # timestamp: 2026-01-09T14:47:10+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -579,11 +579,13 @@ class AppealS78Case1(BaseModel):
579
579
  """
580
580
  Indicates if an enforcement notice is the reason for the appeal
581
581
  """
582
- applicationReference: str = Field(..., examples=["43010/APP/1/290572"])
582
+ applicationReference: str | None = Field(..., examples=["43010/APP/1/290572"])
583
583
  """
584
584
  The unique identifier of the LPA application
585
585
  """
586
- applicationDate: AwareDatetime = Field(..., examples=["2023-07-27T20:30:00.000Z"])
586
+ applicationDate: AwareDatetime | None = Field(
587
+ ..., examples=["2023-07-27T20:30:00.000Z"]
588
+ )
587
589
  """
588
590
  The date of the original LPA application
589
591
  """
@@ -962,6 +964,22 @@ class AppealS78Case1(BaseModel):
962
964
  """
963
965
  padsSapId for PADS inspectors
964
966
  """
967
+ enforcementNoticeReference: str | None = Field(None, examples=["myC45e-123"])
968
+ """
969
+ The reference number of the enforcement notice
970
+ """
971
+ descriptionOfAllegedBreach: str | None = Field(
972
+ None, examples=["My breach description"]
973
+ )
974
+ """
975
+ A description of the alleged breach
976
+ """
977
+ dateAppellantContactedPins: AwareDatetime | None = Field(
978
+ None, examples=["2025-12-26T10:00:00.000Z"]
979
+ )
980
+ """
981
+ The date of the appellant contacted PINS prior to submitting an appeal
982
+ """
965
983
  ownerOccupancyStatus: str | None = Field(
966
984
  None, examples=["Owner", "Tenant", "Mortgage lender"]
967
985
  )
@@ -1287,11 +1305,13 @@ class AppealS78Case2(BaseModel):
1287
1305
  """
1288
1306
  Indicates if an enforcement notice is the reason for the appeal
1289
1307
  """
1290
- applicationReference: str = Field(..., examples=["43010/APP/1/290572"])
1308
+ applicationReference: str | None = Field(..., examples=["43010/APP/1/290572"])
1291
1309
  """
1292
1310
  The unique identifier of the LPA application
1293
1311
  """
1294
- applicationDate: AwareDatetime = Field(..., examples=["2023-07-27T20:30:00.000Z"])
1312
+ applicationDate: AwareDatetime | None = Field(
1313
+ ..., examples=["2023-07-27T20:30:00.000Z"]
1314
+ )
1295
1315
  """
1296
1316
  The date of the original LPA application
1297
1317
  """
@@ -1670,6 +1690,22 @@ class AppealS78Case2(BaseModel):
1670
1690
  """
1671
1691
  padsSapId for PADS inspectors
1672
1692
  """
1693
+ enforcementNoticeReference: str | None = Field(None, examples=["myC45e-123"])
1694
+ """
1695
+ The reference number of the enforcement notice
1696
+ """
1697
+ descriptionOfAllegedBreach: str | None = Field(
1698
+ None, examples=["My breach description"]
1699
+ )
1700
+ """
1701
+ A description of the alleged breach
1702
+ """
1703
+ dateAppellantContactedPins: AwareDatetime | None = Field(
1704
+ None, examples=["2025-12-26T10:00:00.000Z"]
1705
+ )
1706
+ """
1707
+ The date of the appellant contacted PINS prior to submitting an appeal
1708
+ """
1673
1709
  ownerOccupancyStatus: str | None = Field(
1674
1710
  None, examples=["Owner", "Tenant", "Mortgage lender"]
1675
1711
  )
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: dart-response.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: entraid.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: folder.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: gettimesheets-response.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: listed-building.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: listed-buildings.schema.json
3
- # timestamp: 2026-01-09T14:47:10+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-document.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-exam-timetable.schema.json
3
- # timestamp: 2026-01-09T14:47:10+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-invoice.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-meeting.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-project.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-project-update.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-representation.schema.json
3
- # timestamp: 2026-01-09T14:47:10+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-subscription.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: pins-inspector.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: pins-lpa.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: s51-advice.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: service-user.schema.json
3
- # timestamp: 2026-01-09T14:47:09+00:00
3
+ # timestamp: 2026-01-15T10:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -197,6 +197,9 @@
197
197
  "environmentalAssessment",
198
198
  "appealNotification",
199
199
  "historicEnglandConsultation",
200
+ "conservationDocuments",
201
+ "planShowingExtentOfOrder",
202
+ "definitiveMapAndStatementExtract",
200
203
  "stopNotice",
201
204
  "article4Direction",
202
205
  "enforcementList",
@@ -205,6 +208,18 @@
205
208
  "lpaEnforcementNotice",
206
209
  "lpaEnforcementNoticePlan",
207
210
  "planningContraventionNotice",
211
+ "priorCorrespondenceWithPINS",
212
+ "enforcementNotice",
213
+ "enforcementNoticePlan",
214
+ "groundASupporting",
215
+ "groundBSupporting",
216
+ "groundCSupporting",
217
+ "groundDSupporting",
218
+ "groundESupporting",
219
+ "groundFSupporting",
220
+ "groundGSupporting",
221
+ "groundAFeeReceipt",
222
+ "delegatedReport",
208
223
  null
209
224
  ],
210
225
  "description": "The type of document, used for exchange, migrations and consumption from the appeal back-office system"
@@ -464,20 +464,20 @@
464
464
  "$comment": "Also available on HAS cases"
465
465
  },
466
466
  "applicationReference": {
467
- "type": "string",
467
+ "type": ["string", "null"],
468
468
  "examples": ["43010/APP/1/290572"],
469
469
  "description": "The unique identifier of the LPA application",
470
470
  "$comment": "Also available on HAS cases"
471
471
  },
472
472
  "applicationDate": {
473
- "type": "string",
473
+ "type": ["string", "null"],
474
474
  "format": "date-time",
475
475
  "examples": ["2023-07-27T20:30:00.000Z"],
476
476
  "description": "The date of the original LPA application",
477
477
  "$comment": "Also available on HAS cases"
478
478
  },
479
479
  "applicationDecision": {
480
- "type": "string",
480
+ "type": ["string", "null"],
481
481
  "enum": ["granted", "refused", "not_received"],
482
482
  "description": "The outcome of the original LPA decision",
483
483
  "$comment": "Also available on HAS cases"
@@ -1107,6 +1107,23 @@
1107
1107
  "type": ["string", "null"],
1108
1108
  "description": "padsSapId for PADS inspectors"
1109
1109
  },
1110
+ "enforcementNoticeReference": {
1111
+ "type": ["string", "null"],
1112
+ "description": "The reference number of the enforcement notice",
1113
+ "examples": ["myC45e-123"]
1114
+ },
1115
+ "descriptionOfAllegedBreach": {
1116
+ "type": ["string", "null"],
1117
+ "description": "A description of the alleged breach",
1118
+ "examples": ["My breach description"]
1119
+ },
1120
+ "dateAppellantContactedPins": {
1121
+ "type": ["string", "null"],
1122
+ "format": "date-time",
1123
+ "examples": ["2025-12-26T10:00:00.000Z"],
1124
+ "description": "The date of the appellant contacted PINS prior to submitting an appeal",
1125
+ "$comment": "Relevant if enforcement effective date already passed"
1126
+ },
1110
1127
  "ownerOccupancyStatus": {
1111
1128
  "type": ["string", "null"],
1112
1129
  "description": "The nature of the appellant's interest in the appeal site",
@@ -138,7 +138,7 @@
138
138
  "groundISupporting",
139
139
  "groundJSupporting",
140
140
  "groundKSupporting",
141
- "applicationFeeReceipt",
141
+ "groundAFeeReceipt",
142
142
  null,
143
143
  "environmentalAssessment"
144
144
  ],
package/src/enums.cjs CHANGED
@@ -137,10 +137,13 @@ const APPEAL_DOCUMENT_TYPE = Object.freeze({
137
137
  CASE_DECISION_LETTER: 'caseDecisionLetter',
138
138
  CHANGED_DESCRIPTION: 'changedDescription',
139
139
  COMMUNITY_INFRASTRUCTURE_LEVY: 'communityInfrastructureLevy',
140
+ CONSERVATION_DOCUMENTS: 'conservationDocuments',
140
141
  CONSERVATION_MAP: 'conservationMap',
141
142
  CONSULTATION_RESPONSES: 'consultationResponses',
142
143
  CROSS_TEAM_CORRESPONDENCE: 'crossTeamCorrespondence',
144
+ DEFINITIVE_MAP_AND_STATEMENT_EXTRACT: 'definitiveMapAndStatementExtract',
143
145
  DEFINITIVE_MAP_STATEMENT: 'definitiveMapStatement',
146
+ DELEGATED_REPORT: 'delegatedReport',
144
147
  DESIGN_ACCESS_STATEMENT: 'designAccessStatement',
145
148
  DEVELOPMENT_PLAN_POLICIES: 'developmentPlanPolicies',
146
149
  EIA_ENVIRONMENTAL_STATEMENT: 'eiaEnvironmentalStatement',
@@ -149,7 +152,17 @@ const APPEAL_DOCUMENT_TYPE = Object.freeze({
149
152
  EIA_SCREENING_OPINION: 'eiaScreeningOpinion',
150
153
  EMERGING_PLAN: 'emergingPlan',
151
154
  ENFORCEMENT_LIST: 'enforcementList',
155
+ ENFORCEMENT_NOTICE: 'enforcementNotice',
156
+ ENFORCEMENT_NOTICE_PLAN: 'enforcementNoticePlan',
152
157
  ENVIRONMENTAL_ASSESSMENT: 'environmentalAssessment',
158
+ GROUND_A_FEE_RECEIPT: 'groundAFeeReceipt',
159
+ GROUND_A_SUPPORTING: 'groundASupporting',
160
+ GROUND_B_SUPPORTING: 'groundBSupporting',
161
+ GROUND_C_SUPPORTING: 'groundCSupporting',
162
+ GROUND_D_SUPPORTING: 'groundDSupporting',
163
+ GROUND_E_SUPPORTING: 'groundESupporting',
164
+ GROUND_F_SUPPORTING: 'groundFSupporting',
165
+ GROUND_G_SUPPORTING: 'groundGSupporting',
153
166
  HISTORIC_ENGLAND_CONSULTATION: 'historicEnglandConsultation',
154
167
  INSPECTOR_CORRESPONDENCE: 'inspectorCorrespondence',
155
168
  INTERESTED_PARTY_COMMENT: 'interestedPartyComment',
@@ -172,11 +185,13 @@ const APPEAL_DOCUMENT_TYPE = Object.freeze({
172
185
  OTHER_PARTY_REPRESENTATIONS: 'otherPartyRepresentations',
173
186
  OTHER_RELEVANT_POLICIES: 'otherRelevantPolicies',
174
187
  OWNERSHIP_CERTIFICATE: 'ownershipCertificate',
188
+ PLAN_SHOWING_EXTENT_OF_ORDER: 'planShowingExtentOfOrder',
175
189
  PLANNING_CONTRAVENTION_NOTICE: 'planningContraventionNotice',
176
190
  PLANNING_OBLIGATION: 'planningObligation',
177
191
  PLANNING_OFFICER_REPORT: 'planningOfficerReport',
178
192
  PLANNING_PERMISSION: 'planningPermission',
179
193
  PLANS_DRAWINGS: 'plansDrawings',
194
+ PRIOR_CORRESPONDENCE_WITH_PINS: 'priorCorrespondenceWithPINS',
180
195
  RULE_6_PROOF_OF_EVIDENCE: 'rule6ProofOfEvidence',
181
196
  RULE_6_STATEMENT: 'rule6Statement',
182
197
  RULE_6_WITNESSES_EVIDENCE: 'rule6WitnessesEvidence',
package/src/enums.d.ts CHANGED
@@ -135,10 +135,13 @@ export const APPEAL_DOCUMENT_TYPE = {
135
135
  CASE_DECISION_LETTER: 'caseDecisionLetter',
136
136
  CHANGED_DESCRIPTION: 'changedDescription',
137
137
  COMMUNITY_INFRASTRUCTURE_LEVY: 'communityInfrastructureLevy',
138
+ CONSERVATION_DOCUMENTS: 'conservationDocuments',
138
139
  CONSERVATION_MAP: 'conservationMap',
139
140
  CONSULTATION_RESPONSES: 'consultationResponses',
140
141
  CROSS_TEAM_CORRESPONDENCE: 'crossTeamCorrespondence',
142
+ DEFINITIVE_MAP_AND_STATEMENT_EXTRACT: 'definitiveMapAndStatementExtract',
141
143
  DEFINITIVE_MAP_STATEMENT: 'definitiveMapStatement',
144
+ DELEGATED_REPORT: 'delegatedReport',
142
145
  DESIGN_ACCESS_STATEMENT: 'designAccessStatement',
143
146
  DEVELOPMENT_PLAN_POLICIES: 'developmentPlanPolicies',
144
147
  EIA_ENVIRONMENTAL_STATEMENT: 'eiaEnvironmentalStatement',
@@ -147,7 +150,17 @@ export const APPEAL_DOCUMENT_TYPE = {
147
150
  EIA_SCREENING_OPINION: 'eiaScreeningOpinion',
148
151
  EMERGING_PLAN: 'emergingPlan',
149
152
  ENFORCEMENT_LIST: 'enforcementList',
153
+ ENFORCEMENT_NOTICE: 'enforcementNotice',
154
+ ENFORCEMENT_NOTICE_PLAN: 'enforcementNoticePlan',
150
155
  ENVIRONMENTAL_ASSESSMENT: 'environmentalAssessment',
156
+ GROUND_A_FEE_RECEIPT: 'groundAFeeReceipt',
157
+ GROUND_A_SUPPORTING: 'groundASupporting',
158
+ GROUND_B_SUPPORTING: 'groundBSupporting',
159
+ GROUND_C_SUPPORTING: 'groundCSupporting',
160
+ GROUND_D_SUPPORTING: 'groundDSupporting',
161
+ GROUND_E_SUPPORTING: 'groundESupporting',
162
+ GROUND_F_SUPPORTING: 'groundFSupporting',
163
+ GROUND_G_SUPPORTING: 'groundGSupporting',
151
164
  HISTORIC_ENGLAND_CONSULTATION: 'historicEnglandConsultation',
152
165
  INSPECTOR_CORRESPONDENCE: 'inspectorCorrespondence',
153
166
  INTERESTED_PARTY_COMMENT: 'interestedPartyComment',
@@ -170,11 +183,13 @@ export const APPEAL_DOCUMENT_TYPE = {
170
183
  OTHER_PARTY_REPRESENTATIONS: 'otherPartyRepresentations',
171
184
  OTHER_RELEVANT_POLICIES: 'otherRelevantPolicies',
172
185
  OWNERSHIP_CERTIFICATE: 'ownershipCertificate',
186
+ PLAN_SHOWING_EXTENT_OF_ORDER: 'planShowingExtentOfOrder',
173
187
  PLANNING_CONTRAVENTION_NOTICE: 'planningContraventionNotice',
174
188
  PLANNING_OBLIGATION: 'planningObligation',
175
189
  PLANNING_OFFICER_REPORT: 'planningOfficerReport',
176
190
  PLANNING_PERMISSION: 'planningPermission',
177
191
  PLANS_DRAWINGS: 'plansDrawings',
192
+ PRIOR_CORRESPONDENCE_WITH_PINS: 'priorCorrespondenceWithPINS',
178
193
  RULE_6_PROOF_OF_EVIDENCE: 'rule6ProofOfEvidence',
179
194
  RULE_6_STATEMENT: 'rule6Statement',
180
195
  RULE_6_WITNESSES_EVIDENCE: 'rule6WitnessesEvidence',
package/src/enums.js CHANGED
@@ -135,10 +135,13 @@ export const APPEAL_DOCUMENT_TYPE = Object.freeze({
135
135
  CASE_DECISION_LETTER: 'caseDecisionLetter',
136
136
  CHANGED_DESCRIPTION: 'changedDescription',
137
137
  COMMUNITY_INFRASTRUCTURE_LEVY: 'communityInfrastructureLevy',
138
+ CONSERVATION_DOCUMENTS: 'conservationDocuments',
138
139
  CONSERVATION_MAP: 'conservationMap',
139
140
  CONSULTATION_RESPONSES: 'consultationResponses',
140
141
  CROSS_TEAM_CORRESPONDENCE: 'crossTeamCorrespondence',
142
+ DEFINITIVE_MAP_AND_STATEMENT_EXTRACT: 'definitiveMapAndStatementExtract',
141
143
  DEFINITIVE_MAP_STATEMENT: 'definitiveMapStatement',
144
+ DELEGATED_REPORT: 'delegatedReport',
142
145
  DESIGN_ACCESS_STATEMENT: 'designAccessStatement',
143
146
  DEVELOPMENT_PLAN_POLICIES: 'developmentPlanPolicies',
144
147
  EIA_ENVIRONMENTAL_STATEMENT: 'eiaEnvironmentalStatement',
@@ -147,7 +150,17 @@ export const APPEAL_DOCUMENT_TYPE = Object.freeze({
147
150
  EIA_SCREENING_OPINION: 'eiaScreeningOpinion',
148
151
  EMERGING_PLAN: 'emergingPlan',
149
152
  ENFORCEMENT_LIST: 'enforcementList',
153
+ ENFORCEMENT_NOTICE: 'enforcementNotice',
154
+ ENFORCEMENT_NOTICE_PLAN: 'enforcementNoticePlan',
150
155
  ENVIRONMENTAL_ASSESSMENT: 'environmentalAssessment',
156
+ GROUND_A_FEE_RECEIPT: 'groundAFeeReceipt',
157
+ GROUND_A_SUPPORTING: 'groundASupporting',
158
+ GROUND_B_SUPPORTING: 'groundBSupporting',
159
+ GROUND_C_SUPPORTING: 'groundCSupporting',
160
+ GROUND_D_SUPPORTING: 'groundDSupporting',
161
+ GROUND_E_SUPPORTING: 'groundESupporting',
162
+ GROUND_F_SUPPORTING: 'groundFSupporting',
163
+ GROUND_G_SUPPORTING: 'groundGSupporting',
151
164
  HISTORIC_ENGLAND_CONSULTATION: 'historicEnglandConsultation',
152
165
  INSPECTOR_CORRESPONDENCE: 'inspectorCorrespondence',
153
166
  INTERESTED_PARTY_COMMENT: 'interestedPartyComment',
@@ -170,11 +183,13 @@ export const APPEAL_DOCUMENT_TYPE = Object.freeze({
170
183
  OTHER_PARTY_REPRESENTATIONS: 'otherPartyRepresentations',
171
184
  OTHER_RELEVANT_POLICIES: 'otherRelevantPolicies',
172
185
  OWNERSHIP_CERTIFICATE: 'ownershipCertificate',
186
+ PLAN_SHOWING_EXTENT_OF_ORDER: 'planShowingExtentOfOrder',
173
187
  PLANNING_CONTRAVENTION_NOTICE: 'planningContraventionNotice',
174
188
  PLANNING_OBLIGATION: 'planningObligation',
175
189
  PLANNING_OFFICER_REPORT: 'planningOfficerReport',
176
190
  PLANNING_PERMISSION: 'planningPermission',
177
191
  PLANS_DRAWINGS: 'plansDrawings',
192
+ PRIOR_CORRESPONDENCE_WITH_PINS: 'priorCorrespondenceWithPINS',
178
193
  RULE_6_PROOF_OF_EVIDENCE: 'rule6ProofOfEvidence',
179
194
  RULE_6_STATEMENT: 'rule6Statement',
180
195
  RULE_6_WITNESSES_EVIDENCE: 'rule6WitnessesEvidence',
package/src/index.cjs CHANGED
@@ -218,10 +218,13 @@ const APPEAL_DOCUMENT_TYPE = Object.freeze({
218
218
  CASE_DECISION_LETTER: 'caseDecisionLetter',
219
219
  CHANGED_DESCRIPTION: 'changedDescription',
220
220
  COMMUNITY_INFRASTRUCTURE_LEVY: 'communityInfrastructureLevy',
221
+ CONSERVATION_DOCUMENTS: 'conservationDocuments',
221
222
  CONSERVATION_MAP: 'conservationMap',
222
223
  CONSULTATION_RESPONSES: 'consultationResponses',
223
224
  CROSS_TEAM_CORRESPONDENCE: 'crossTeamCorrespondence',
225
+ DEFINITIVE_MAP_AND_STATEMENT_EXTRACT: 'definitiveMapAndStatementExtract',
224
226
  DEFINITIVE_MAP_STATEMENT: 'definitiveMapStatement',
227
+ DELEGATED_REPORT: 'delegatedReport',
225
228
  DESIGN_ACCESS_STATEMENT: 'designAccessStatement',
226
229
  DEVELOPMENT_PLAN_POLICIES: 'developmentPlanPolicies',
227
230
  EIA_ENVIRONMENTAL_STATEMENT: 'eiaEnvironmentalStatement',
@@ -230,7 +233,17 @@ const APPEAL_DOCUMENT_TYPE = Object.freeze({
230
233
  EIA_SCREENING_OPINION: 'eiaScreeningOpinion',
231
234
  EMERGING_PLAN: 'emergingPlan',
232
235
  ENFORCEMENT_LIST: 'enforcementList',
236
+ ENFORCEMENT_NOTICE: 'enforcementNotice',
237
+ ENFORCEMENT_NOTICE_PLAN: 'enforcementNoticePlan',
233
238
  ENVIRONMENTAL_ASSESSMENT: 'environmentalAssessment',
239
+ GROUND_A_FEE_RECEIPT: 'groundAFeeReceipt',
240
+ GROUND_A_SUPPORTING: 'groundASupporting',
241
+ GROUND_B_SUPPORTING: 'groundBSupporting',
242
+ GROUND_C_SUPPORTING: 'groundCSupporting',
243
+ GROUND_D_SUPPORTING: 'groundDSupporting',
244
+ GROUND_E_SUPPORTING: 'groundESupporting',
245
+ GROUND_F_SUPPORTING: 'groundFSupporting',
246
+ GROUND_G_SUPPORTING: 'groundGSupporting',
234
247
  HISTORIC_ENGLAND_CONSULTATION: 'historicEnglandConsultation',
235
248
  INSPECTOR_CORRESPONDENCE: 'inspectorCorrespondence',
236
249
  INTERESTED_PARTY_COMMENT: 'interestedPartyComment',
@@ -253,11 +266,13 @@ const APPEAL_DOCUMENT_TYPE = Object.freeze({
253
266
  OTHER_PARTY_REPRESENTATIONS: 'otherPartyRepresentations',
254
267
  OTHER_RELEVANT_POLICIES: 'otherRelevantPolicies',
255
268
  OWNERSHIP_CERTIFICATE: 'ownershipCertificate',
269
+ PLAN_SHOWING_EXTENT_OF_ORDER: 'planShowingExtentOfOrder',
256
270
  PLANNING_CONTRAVENTION_NOTICE: 'planningContraventionNotice',
257
271
  PLANNING_OBLIGATION: 'planningObligation',
258
272
  PLANNING_OFFICER_REPORT: 'planningOfficerReport',
259
273
  PLANNING_PERMISSION: 'planningPermission',
260
274
  PLANS_DRAWINGS: 'plansDrawings',
275
+ PRIOR_CORRESPONDENCE_WITH_PINS: 'priorCorrespondenceWithPINS',
261
276
  RULE_6_PROOF_OF_EVIDENCE: 'rule6ProofOfEvidence',
262
277
  RULE_6_STATEMENT: 'rule6Statement',
263
278
  RULE_6_WITNESSES_EVIDENCE: 'rule6WitnessesEvidence',