> ## Documentation Index
> Fetch the complete documentation index at: https://docs.proconvey.co.uk/llms.txt
> Use this file to discover all available pages before exploring further.

# Get case data

> Returns comprehensive data associated with a specific case.



## OpenAPI

````yaml https://v2.proconvey.co.uk/api/v2/doc get /api/v2/cases/{id}/data
openapi: 3.1.0
info:
  title: ProConvey Public API
  version: '2.0'
  description: Public API for case management.
servers: []
security: []
tags:
  - name: Cases
    description: Case management operations including creation, retrieval, and data access
  - name: Clients
    description: Client records for the organisation
  - name: Webhooks
    description: >-
      Webhooks available for receiving updates of events on the ProConvey
      platform
  - name: Organisations
    description: Organization management and setup
  - name: System
    description: System and utility endpoints including branches and documentation
paths:
  /api/v2/cases/{id}/data:
    get:
      tags:
        - Cases
      summary: Get case data
      description: Returns comprehensive data associated with a specific case.
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
          description: Case ID
      responses:
        '200':
          description: Case data
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/SaleCaseData'
                  - $ref: '#/components/schemas/PurchaseCaseData'
                  - $ref: '#/components/schemas/RemortgageCaseData'
                  - $ref: '#/components/schemas/TransferCaseData'
                discriminator:
                  propertyName: caseType
                  mapping:
                    Sale:
                      $ref: '#/components/schemas/SaleCaseData'
                    Purchase:
                      $ref: '#/components/schemas/PurchaseCaseData'
                    Remortgage:
                      $ref: '#/components/schemas/RemortgageCaseData'
                    Transfer:
                      $ref: '#/components/schemas/TransferCaseData'
                description: >-
                  Comprehensive case data containing all available information
                  from various data sources merged into a flat structure. Fields
                  present depend on case type and available data points.
                  Includes case price, address details and geographic location
                  (if available). TA6, TA7, TA9, and TA10 are taken from case
                  data points (canonical merged copy); enquiry forms are read
                  from completed tasks and appear under EnquiryForms when
                  present.
        '400':
          description: Bad request - missing case ID
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
        '401':
          description: Unauthorized - user not authenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
        '403':
          description: Forbidden - user doesn't belong to the organization
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
        '404':
          description: Case not found or doesn't belong to organization
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
components:
  schemas:
    SaleCaseData:
      title: Sale Case
      allOf:
        - $ref: '#/components/schemas/CaseData'
        - type: object
          description: All data related to the sale case.
          properties:
            ownershipType:
              type: string
            isSharedOwnership:
              type: string
              enum:
                - 'yes'
                - 'no'
            sharedOwnershipPercentage:
              type: number
            propertyType:
              type: string
            houseType:
              type: string
            flatType:
              type: string
            landType:
              type: string
            currentUse:
              type: string
            councilTaxBand:
              type: string
            estateAgentInstructed:
              type: string
              enum:
                - 'Yes'
                - 'No'
            estateAgentName:
              type: string
            estateAgentEmail:
              type: string
              format: email
            estateAgentPhone:
              type: string
            estateAgentFee:
              type: string
            listPrice:
              type: number
            isOfferAccepted:
              type: string
              enum:
                - 'Yes'
                - 'No'
            salePrice:
              type: number
            relationshipToBuyer:
              type: string
            isUndervalue:
              type: string
              enum:
                - 'yes'
                - 'no'
            buyerLawFirmName:
              type: string
            buyerLawFirmEmail:
              type: string
              format: email
            buyerLawFirmPhone:
              type: string
            buyerLawFirmKnown:
              type: string
            agreementsWithBuyer:
              type: string
            anyMortgageChargeLoan:
              type: string
            anyRelatedTransactions:
              type: string
              enum:
                - 'yes'
                - 'no'
            desiredCompletionDate:
              type: string
              format: date
            noDesiredCompletionDate:
              type: string
            isImposedCompletionDate:
              type: string
            imposedCompletionDate:
              type: string
              format: date
            fundsDisbursement:
              type: string
            buyers:
              type: array
              items:
                type: object
                properties:
                  buyerType:
                    type: string
                    enum:
                      - individual
                      - company
                  buyerName:
                    type: object
                    properties:
                      title:
                        type: string
                      firstName:
                        type: string
                      middleName:
                        type: string
                      surname:
                        type: string
                  buyerCompanyName:
                    type: string
            TA6:
              oneOf:
                - $ref: '#/components/schemas/TA6_4th'
                - $ref: '#/components/schemas/TA6_5th'
                - $ref: '#/components/schemas/TA6_6th'
              discriminator:
                propertyName: type
                mapping:
                  TA6_4th:
                    $ref: '#/components/schemas/TA6_4th'
                  TA6_5th:
                    $ref: '#/components/schemas/TA6_5th'
                  TA6_6th:
                    $ref: '#/components/schemas/TA6_6th'
            TA7:
              oneOf:
                - $ref: '#/components/schemas/TA7_3rd'
                - $ref: '#/components/schemas/TA7_4th'
                - $ref: '#/components/schemas/TA7_5th'
              discriminator:
                propertyName: type
                mapping:
                  TA7_3rd:
                    $ref: '#/components/schemas/TA7_3rd'
                  TA7_4th:
                    $ref: '#/components/schemas/TA7_4th'
                  TA7_5th:
                    $ref: '#/components/schemas/TA7_5th'
            TA9:
              $ref: '#/components/schemas/TA9'
            TA10:
              $ref: '#/components/schemas/TA10'
            EnquiryForms:
              $ref: '#/components/schemas/EnquiryForms'
          additionalProperties: true
    PurchaseCaseData:
      title: Purchase Case
      allOf:
        - $ref: '#/components/schemas/CaseData'
        - type: object
          description: All data related to the purchase case.
          properties:
            ownershipType:
              type: string
              enum:
                - freehold
                - leasehold
                - commonhold
            isSharedOwnership:
              type: string
              enum:
                - 'yes'
                - 'no'
            sharedOwnershipPercentage:
              type: number
            propertyType:
              type: string
              enum:
                - House
                - Flat
                - Bungalow
                - Maisonette
                - Land
                - Garage
            houseType:
              type: string
              enum:
                - Detached1
                - Semi-detached
                - Terrace
                - End of terrace
            flatType:
              type: string
              enum:
                - Apartment1
                - Studio
                - Penthouse3
            landType:
              type: string
              enum:
                - Urban/Built-up
                - Agricultural
                - Rangeland
                - Forest
            isNewBuild:
              type: string
              enum:
                - 'yes'
                - 'no'
            newBuildDate:
              type: string
              format: date
            anySurvey:
              type: string
              enum:
                - 'yes'
                - 'no'
            surveyDate:
              type: string
              format: date
            currentUse:
              type: string
              enum:
                - Private
                - Rental
                - Commercial
                - Not known
            intendedUse:
              type: string
              enum:
                - Private
                - Rental
                - Commercial
            isSpecificQueries:
              type: string
              enum:
                - 'yes'
                - 'no'
            specificQueries:
              type: string
            tenancyCapacityType:
              type: string
              enum:
                - sole ownership
                - joint tenants
                - tenants in common in equal shares
                - tenants in common in unequal shares
            tenancyProportions:
              type: string
            trustDeedRequired:
              type: string
              enum:
                - 'yes'
                - 'no'
            trustDeedProportions:
              type: string
            purchasePrice:
              type: number
            isBuyToLet:
              type: string
              enum:
                - 'yes'
                - 'no'
            isAuction:
              type: string
              enum:
                - 'yes'
                - 'no'
            estateAgentInstructed:
              type: string
              enum:
                - 'Yes'
                - 'No'
            estateAgentName:
              type: string
            estateAgentEmail:
              type: string
              format: email
            estateAgentPhone:
              type: string
            relationshipToSeller:
              type: string
              enum:
                - Family
                - Friend
                - None
                - Other
            isUndervalue:
              type: string
              enum:
                - 'yes'
                - 'no'
            sellerLawFirmName:
              type: string
            sellerLawFirmEmail:
              type: string
              format: email
            sellerLawFirmPhone:
              type: string
            isBuyerUsingMortgage:
              type: string
              enum:
                - 'yes'
                - 'no'
            newMortgageStatus:
              type: string
              enum:
                - not started
                - in principle
                - approved
            newMortgageLenderName:
              type: string
            newMortgageAccountNumber:
              type: string
            newMortgageAmount:
              type: string
            isDepositTenPercent:
              type: string
              enum:
                - 'yes'
                - 'no'
            depositPercent:
              type: number
            isHelpToBuy:
              type: string
              enum:
                - 'yes'
                - 'no'
            helpToBuyAmount:
              type: number
            isContributorToPurchase:
              type: string
              enum:
                - 'yes'
                - 'no'
            desiredCompletionDate:
              type: string
              format: date
            willOccupyOnCompletion:
              type: string
              enum:
                - 'yes'
                - 'no'
            owners:
              type: array
              items:
                type: object
                properties:
                  ownerType:
                    type: string
                    enum:
                      - individual
                      - company
                  ownerName:
                    type: object
                    properties:
                      title:
                        type: string
                      firstName:
                        type: string
                      middleName:
                        type: string
                      surname:
                        type: string
                  ownerCompanyName:
                    type: string
                  isDeceased:
                    type: string
                    enum:
                      - 'yes'
                      - 'no'
          additionalProperties: true
    RemortgageCaseData:
      title: Remortgage Case
      allOf:
        - $ref: '#/components/schemas/CaseData'
        - type: object
          description: All data related to the remortgage case.
          properties:
            ownershipType:
              type: string
            isSharedOwnership:
              type: string
            sharedOwnershipPercentage:
              type: string
            propertyType:
              type: string
            houseType:
              type: string
            flatType:
              type: string
            landType:
              type: string
            currentUse:
              type: string
            intendedUse:
              type: string
            tenancyCapacityType:
              type: string
              enum:
                - sole ownership
                - joint tenants
                - tenants in common in equal shares
                - tenants in common in unequal shares
            tenancyProportions:
              type: string
            trustDeedRequired:
              type: string
              enum:
                - 'yes'
                - 'no'
            trustDeedProportions:
              type: string
            anyRelatedTransactions:
              type: string
              enum:
                - 'yes'
                - 'no'
            newMortgageStatus:
              type: string
              enum:
                - not started
                - in principle
                - approved
            newMortgageLenderName:
              type: string
            newMortgageAccountNumber:
              type: string
            newMortgageCashback:
              type: string
              enum:
                - 'yes'
                - 'no'
            newMortgagePorting:
              type: string
              enum:
                - 'yes'
                - 'no'
            newMortgageAmount:
              type: string
            mortgageLenderName:
              type: string
            mortgageAccountNumber:
              type: string
            mortgageAmountOutstanding:
              type: number
            mortgageBrokerName:
              type: string
            mortgageBrokerEmail:
              type: string
              format: email
            mortgageBrokerPhone:
              type: string
            mortgageBrokerContactConsent:
              type: string
            isRemortgagerSavings:
              type: string
            remortgagerSavingsAmount:
              type: string
            isContributorToRemortgage:
              type: string
            isRemortgagerOverseasFunds:
              type: string
              enum:
                - 'yes'
                - 'no'
            remortgagerOverseasFundsCountry:
              type: string
            remortgagerOverseasFundsAmount:
              type: number
            anyMortgageChargeLoan:
              type: string
            remortgagerOccupiers:
              type: string
            desiredCompletionDate:
              type: string
              format: date
            noDesiredCompletionDate:
              type: string
            isRemortgageShortfall:
              type: string
              enum:
                - 'yes'
                - 'no'
            remortgageShortfallAmount:
              type: number
          additionalProperties: true
    TransferCaseData:
      title: Transfer Case
      allOf:
        - $ref: '#/components/schemas/CaseData'
        - type: object
          description: All data related to the transfer case.
          properties:
            ownershipType:
              type: string
            isSharedOwnership:
              type: string
            sharedOwnershipPercentage:
              type: string
            propertyType:
              type: string
            houseType:
              type: string
            flatType:
              type: string
            landType:
              type: string
            currentUse:
              type: string
            intendedUse:
              type: string
            tenancyCapacityType:
              type: string
              enum:
                - sole ownership
                - joint tenants
                - tenants in common in equal shares
                - tenants in common in unequal shares
            tenancyProportions:
              type: string
            trustDeedRequired:
              type: string
              enum:
                - 'yes'
                - 'no'
            trustDeedProportions:
              type: string
            anyRelatedTransactions:
              type: string
              enum:
                - 'yes'
                - 'no'
            newMortgageStatus:
              type: string
              enum:
                - not started
                - in principle
                - approved
            newMortgageLenderName:
              type: string
            newMortgageAccountNumber:
              type: string
            newMortgageCashback:
              type: string
              enum:
                - 'yes'
                - 'no'
            newMortgagePorting:
              type: string
              enum:
                - 'yes'
                - 'no'
            newMortgageAmount:
              type: string
            mortgageLenderName:
              type: string
            mortgageAccountNumber:
              type: string
            mortgageAmountOutstanding:
              type: number
            mortgageBrokerName:
              type: string
            mortgageBrokerEmail:
              type: string
              format: email
            mortgageBrokerPhone:
              type: string
            mortgageBrokerContactConsent:
              type: string
            isTransferorSavings:
              type: string
            transferorSavingsAmount:
              type: string
            isContributorToTransfer:
              type: string
            isTransferorOverseasFunds:
              type: string
              enum:
                - 'yes'
                - 'no'
            transferorOverseasFundsCountry:
              type: string
            transferorOverseasFundsAmount:
              type: number
            anyMortgageChargeLoan:
              type: string
            transferorOccupiers:
              type: string
            desiredCompletionDate:
              type: string
              format: date
            noDesiredCompletionDate:
              type: string
            isTransferShortfall:
              type: string
              enum:
                - 'yes'
                - 'no'
            transferShortfallAmount:
              type: number
          additionalProperties: true
    CaseData:
      title: Case (Base)
      type: object
      required:
        - caseId
        - caseType
      properties:
        caseId:
          type: string
          format: uuid
        caseType:
          type: string
          enum:
            - Sale
            - Purchase
            - Remortgage
            - Transfer
        reference:
          type: string
        address:
          $ref: '#/components/schemas/Address'
        location:
          type: object
          properties:
            latitude:
              type: number
            longitude:
              type: number
          additionalProperties: false
        price:
          type: number
      additionalProperties: true
    TA6_4th:
      title: TA6 (4th edition)
      type: object
      description: >-
        Property Information Form (TA6, 4th edition). Boolean fields are
        expressed as 'yes'/'no' strings for readability.
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - TA6_4th
        boundaryLeftResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
          description: Responsibility for the left boundary.
        boundaryRightResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
          description: Responsibility for the right boundary.
        boundaryRearResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
          description: Responsibility for the rear boundary.
        boundaryFrontResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
          description: Responsibility for the front boundary.
        isIrregularBoundaries:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Irregular boundaries present.
        irregularBoundariesDetails:
          type: string
        irregularBoundariesDocumentUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isBoundaryFeature:
          type: string
          enum:
            - 'yes'
            - 'no'
        boundaryFeatureDetails:
          type: string
        isAdjacentLand:
          type: string
          enum:
            - 'yes'
            - 'no'
        adjacentLandDetails:
          type: string
        isBoundaryOverhang:
          type: string
          enum:
            - 'yes'
            - 'no'
        boundaryOverhangDetails:
          type: string
        isNoticesPartyWallAct:
          type: string
          enum:
            - 'yes'
            - 'no'
        noticesPartyWallActDetails:
          type: string
        partyWallNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isDisputesOrComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
        disputesOrComplaintsDetails:
          type: string
        isAnyDisputes:
          type: string
          enum:
            - 'yes'
            - 'no'
        anyDisputesDetails:
          type: string
        isNoticesProposalsCorrespondence:
          type: string
          enum:
            - 'yes'
            - 'no'
        noticesProposalsCorrespondenceDetails:
          type: string
        isProposalsToDevelop:
          type: string
          enum:
            - 'yes'
            - 'no'
        proposalsToDevelopDetails:
          type: string
        alterationsMade:
          type: array
          items:
            type: string
        alterationsDetails:
          type: string
        isChangeOfUse:
          type: string
          enum:
            - 'yes'
            - 'no'
        changeOfUseYear:
          type: string
        isWindowOrDoorInstallations:
          type: string
          enum:
            - 'yes'
            - 'no'
        windowOrDoorInstallationsYear:
          type: string
        isConservatoryInstallation:
          type: string
          enum:
            - 'yes'
            - 'no'
        conservatoryInstallationYear:
          type: string
        isBuildingPermissions:
          type: string
          enum:
            - 'yes'
            - 'no'
        buildingPermissionsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        noBuildingPermissionsReason:
          type: string
        isUnfinishedWorks:
          type: string
          enum:
            - 'yes'
            - 'no'
        unfinishedWorksDetails:
          type: string
        isPlanningPermissionBreaches:
          type: string
          enum:
            - 'yes'
            - 'no'
        planningPermissionBreachesDetails:
          type: string
        isPlanningBuildingIssues:
          type: string
          enum:
            - 'yes'
            - 'no'
        planningBuildingIssuesDetails:
          type: string
        hasSolarPanels:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Presence of solar panels.
        solarPanelsInstallationYear:
          type: string
        solarPanelsInstallationYearNotKnown:
          type: string
        ownsSolarPanels:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Ownership of the solar panels.
        hasSolarPanelsLease:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Leased solar panels.
        solarPanelsLeaseAgreementUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isListedBuilding:
          type: string
          enum:
            - 'yes'
            - 'no'
        listingGrade:
          type: string
          enum:
            - grade I
            - grade II*
            - grade II
        isConservationArea:
          type: string
          enum:
            - 'yes'
            - 'no'
        listedConservationUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isTreePreservationOrder:
          type: string
          enum:
            - 'yes'
            - 'no'
        treePreservationOrderTermsCompliedWith:
          type: string
          enum:
            - 'yes'
            - 'no'
        treePreservationOrderTermsDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        guaranteesOrWarrantiesBenefits:
          type: array
          items:
            type: string
        newHomeWarrantyUpload:
          $ref: '#/components/schemas/DocumentUpload'
        dampProofingGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        timberTreatmentGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        windowsGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        electricalWorkGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        roofingWarrantyUpload:
          $ref: '#/components/schemas/DocumentUpload'
        heatingSystemGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        underpinningGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        otherGuaranteesAndWarrantiesDetails:
          type: string
        otherGuaranteesAndWarrantiesUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isInsurance:
          type: string
          enum:
            - 'yes'
            - 'no'
        noInsuranceReason:
          type: string
        isLandlordInsurance:
          type: string
          enum:
            - 'yes'
            - 'no'
        isInsuranceAbnormalRise:
          type: string
          enum:
            - 'yes'
            - 'no'
        insuranceAbnormalRiseReason:
          type: string
        isInsuranceHighExcesses:
          type: string
          enum:
            - 'yes'
            - 'no'
        insuranceHighExcessesReason:
          type: string
        isInsuranceUnusalConditions:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: 'Likely typo in source: Unusual'
        insuranceUnusalConditionsReason:
          type: string
        isInsuranceRefusal:
          type: string
          enum:
            - 'yes'
            - 'no'
        insuranceRefusalReason:
          type: string
        isBuildingsInsuranceClaims:
          type: string
          enum:
            - 'yes'
            - 'no'
        buildingsInsuranceClaimsDetails:
          type: string
        isClaims:
          type: string
          enum:
            - 'yes'
            - 'no'
        claimsDetails:
          type: string
        hasFloodingHistory:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether property has flooding history.
        floodingHistoryDetails:
          type: string
        floodingType:
          type: array
          items:
            type: string
        floodingDetails:
          type: string
        isFloodRiskReport:
          type: string
          enum:
            - 'yes'
            - 'no'
        floodRiskReportUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isRadon:
          type: string
          enum:
            - 'yes'
            - 'no'
        radonReportUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isRadonRecommendedActionLevel:
          type: string
          enum:
            - 'yes'
            - 'no'
        isRadonRemedialMeasures:
          type: string
          enum:
            - 'yes'
            - 'no'
        epcUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isGreenDealScheme:
          type: string
          enum:
            - 'yes'
            - 'no'
        greenDealSchemeDetails:
          type: string
        greenDealSchemeDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isJointlyUsedServices:
          type: string
          enum:
            - 'yes'
            - 'no'
        isJointlyUsedServicesDetails:
          type: string
        isRightsOrArrangements:
          type: string
          enum:
            - 'yes'
            - 'no'
        rightsOrArrangementsDetails:
          type: string
        isCompaintsAboutAccess:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: 'Likely typo in source: Complaints'
        compaintsAboutAccessDetails:
          type: string
        isRightsOfLight:
          type: string
          enum:
            - 'yes'
            - 'no'
        isRightsOfSupport:
          type: string
          enum:
            - 'yes'
            - 'no'
        isCustomaryRights:
          type: string
          enum:
            - 'yes'
            - 'no'
        isMinesAndMinerals:
          type: string
          enum:
            - 'yes'
            - 'no'
        isChancelRepairLiability:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOtherPeoplesRights:
          type: string
          enum:
            - 'yes'
            - 'no'
        arrangementsDetails:
          type: string
        isOtherArrangements:
          type: string
          enum:
            - 'yes'
            - 'no'
        otherArrangementsDetails:
          type: string
        isDrainsPipesWires:
          type: string
          enum:
            - 'yes'
            - 'no'
        isDrainsPipesWiresCrossing:
          type: string
          enum:
            - 'yes'
            - 'no'
        isDrainsPipesWiresAgreements:
          type: string
          enum:
            - 'yes'
            - 'no'
        drainsPipesWiresAgreementsDetails:
          type: string
        drainsPipesWiresDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        parkingArrangementsDetails:
          type: string
        isParkingZone:
          type: string
          enum:
            - 'yes'
            - 'no'
        isAdditionalCharges:
          type: string
          enum:
            - 'yes'
            - 'no'
        additionalChargesDetails:
          type: string
        isOccupiers:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOtherOccupiers:
          type: string
          enum:
            - 'yes'
            - 'no'
        occupiersNames:
          type: string
        isTenantsOrLodgers:
          type: string
          enum:
            - 'yes'
            - 'no'
        isVacantPossession:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOccupiersLeaving:
          type: string
          enum:
            - 'yes'
            - 'no'
        contractOfSaleSigning:
          type: string
          enum:
            - 'yes'
            - 'no'
        vacantPossessionDetailsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isElectrician:
          type: string
          enum:
            - 'yes'
            - 'no'
        electricalInstallationYear:
          type: string
        electricalInstallationYearNotKnown:
          type: string
        electricalInstallationDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isRewiringJan25:
          type: string
          enum:
            - 'yes'
            - 'no'
        electricalSafetyCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
        buildingRegulationsComplianceCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
        buildingControlCompletionCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isCentralHeatingSystem:
          type: string
          enum:
            - 'yes'
            - 'no'
        centralHeatingSystemType:
          type: string
        isHeatingSystemInstalled:
          type: string
          enum:
            - 'yes'
            - 'no'
        heatingSystemInstalledYear:
          type: string
        heatingInstallationDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isHeatingSystemWorkingOrder:
          type: string
          enum:
            - 'yes'
            - 'no'
        boilerServiceYear:
          type: string
        boilerServiceNotKnown:
          type: string
        boilerInspectionReportUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isFoulWaterDrainage:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSurfaceWaterDrainage:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSepticTank:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSewageTreatmentPlant:
          type: string
          enum:
            - 'yes'
            - 'no'
        isCesspool:
          type: string
          enum:
            - 'yes'
            - 'no'
        septicTankUpgradeMonth:
          type: string
        septicTankUpgradeYear:
          type: string
        septicTankUpgradeNotKnown:
          type: string
        isSewageSystemShared:
          type: string
          enum:
            - 'yes'
            - 'no'
        sewageSystemSharedDetails:
          type: string
        sewageLastEmptiedDate:
          type: string
        sewageLastEmptiedDateNotKnown:
          type: string
        sewageTreatmentPlantLastServicedDate:
          type: string
        sewageTreatmentPlantLastServicedDateNotKnown:
          type: string
        sewerageSystemInstallationDate:
          type: string
        sewerageSystemInstallationDateNotKnown:
          type: string
        isSewageOutsideBoundary:
          type: string
          enum:
            - 'yes'
            - 'no'
        sewageOutsideBoundaryDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        hasMainsElectricity:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether property has mains electricity.
        mainsElectricityProvider:
          type: string
        mainsElectricityProviderNotKnown:
          type: string
        mainsElectricityMeter:
          type: string
        mainsElectricityMeterNotKnown:
          type: string
        hasMainsGas:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether property has mains gas.
        mainsGasProvider:
          type: string
        mainsGasProviderNotKnown:
          type: string
        mainsGasMeter:
          type: string
        mainsGasMeterNotKnown:
          type: string
        hasMainsWater:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether property has mains water.
        mainsWaterProvider:
          type: string
        mainsWaterProviderNotKnown:
          type: string
        mainsWaterStopcock:
          type: string
        mainsWaterStopcockNotKnown:
          type: string
        mainsWaterMeter:
          type: string
        mainsWaterMeterNotKnown:
          type: string
        hasMainsSewerage:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether property has mains sewerage.
        mainsSewerageProvider:
          type: string
        mainsSewerageProviderNotKnown:
          type: string
        isTelephoneLine:
          type: string
          enum:
            - 'yes'
            - 'no'
        telephoneLineProvider:
          type: string
        telephoneLineProviderNotKnown:
          type: string
        isCableConnection:
          type: string
          enum:
            - 'yes'
            - 'no'
        cableConnectionProvider:
          type: string
        isDependantSaleSameDay:
          type: string
          enum:
            - 'yes'
            - 'no'
        isMovingDate:
          type: string
          enum:
            - 'yes'
            - 'no'
        movingDateDetails:
          type: string
        isRepaymentSufficent:
          type: string
          enum:
            - 'yes'
            - 'no'
            - no mortgage
          description: 'Likely typo in source: Sufficient'
        isRubbishRemoved:
          type: string
          enum:
            - 'yes'
            - 'no'
        isLightFittings:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOtherFittings:
          type: string
          enum:
            - 'yes'
            - 'no'
        isKeys:
          type: string
          enum:
            - 'yes'
            - 'no'
        propertyHeatedBy:
          type: array
          items:
            type: string
          description: Heating sources present (e.g., mains gas, electricity, heat pumps).
      additionalProperties: true
    TA6_5th:
      title: TA6 (5th edition)
      type: object
      description: >-
        Property Information Form (TA6, 5th edition). Boolean fields are
        expressed as 'yes'/'no' strings for readability.
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - TA6_5th
        leaseEndDate:
          type: string
        applicationForLandlordLeaseExtension:
          type: string
          enum:
            - 'yes'
            - 'no'
        applicationForLandlordBuyFreehold:
          type: string
          enum:
            - 'yes'
            - 'no'
        applicationForLandlordVaryTermsOfLease:
          type: string
          enum:
            - 'yes'
            - 'no'
        applicationForLandlordApplicationInformation:
          type: string
        groundRentAmountDue:
          type: string
        groundRentIncreaseDue:
          type: string
          enum:
            - 'yes'
            - 'no'
        groundRentIncreaseDueDate:
          type: string
        groundRentIncreaseFrequencySchedule:
          type: string
        groundRentIncreaseFee:
          type: string
        groundRentIncreaseCalculationDetails:
          type: string
        isServiceCharge:
          type: string
          enum:
            - 'yes'
            - 'no'
        isServiceChargePaid:
          type: string
          enum:
            - 'yes'
            - 'no'
        serviceChargeDateFrom:
          type: string
        serviceChargeDateTo:
          type: string
        serviceChargeAmountPaid:
          type: string
        isServiceChargeAnnualBudget:
          type: string
          enum:
            - 'yes'
            - 'no'
        serviceChargeDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        serviceChargeFrequencySchedule:
          type: string
          enum:
            - monthly
            - quarterly
            - six monthly
            - annually
        commonholdCommunityStatementUpload:
          $ref: '#/components/schemas/DocumentUpload'
        numberOfCommonholdUnits:
          type: string
        commonholdUnitAnnualCharge:
          type: string
        isCommonholdReserveFund:
          type: string
          enum:
            - 'yes'
            - 'no'
        commonholdReserveFundUnitAnnualCharge:
          type: string
        isAdditionalCharges:
          type: string
          enum:
            - 'yes'
            - 'no'
        additionalChargesDetails:
          type: string
        additionalChargesAmountDue:
          type: string
        isRoadsFootpathsMaintenance:
          type: string
          enum:
            - 'yes'
            - 'no'
        roadsFootpathsMaintenancePaymentDetails:
          type: string
        roadsFootpathsMaintenanceAnnualAmountDue:
          type: string
        constructionMaterialsDetails:
          type: string
        numberOfBedrooms:
          type: string
        numberOfBathrooms:
          type: string
        numberOfReceptionRooms:
          type: string
        numberOfOtherRooms:
          type: string
        otherRoomsDetails:
          type: string
        electricityConnected:
          type: array
          items:
            type: string
        electricityOtherDetails:
          type: string
        waterConnected:
          type: array
          items:
            type: string
        waterPrivateSupplyDetails:
          type: string
        sewerage:
          type: array
          items:
            type: string
        heatingConnected:
          type: array
          items:
            type: string
        heatingOtherDetails:
          type: string
        broadbandConnected:
          type: string
          enum:
            - 'yes'
            - 'no'
        mobileSignalAvailable:
          type: string
          enum:
            - 'yes'
            - 'no'
        mobileSignalRestrictionPresent:
          type: string
          enum:
            - 'yes'
            - 'no'
        signalRestrictedRestrictionDetails:
          type: string
        offRoadParkingAvailable:
          type: string
          enum:
            - 'yes'
            - 'no'
        offRoadParkingType:
          type: string
        onRoadParkingPermit:
          type: string
          enum:
            - 'yes'
            - 'no'
        onRoadParkingPermitChargeAmount:
          type: string
        evChargingPointAvailable:
          type: string
          enum:
            - 'yes'
            - 'no'
        evChargingPointMakeLocation:
          type: string
        isDefectsHazards:
          type: string
          enum:
            - 'yes'
            - 'no'
        defectsHazardsDetails:
          type: string
        urgentEssentialWorksRecommeded:
          type: string
          enum:
            - 'yes'
            - 'no'
        workProposalsInPlace:
          type: string
          enum:
            - 'yes'
            - 'no'
        isWorkCompleted:
          type: string
          enum:
            - 'yes'
            - 'no'
        workCompletedDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isConservationArea:
          type: string
          enum:
            - 'yes'
            - 'no'
        conservationAreaDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isListedBuilding:
          type: string
          enum:
            - 'yes'
            - 'no'
        listingGrade:
          type: string
          enum:
            - grade I
            - grade II*
            - grade II
        listingGradeDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isRestrictiveCovenants:
          type: string
          enum:
            - 'yes'
            - 'no'
        restrictiveCovenantsDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isRightsOrArrangements:
          type: string
          enum:
            - 'yes'
            - 'no'
        rightsOrArrangementsDetails:
          type: string
        isJointlyUsedServices:
          type: string
          enum:
            - 'yes'
            - 'no'
        isJointlyUsedServicesDetails:
          type: string
        isCompaintsAboutAccess:
          type: string
          enum:
            - 'yes'
            - 'no'
        compaintsAboutAccessDetails:
          type: string
        isRightsOfLight:
          type: string
          enum:
            - 'yes'
            - 'no'
        isRightsOfSupport:
          type: string
          enum:
            - 'yes'
            - 'no'
        isCustomaryRights:
          type: string
          enum:
            - 'yes'
            - 'no'
        isMinesAndMinerals:
          type: string
          enum:
            - 'yes'
            - 'no'
        isChancelRepairLiability:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOtherPeoplesRights:
          type: string
          enum:
            - 'yes'
            - 'no'
        arrangementsDetails:
          type: string
        isOtherArrangements:
          type: string
          enum:
            - 'yes'
            - 'no'
        otherArrangementsDetails:
          type: string
        isDrainsPipesWires:
          type: string
          enum:
            - 'yes'
            - 'no'
        isDrainsPipesWiresCrossing:
          type: string
          enum:
            - 'yes'
            - 'no'
        isDrainsPipesWiresAgreements:
          type: string
          enum:
            - 'yes'
            - 'no'
        drainsPipesWiresAgreementsDetails:
          type: string
        drainsPipesWiresDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        floodRiskArea:
          type: string
        isFloodingHistory:
          type: string
          enum:
            - 'yes'
            - 'no'
        floodingHistoryDate:
          type: string
        floodingParts:
          type: string
        isGroundWater:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSewerFlooding:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSurfaceWater:
          type: string
          enum:
            - 'yes'
            - 'no'
        isCoastalFlooding:
          type: string
          enum:
            - 'yes'
            - 'no'
        isRiverFlooding:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOtherFlooding:
          type: string
          enum:
            - 'yes'
            - 'no'
        floodingDetails:
          type: string
        isFloodingDefences:
          type: string
          enum:
            - 'yes'
            - 'no'
        floodingDefencesDetails:
          type: string
        isCoastalErosion:
          type: string
          enum:
            - 'yes'
            - 'no'
        coastalErosionDetails:
          type: string
        isPlanningPermissionBreaches:
          type: string
          enum:
            - 'yes'
            - 'no'
        planningPermissionBreachesDetails:
          type: string
        isPlanningBuildingIssues:
          type: string
          enum:
            - 'yes'
            - 'no'
        planningBuildingIssuesDetails:
          type: string
        isNoticesProposalsCorrespondence:
          type: string
          enum:
            - 'yes'
            - 'no'
        noticesProposalsCorrespondenceDetails:
          type: string
        isProposalsToDevelop:
          type: string
          enum:
            - 'yes'
            - 'no'
        proposalsToDevelopDetails:
          type: string
        isAlterationsNearby:
          type: string
          enum:
            - 'yes'
            - 'no'
        alterationsNearbyDetails:
          type: string
        isStepFreeAccess:
          type: string
          enum:
            - 'yes'
            - 'no'
        isWetRoomAccess:
          type: string
          enum:
            - 'yes'
            - 'no'
        isLateralLiving:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOtherAccessibility:
          type: string
          enum:
            - 'yes'
            - 'no'
        accessibilityDetails:
          type: string
        isCoalfieldOrMining:
          type: string
          enum:
            - 'yes'
            - 'no'
        boundaryLeftResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
        boundaryRightResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
        boundaryRearResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
        boundaryFrontResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
        isIrregularBoundaries:
          type: string
          enum:
            - 'yes'
            - 'no'
        irregularBoundariesDetails:
          type: string
        irregularBoundariesDocumentUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isBoundaryFeature:
          type: string
          enum:
            - 'yes'
            - 'no'
        boundaryFeatureDetails:
          type: string
        isAdjacentLand:
          type: string
          enum:
            - 'yes'
            - 'no'
        adjacentLandDetails:
          type: string
        isBoundaryOverhang:
          type: string
          enum:
            - 'yes'
            - 'no'
        boundaryOverhangDetails:
          type: string
        isNoticesPartyWallAct:
          type: string
          enum:
            - 'yes'
            - 'no'
        noticesPartyWallActDetails:
          type: string
        sharedBoundaryWorksDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isDisputesOrComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
        disputesOrComplaintsDetails:
          type: string
        isAnyDisputes:
          type: string
          enum:
            - 'yes'
            - 'no'
        anyDisputesDetails:
          type: string
        isRightsToEnter:
          type: string
          enum:
            - 'yes'
            - 'no'
        rightsToEnterDetails:
          type: string
        alterationsMade:
          type: array
          items:
            type: string
        alterationsDetails:
          type: string
        isWorksCompleted:
          type: string
          enum:
            - 'yes'
            - 'no'
        worksCompletedDetails:
          type: string
        isWorksCompletionOwnership:
          type: string
          enum:
            - 'yes'
            - 'no'
        isPlanningPermission:
          type: string
          enum:
            - 'yes'
            - 'no'
        planningDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        planningPermissionNotRequiredDetails:
          type: string
        isNonResidentalPurposes:
          type: string
          enum:
            - 'yes'
            - 'no'
        nonResidentalPurposesDetails:
          type: string
        nonResidentalPurposesDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        hasSolarPanels:
          type: string
          enum:
            - 'yes'
            - 'no'
        solarPanelsInstallationYear:
          type: string
        ownsSolarPanels:
          type: string
          enum:
            - 'yes'
            - 'no'
        hasSolarPanelsLease:
          type: string
          enum:
            - 'yes'
            - 'no'
        solarPanelsLeaseAgreementUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isSolarPanelsMaintenance:
          type: string
          enum:
            - 'yes'
            - 'no'
        solarPanelsMaintenanceAgreementUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isSolarPowerBattery:
          type: string
          enum:
            - 'yes'
            - 'no'
        solarPowerBatteryDetails:
          type: string
        isSolarNationalGrid:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarTariffOrGuarantee:
          type: string
          enum:
            - 'yes'
            - 'no'
        solarTariffOrGuaranteeAgreementUpload:
          $ref: '#/components/schemas/DocumentUpload'
        solarCreditUpload:
          $ref: '#/components/schemas/DocumentUpload'
        solarCreditAssignmentUpload:
          $ref: '#/components/schemas/DocumentUpload'
        solarPanelsBuildingRegulationsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isSolarPanelsPositioning:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarPanelsRoofStable:
          type: string
          enum:
            - 'yes'
            - 'no'
        SolarPanelsRoofDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        mainsElectricityProviderName:
          type: string
        mainsElectricityMeterLocation:
          type: string
        mainsElectricityMPAN:
          type: string
        miansGasDetailsProviderName:
          type: string
        miansGasMeterLocation:
          type: string
        miansGasDetailsMPRN:
          type: string
        mainsWaterProviderName:
          type: string
        mainsWaterStopcockLocation:
          type: string
        mainsWaterMeterLocation:
          type: string
        mainsSewerageProviderName:
          type: string
        smallSewageTreatmentPlantProviderName:
          type: string
        smallSewageTreatmentPlantMake:
          type: string
        smallSewageTreatmentPlantServiceProviderName:
          type: string
        telephoneProviderName:
          type: string
        broadbandProviderName:
          type: string
        heatPumpsProviderName:
          type: string
        heatPumpsMake:
          type: string
        heatPumpsServiceProviderName:
          type: string
        otherServicesDetails:
          type: string
        isElectrician:
          type: string
          enum:
            - 'yes'
            - 'no'
        electricalInstallationYear:
          type: string
        electricalInstallationDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isRewiringJan25:
          type: string
          enum:
            - 'yes'
            - 'no'
        electricalSafetyCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
        buildingRegulationsComplianceCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
        buildingControlCompletionCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
        propertyHeatedBy:
          type: array
          items:
            type: string
        boilerInstalledYear:
          type: string
        boilerInstalledNotKnown:
          type: string
        heatingSystemInstalledYear:
          type: string
        heatingSystemInstalledNotKnown:
          type: string
        installationDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isBoilerWorkingOrder:
          type: string
          enum:
            - 'yes'
            - 'no'
        boilerServiceYear:
          type: string
        boilerServiceNotKnown:
          type: string
        boilerInspectionReportUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isFoulWaterDrainage:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSurfaceWaterDrainage:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSepticTank:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSewageTreatmentPlant:
          type: string
          enum:
            - 'yes'
            - 'no'
        isCesspool:
          type: string
          enum:
            - 'yes'
            - 'no'
        sewerageSystemInstallationDate:
          type: string
        sewerageSystemInstallationDateNotKnown:
          type: string
        sewerageSystemUpgradeDate:
          type: string
        sewerageSystemUpgradeDateNotKnown:
          type: string
        cesspoolLastEmptiedDate:
          type: string
        cesspoolLastEmptiedDateNotKnown:
          type: string
        sewageTreatmentPlantLastServicedDate:
          type: string
        sewageTreatmentPlantLastServicedDateNotKnown:
          type: string
        sewageDischargeType:
          type: string
          enum:
            - ground
            - surface water
        isInfiltrationSystem:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSewageSystemShared:
          type: string
          enum:
            - 'yes'
            - 'no'
        sewageSystemSharedDetails:
          type: string
        isSewageOutsideBoundary:
          type: string
          enum:
            - 'yes'
            - 'no'
        sewageOutsideBoundaryDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        epcUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isGreenDealScheme:
          type: string
          enum:
            - 'yes'
            - 'no'
        greenDealSchemeDetails:
          type: string
        greenDealSchemeDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isJapaneseKnotweed:
          type: string
          enum:
            - 'yes'
            - 'no'
        isJapaneseKnotweedPlan:
          type: string
          enum:
            - 'yes'
            - 'no'
        isJapaneseKnotweedPlanInsurance:
          type: string
          enum:
            - 'yes'
            - 'no'
        isRadon:
          type: string
          enum:
            - 'yes'
            - 'no'
        radonReportUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isRadonRecommendedActionLevel:
          type: string
          enum:
            - 'yes'
            - 'no'
        isRadonRemedialMeasures:
          type: string
          enum:
            - 'yes'
            - 'no'
        isDependantSaleSameDay:
          type: string
          enum:
            - 'yes'
            - 'no'
        isMovingDate:
          type: string
          enum:
            - 'yes'
            - 'no'
        movingDateDetails:
          type: string
        isRepaymentSufficent:
          type: string
          enum:
            - 'yes'
            - 'no'
            - no mortgage
        isRubbishRemoved:
          type: string
          enum:
            - 'yes'
            - 'no'
        isLightFittings:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOtherFittings:
          type: string
          enum:
            - 'yes'
            - 'no'
        isKeys:
          type: string
          enum:
            - 'yes'
            - 'no'
        furtherInformationDetails:
          type: string
        additionalDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        confirm:
          type: string
      additionalProperties: true
    TA6_6th:
      title: TA6 (6th edition)
      type: object
      description: >-
        Property Information Form (TA6, 6th edition). Boolean-style answers are
        often expressed as yes/no strings; see per-field enums where enumerated.
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - TA6_6th
        additionalDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        alterationsDetails:
          type: string
        alterationsMade:
          type: array
          items:
            type: string
        alterationsNearbyDetails:
          type: string
        anyDisputesDetails:
          type: string
        askedContributionDetails:
          type: string
        authorityToSellDate:
          type: string
        boilerInspectionReportUpload:
          $ref: '#/components/schemas/DocumentUpload'
        boilerInspectionReportUpload_2:
          $ref: '#/components/schemas/DocumentUpload'
        boilerInspectionReportUpload_3:
          $ref: '#/components/schemas/DocumentUpload'
        boilerInstalledDate:
          type: string
        boilerInstalledDate_2:
          type: string
        boilerInstalledDate_3:
          type: string
        boilerInstalledNotApplicable:
          type: array
          items:
            type: string
        boilerInstalledNotApplicable_2:
          type: array
          items:
            type: string
        boilerInstalledNotApplicable_3:
          type: array
          items:
            type: string
        boilerInstalledNotKnown:
          type: array
          items:
            type: string
        boilerInstalledNotKnown_2:
          type: array
          items:
            type: string
        boilerInstalledNotKnown_3:
          type: array
          items:
            type: string
        boilerServiceNotKnown:
          type: array
          items:
            type: string
        boilerServiceNotKnown_2:
          type: array
          items:
            type: string
        boilerServiceNotKnown_3:
          type: array
          items:
            type: string
        boilerServiceReportUpload:
          $ref: '#/components/schemas/DocumentUpload'
        boilerServiceReportUpload_2:
          $ref: '#/components/schemas/DocumentUpload'
        boilerServiceReportUpload_3:
          $ref: '#/components/schemas/DocumentUpload'
        boilerServiceYear:
          type: string
        boilerServiceYear_2:
          type: string
        boilerServiceYear_3:
          type: string
        boundaryFeatureDetails:
          type: string
        boundaryFrontResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
        boundaryLeftResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
        boundaryOverhangDetails:
          type: string
        boundaryRearResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
        boundaryRightResponsibility:
          type: string
          enum:
            - seller
            - neighbour
            - shared
            - not known
        broadbandProviderName:
          type: string
        buildingPermissionsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        buildingsInsuranceClaimsDetails:
          type: string
        cesspoolLastEmptiedDate:
          type: string
        cesspoolLastEmptiedDateNotKnown:
          type: array
          items:
            type: string
        claimsDetails:
          type: string
        confirmationCapacity:
          type: array
          items:
            type: string
        confirmPropertyInformationYesNo:
          type: string
          enum:
            - 'Yes'
        consentsAttachedList:
          type: string
        consentsNotAvailableList:
          type: string
        consentsStatus:
          type: array
          items:
            type: string
        consentsToFollowList:
          type: string
        consentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        contributionToJointFacilitiesDetails:
          type: string
        dampProofingGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        dischargeCommenceDate:
          type: string
        dischargeCommenceDateNotKnown:
          type: array
          items:
            type: string
        disputesOrComplaintsDetails:
          type: string
        drainsPipesWiresAgreementsDetails:
          type: string
        drainsPipesWiresDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        eicrUpload:
          $ref: '#/components/schemas/DocumentUpload'
        electricalCertificatesUpload:
          $ref: '#/components/schemas/DocumentUpload'
        electricalInstallationWorksDetails:
          type: string
        evCableCrossingPavementDetails:
          type: string
        evChargingPointBuildingRegsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        evChargingPointDetails:
          type: string
        floodDefencesDetails:
          type: string
        floodingDetails:
          type: string
        floodingType:
          type: array
          items:
            type: string
        furtherInformationDetails:
          type: string
        greenDealSchemeDetails:
          type: string
        greenDealSchemeDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        guaranteeBreachOfTermsDetails:
          type: string
        guaranteesOrWarrantiesBenefits:
          type: array
          items:
            type: string
        heatingSystemGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        heatingSystemInstalledDate:
          type: string
        heatingSystemInstalledDate_2:
          type: string
        heatingSystemInstalledDate_3:
          type: string
        heatingSystemInstalledNotKnown:
          type: array
          items:
            type: string
        heatingSystemInstalledNotKnown_2:
          type: array
          items:
            type: string
        heatingSystemInstalledNotKnown_3:
          type: array
          items:
            type: string
        heatPumpsMake:
          type: string
        heatPumpsProviderName:
          type: string
        heatPumpsServiceProviderName:
          type: string
        installationDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        installationDocumentsUpload_2:
          $ref: '#/components/schemas/DocumentUpload'
        installationDocumentsUpload_3:
          $ref: '#/components/schemas/DocumentUpload'
        insulationGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        insuranceDifficultDetails:
          type: string
        irregularBoundariesDetails:
          type: string
        irregularBoundariesDocumentUpload:
          $ref: '#/components/schemas/DocumentUpload'
        isAlterationsNearby:
          type: string
          enum:
            - 'yes'
            - 'no'
        isAnyDisputes:
          type: string
          enum:
            - 'yes'
            - 'no'
        isAskedContribution:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
        isBoilerWorkingOrder:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isBoilerWorkingOrder_2:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isBoilerWorkingOrder_3:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isBoundaryFeature:
          type: string
          enum:
            - 'yes'
            - 'no'
        isBoundaryOverhang:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isBroadband:
          type: string
          enum:
            - 'yes'
            - 'no'
        isBuildingPermissions:
          type: string
          enum:
            - 'yes'
            - 'no'
        isBuildingsInsuranceClaims:
          type: string
          enum:
            - 'yes'
            - 'no'
        isCesspool:
          type: string
          enum:
            - 'yes'
            - 'no'
        isClaims:
          type: string
          enum:
            - 'yes'
            - 'no'
        isConservationArea:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isContributionToJointFacilities:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
        isDependantSaleSameDay:
          type: string
          enum:
            - 'yes'
            - 'no'
        isDisputesOrComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
        isDrainsPipesWires:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isDrainsPipesWiresAgreements:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isDrainsPipesWiresCrossing:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isEICR:
          type: string
          enum:
            - 'yes'
            - 'no'
        isElectricalCertificates:
          type: string
          enum:
            - 'yes'
            - 'no'
        isElectricalInstallationWorks:
          type: string
          enum:
            - 'yes'
            - 'no'
        isEVCableCrossingPavement:
          type: string
          enum:
            - 'yes'
            - 'no'
        isEVChargingPoint:
          type: string
          enum:
            - 'yes'
            - 'no'
        isFloodDefences:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isFloodingHistory:
          type: string
          enum:
            - 'yes'
            - 'no'
        isFoulWaterDrainage:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isGreenDealScheme:
          type: string
          enum:
            - 'yes'
            - 'no'
        isGuaranteeBreachOfTerms:
          type: string
          enum:
            - 'yes'
            - 'no'
        isHeatingSystemReplacement:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isHeatingSystemReplacement_2:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isHeatingSystemReplacement_3:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isInfiltrationSystem:
          type: string
          enum:
            - 'yes'
            - 'no'
        isInsurance:
          type: string
          enum:
            - 'yes'
            - 'no'
        isInsuranceDifficult:
          type: string
          enum:
            - 'yes'
            - 'no'
        isIrregularBoundaries:
          type: string
          enum:
            - 'yes'
            - 'no'
        isJapaneseKnotweed:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isJapaneseKnotweedPlan:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isJapaneseKnotweedPlanInsurance:
          type: string
          enum:
            - 'yes'
            - 'no'
        isJapaneseKnotweedSurvey:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isKeys:
          type: string
          enum:
            - 'yes'
            - 'no'
        isLightFittings:
          type: string
          enum:
            - 'yes'
            - 'no'
        isListedBuilding:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isMainsElectricity:
          type: string
          enum:
            - 'yes'
            - 'no'
        isMainsGas:
          type: string
          enum:
            - 'yes'
            - 'no'
        isMainsSewerage:
          type: string
          enum:
            - 'yes'
            - 'no'
        isMainsWater:
          type: string
          enum:
            - 'yes'
            - 'no'
        isMovingDate:
          type: string
          enum:
            - 'yes'
            - 'no'
        isNonResidentialUse:
          type: string
          enum:
            - 'yes'
            - 'no'
        isNoticesPartyWallAct:
          type: string
          enum:
            - 'yes'
            - 'no'
        isNoticesProposalsCorrespondence:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOccupiers:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOccupiersLeaving:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOtherFittings:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOtherOccupiers:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOthersRightsDisagreement:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isOthersRightsOverProperty:
          type: string
          enum:
            - 'yes'
            - 'no'
        isParkingZone:
          type: string
          enum:
            - 'yes'
            - 'no'
        isPlanningBuildingIssues:
          type: string
          enum:
            - 'yes'
            - 'no'
        isPlanningPermissionBreaches:
          type: string
          enum:
            - 'yes'
            - 'no'
        isProposalsToDevelop:
          type: string
          enum:
            - 'yes'
            - 'no'
        isRadon:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isRadonRecommendedActionLevel:
          type: string
          enum:
            - 'yes'
            - 'no'
        isRadonRemedialMeasures:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isRepaymentSufficent:
          type: string
          enum:
            - 'yes'
            - 'no'
            - no mortgage
        isRightsDisagreement:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isRightsOverOtherProperties:
          type: string
          enum:
            - 'yes'
            - 'no'
        isRubbishRemoved:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSepticTank:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSewageOutsideBoundary:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSewageSystemShared:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSewageTreatmentPlant:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSharedHeatPumps:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSmallSewageTreatmentPlant:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarBattery:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarFITSEG:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarHotWaterOnly:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarMaintenanceAgreement:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarNationalGrid:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarPanels:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarPanelsLease:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSolarPanelsOwnership:
          type: string
          enum:
            - 'yes'
            - 'no'
        isSurfaceWaterDrainage:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isTelephone:
          type: string
          enum:
            - 'yes'
            - 'no'
        isTenantsOrLodgers:
          type: string
          enum:
            - 'yes'
            - 'no'
        isTreePreservationOrder:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isTreePreservationOrderWorksCarriedOut:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isVacantPossession:
          type: string
          enum:
            - 'yes'
            - 'no'
        isWorkCompleted:
          type: string
          enum:
            - 'yes'
            - 'no'
        japaneseKnotweedSurveyUpload:
          $ref: '#/components/schemas/DocumentUpload'
        mainsElectricityMeterLocation:
          type: string
        mainsElectricityMPAN:
          type: string
        mainsElectricityProviderName:
          type: string
        mainsSewerageProviderName:
          type: string
        mainsWaterMeterLocation:
          type: string
        mainsWaterProviderName:
          type: string
        mainsWaterStopcockLocation:
          type: string
        miansGasDetailsMPRN:
          type: string
        miansGasDetailsProviderName:
          type: string
        miansGasMeterLocation:
          type: string
        movingDateDetails:
          type: string
        multipleHeatingSystemsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        newHomeWarrantyUpload:
          $ref: '#/components/schemas/DocumentUpload'
        noBuildingPermissionsReason:
          type: string
        noInsuranceReason:
          type: string
        nonResidentialPlanningPermissionUpload:
          $ref: '#/components/schemas/DocumentUpload'
        nonResidentialUseDetails:
          type: string
        noticesPartyWallActDetails:
          type: string
        noticesProposalsCorrespondenceDetails:
          type: string
        occupiersNames:
          type: string
        otherGuaranteesAndWarrantiesDetails:
          type: string
        otherGuaranteesAndWarrantiesUpload:
          $ref: '#/components/schemas/DocumentUpload'
        otherServicesDetails:
          type: string
        otherServicesNotApplicable:
          type: array
          items:
            type: string
        othersRightsDisagreementDetails:
          type: string
        othersRightsOverPropertyDetails:
          type: string
        parkingArrangementsDetails:
          type: string
        parkingArrangementsList:
          type: array
          items:
            type: string
        partyWallNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        planningBuildingIssuesDetails:
          type: string
        planningPermissionBreachesDetails:
          type: string
        primaryHeatingSystem:
          type: string
          enum:
            - mains gas
            - oil
            - heat pumps
            - liquid gas
            - electricity
            - underfloor
            - woodburning / multi-fuel stove
            - other
        propertyHeatedBy:
          type: array
          items:
            type: string
        propertyHeatedByOtherDetails:
          type: string
        proposalsToDevelopDetails:
          type: string
        radonReportUpload:
          $ref: '#/components/schemas/DocumentUpload'
        rightsDisagreementDetails:
          type: string
        rightsOverOtherPropertiesDetails:
          type: string
        roofingWarrantyUpload:
          $ref: '#/components/schemas/DocumentUpload'
        secondHeatingSystem:
          type: string
          enum:
            - mains gas
            - oil
            - heat pumps
            - liquid gas
            - electricity
            - underfloor
            - woodburning / multi-fuel stove
            - other
        sewageDischargeType:
          type: string
          enum:
            - ground
            - surface water
        sewageOutsideBoundaryDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        sewageSystemSharedDetails:
          type: string
        sewageTreatmentPlantLastServicedDate:
          type: string
        sewageTreatmentPlantLastServicedDateNotKnown:
          type: array
          items:
            type: string
        seweragePermitUpload:
          $ref: '#/components/schemas/DocumentUpload'
        sewerageSystemInstallationDate:
          type: string
        sewerageSystemInstallationDateNotKnown:
          type: array
          items:
            type: string
        sewerageSystemUpgradeDate:
          type: string
        sewerageSystemUpgradeDateNotKnown:
          type: array
          items:
            type: string
        smallSewageTreatmentPlantMake:
          type: string
        smallSewageTreatmentPlantProviderName:
          type: string
        smallSewageTreatmentPlantServiceProviderName:
          type: string
        solarBatteryDetails:
          type: string
        solarBuildingRegsCertUpload:
          $ref: '#/components/schemas/DocumentUpload'
        solarElectricityBillUpload:
          $ref: '#/components/schemas/DocumentUpload'
        solarFITSEGAgreementUpload:
          $ref: '#/components/schemas/DocumentUpload'
        solarFITSEGAssignmentUpload:
          $ref: '#/components/schemas/DocumentUpload'
        solarMaintenanceAgreementUpload:
          $ref: '#/components/schemas/DocumentUpload'
        solarPanelsInstallationYear:
          type: string
        solarPanelsInstallationYearNotKnown:
          type: array
          items:
            type: string
        solarPanelsLeaseAgreementUpload:
          $ref: '#/components/schemas/DocumentUpload'
        telephoneProviderName:
          type: string
        tenure:
          type: array
          items:
            type: string
        thirdHeatingSystem:
          type: string
          enum:
            - mains gas
            - oil
            - heat pumps
            - liquid gas
            - electricity
            - underfloor
            - woodburning / multi-fuel stove
            - other
        timberTreatmentGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        treePreservationOrderTermsDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        treePreservationOrderWorksDetails:
          type: string
        underpinningGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        unfinishedWorksDetails:
          type: string
        vacantPossessionDetailsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        windowsGuaranteeUpload:
          $ref: '#/components/schemas/DocumentUpload'
      additionalProperties: true
    TA7_3rd:
      title: TA7 (3rd edition)
      type: object
      description: >-
        Leasehold Information Form (TA7, 3rd edition) data for leasehold
        properties
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - TA7_3rd
        leaseholdPropertyType:
          type: string
          enum:
            - flat
            - shared_ownership
            - long_leasehold_house
          description: Type of leasehold property the seller owns
        isLeaseholdRent:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the seller pays rent for the property
        leaseholdRentAmount:
          type: string
          description: Amount of rent due each year
        leaseholdRentFrequency:
          type: string
          enum:
            - weekly
            - monthly
            - annually
            - other
          description: How regularly the rent is paid
        leaseholdRentFrequencyOther:
          type: string
          description: Details if rent frequency is 'other'
        isLeaseholdRentIncrease:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the rent is subject to increase
        leaseholdRentRevisionFrequency:
          type: string
          enum:
            - weekly
            - monthly
            - annually
            - other
          description: How often the rent is revised
        leaseholdRentRevisionFrequencyOther:
          type: string
          description: Details if rent revision frequency is 'other'
        leaseholdRentIncreaseCalculation:
          type: string
          description: How the rent increase is calculated
        IsFreeholdNotControlledTenants:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the freehold is owned by a person or company not controlled
            by tenants
        IsFreeholdControlledTenants:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the freehold is owned by a person or company controlled by
            tenants
        isHeadlease:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether there is a headlease
        isHeadLeaseholder:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the head leaseholder is controlled by the tenants
        isResponsibilityFreeholder:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the freeholder is responsible for managing the building
        isResponsibilityHeadLeaseholder:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the head leaseholder is responsible for managing the
            building
        isResponsibilityManagementCompany:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether a management company named in the lease is responsible for
            managing the building
        isResponsibilityRightToManageCompany:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether a Right to Manage company set up by tenants is responsible
            for managing the building
        isResponsibilityOther:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether some other entity is responsible for managing the building
        responsibilityOtherDetails:
          type: string
          description: Details if management responsibility is 'other'
        isTenantsManagementStrikeOff:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether any tenants' management company has been dissolved or struck
            off the register at Companies House
        isManagementAgent:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the landlord, tenants' management company or Right to Manage
            company employs a managing agent
        leaseAndSupplementalDeedsDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of the lease and any supplemental deeds
        additionalRegulationsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Copy of any regulations made by the landlord or tenants' management
            company additional to those in the lease
        correspondenceManagementDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Copy of any correspondence from the landlord, management company and
            managing agent
        maintenanceOrServiceChargesDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Invoices, demands, statements and receipts for maintenance or
            service charges for the last three years
        groundRentDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Invoices, demands, statements and receipts for ground rent payments
            for the last three years
        buildingsInsuranceSellerDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Buildings insurance policy arranged by the seller and receipt for
            payment of the last premium
        buildingsInsuranceLandlordDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Buildings insurance policy arranged by the landlord or management
            company and the current year schedule
        memorandumOrArticlesUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Copy of the Memorandum and Articles of Association (if landlord is
            company controlled by tenants)
        shareCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of the share or membership certificate
        companyAccountsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of the company accounts for the past three years
        landlordName:
          type: string
          description: Name of the landlord
        landlordAddress:
          type: object
          description: Landlord's address
        landlordPhone:
          type: string
          description: Landlord's phone number
        landlordEmail:
          type: string
          format: email
          description: Landlord's email address
        landlordNotApplicable:
          type: boolean
          description: Whether landlord details are not applicable
        managementName:
          type: string
          description: Name of the management company
        managementAddress:
          type: object
          description: Management company address
        managementPhone:
          type: string
          description: Management company phone
        managementEmail:
          type: string
          format: email
          description: Management company email
        managementNotApplicable:
          type: boolean
          description: Whether management company details are not applicable
        managingAgentName:
          type: string
          description: Name of the managing agent
        managingAgentAddress:
          type: object
          description: Managing agent address
        managingAgentPhone:
          type: string
          description: Managing agent phone
        managingAgentEmail:
          type: string
          format: email
          description: Managing agent email
        managingAgentNotApplicable:
          type: boolean
          description: Whether managing agent details are not applicable
        isResponsibilityBuildingsInsurance:
          type: string
          enum:
            - seller
            - management company
            - landlord
          description: Who is responsible for arranging buildings insurance on the property
        outsideLastDecoratedYear:
          type: string
          description: Year the outside of the building was last decorated
        outsideLastDecoratedNotKnown:
          type: string
          description: Whether the outside decoration year is not known
        internalLastDecoratedYear:
          type: string
          description: Year any internal communal parts were last decorated
        internalLastDecoratedNotKnown:
          type: string
          description: Whether the internal decoration year is not known
        isSellerMaintenanceContribution:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller contributes to the cost of maintaining the
            building
        isServiceChargeExpensesDue:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there are expenses likely to be shown in service charge
            accounts within the next three years (e.g. redecoration of outside
            or communal areas not usually incurred annually)
        ServiceChargeExpensesDetails:
          type: string
          description: >-
            Details about expected service charge expenses within the next three
            years
        isProblemsServiceCharge:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there have been problems in the last three years regarding
            the level of service charges or with the management
        problemsServiceChargeDetails:
          type: string
          description: Details about problems with service charges or management
        isServiceChargeChallenges:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has challenged the service charge or any expense
            in the last three years
        serviceChargeChallengesDetails:
          type: string
          description: Details about service charge challenges made by the seller
        isBuildingSafetyRisk:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller knows of cladding or any defects that may create
            a building safety risk
        buildingSafetyRiskDetails:
          type: string
          description: Details about building safety risks including cladding or defects
        isServiceChargeDifficulties:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there have been difficulties encountered in collecting
            service charges from other flat owners
        serviceChargeDifficultiesDetails:
          type: string
          description: >-
            Details about difficulties in collecting service charges from other
            owners
        hasSellerDebt:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller owes any service charges, rent, insurance premium
            or other financial contribution
        sellerDebtDetails:
          type: string
          description: Details about any debts owed by the seller
        isLandlordNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has received notice that the landlord wants to
            sell the building
        landlordNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of notice from landlord about wanting to sell the building
        isOtherNotices:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has received any other notice about the building,
            its use, condition or repair and maintenance
        otherNoticesUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of other notices about the building
        isChangesToTerms:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller is aware of any changes in the terms of the lease
            or of the landlord giving any consents under the lease
        changesToTermsDetails:
          type: string
          description: Details about changes to lease terms or landlord consents
        changesToTermsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Documentation regarding changes in lease terms or landlord consents
        isSellerComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has received any complaint from the landlord,
            management company or any neighbour about anything they have or have
            not done
        sellerComplaintsDetails:
          type: string
          description: Details about complaints received by the seller
        isLandlordComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has complained or had cause to complain to or
            about the landlord, management company, or any neighbour
        landlordComplaintsDetails:
          type: string
          description: Details about complaints made by the seller
        hasAlterations:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller is aware of any alterations having been made to
            the property since the lease was originally granted
        alterationsDetails:
          type: string
          description: Details of alterations made to the property
        hasAlterationsConsent:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
          description: Whether the landlord's consent was obtained for alterations
        alterationsConsentUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of landlord's consent for alterations
        isOwnershipLength:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the seller has owned the property for at least two years
        isFormalNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
          description: >-
            Whether the seller has served formal notice on the landlord stating
            wish to buy the freehold or be granted an extended lease
        formalNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of formal notice served on landlord
        isFreeholdNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
          description: >-
            Whether the seller is aware of any notice relating to possible
            collective purchase of the freehold by a group of tenants
        freeholdNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of notice relating to collective freehold purchase
        isResponseToNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
          description: >-
            Whether the seller is aware of any response to notices disclosed in
            previous replies
        responseToNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of responses to previously disclosed notices
        isRemediationWorks:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
          description: >-
            Whether any remediation works on the building have been proposed or
            carried out
        remediationWorksUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of any remediation works carried out on the building
        isQualifyingLease:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the lease of the property is a qualifying lease
        isLeaseholderDeedOfCertificate:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
          description: Whether there is a Leaseholder Deed of Certificate for the property
        isPreviousOrCurrentLeaseholderDeedOfCertificate:
          type: string
          enum:
            - current leaseholder
            - previous leaseholder
          description: >-
            Whether the deed of certificate was completed by the current or
            previous leaseholder
        leaseholderDeedOfCertificateDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Copy of the leaseholder deed of certificate and accompanying
            evidence
        isIntentionToSell:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the freeholder/landlord has been notified of the intention
            to sell
        isLandlordCertificate:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has received a Landlord's Certificate and
            accompanying evidence
        landlordCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of the Landlord's Certificate and accompanying evidence
      additionalProperties: true
    TA7_4th:
      title: TA7 (4th edition)
      type: object
      description: >-
        Leasehold Information Form (TA7, 4th edition) data for leasehold
        properties
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - TA7_4th
        IsFreeholdNotControlledTenants:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the freehold is owned by a person or company not controlled
            by tenants
        IsFreeholdControlledTenants:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the freehold is owned by a person or company controlled by
            tenants
        isHeadlease:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether there is a headlease
        isHeadLeaseholder:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the head leaseholder is controlled by the tenants
        isResponsibilityFreeholder:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the freeholder is responsible for managing the building
        isResponsibilityHeadLeaseholder:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the head leaseholder is responsible for managing the
            building
        isResponsibilityManagementCompany:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether a management company named in the lease is responsible for
            managing the building
        isResponsibilityRightToManageCompany:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether a Right to Manage company set up by tenants is responsible
            for managing the building
        isResponsibilityOther:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether some other entity is responsible for managing the building
        responsibilityOtherDetails:
          type: string
          description: Details if management responsibility is 'other'
        isTenantsManagementStrikeOff:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether any tenants' management company has been dissolved or struck
            off the register at Companies House
        isManagementAgent:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the landlord, tenants' management company or Right to Manage
            company employs a managing agent
        leaseAndSupplementalDeedsDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of the lease and any supplemental deeds
        additionalRegulationsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Copy of any regulations made by the landlord or tenants' management
            company additional to those in the lease
        correspondenceManagementDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Copy of any correspondence from the landlord, management company and
            managing agent
        maintenanceOrServiceChargesDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Invoices, demands, statements and receipts for maintenance or
            service charges for the last three years
        groundRentDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Invoices, demands, statements and receipts for ground rent payments
            for the last three years
        buildingsInsuranceSellerDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Buildings insurance policy arranged by the seller and receipt for
            payment of the last premium
        buildingsInsuranceLandlordDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Buildings insurance policy arranged by the landlord or management
            company and the current year schedule
        memorandumOrArticlesUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Copy of the Memorandum and Articles of Association (if landlord is
            company controlled by tenants)
        shareCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of the share or membership certificate
        companyAccountsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of the company accounts for the past three years
        landlordName:
          type: string
          description: Name of the landlord
        landlordAddress:
          type: object
          description: Landlord's address
        landlordPhone:
          type: string
          description: Landlord's phone number
        landlordEmail:
          type: string
          format: email
          description: Landlord's email address
        landlordNotApplicable:
          type: boolean
          description: Whether landlord details are not applicable
        managementName:
          type: string
          description: Name of the management company
        managementAddress:
          type: object
          description: Management company address
        managementPhone:
          type: string
          description: Management company phone
        managementEmail:
          type: string
          format: email
          description: Management company email
        managementNotApplicable:
          type: boolean
          description: Whether management company details are not applicable
        managingAgentName:
          type: string
          description: Name of the managing agent
        managingAgentAddress:
          type: object
          description: Managing agent address
        managingAgentPhone:
          type: string
          description: Managing agent phone
        managingAgentEmail:
          type: string
          format: email
          description: Managing agent email
        managingAgentNotApplicable:
          type: boolean
          description: Whether managing agent details are not applicable
        isResponsibilityBuildingsInsurance:
          type: string
          enum:
            - seller
            - management company
            - landlord
          description: Who is responsible for arranging buildings insurance on the property
        outsideLastDecoratedYear:
          type: string
          description: Year the outside of the building was last decorated
        outsideLastDecoratedNotKnown:
          type: string
          description: Whether the outside decoration year is not known
        internalLastDecoratedYear:
          type: string
          description: Year any internal communal parts were last decorated
        internalLastDecoratedNotKnown:
          type: string
          description: Whether the internal decoration year is not known
        isSellerMaintenanceContribution:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller contributes to the cost of maintaining the
            building
        isServiceChargeExpensesDue:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there are expenses likely to be shown in service charge
            accounts within the next three years (e.g. redecoration of outside
            or communal areas not usually incurred annually)
        ServiceChargeExpensesDetails:
          type: string
          description: >-
            Details about expected service charge expenses within the next three
            years
        isProblemsServiceCharge:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there have been problems in the last three years regarding
            the level of service charges or with the management
        problemsServiceChargeDetails:
          type: string
          description: Details about problems with service charges or management
        isServiceChargeChallenges:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has challenged the service charge or any expense
            in the last three years
        serviceChargeChallengesDetails:
          type: string
          description: Details about service charge challenges made by the seller
        isBuildingSafetyRisk:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller knows of cladding or any defects that may create
            a building safety risk
        buildingSafetyRiskDetails:
          type: string
          description: Details about building safety risks including cladding or defects
        isServiceChargeDifficulties:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there have been difficulties encountered in collecting
            service charges from other flat owners
        serviceChargeDifficultiesDetails:
          type: string
          description: >-
            Details about difficulties in collecting service charges from other
            owners
        hasSellerDebt:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller owes any service charges, rent, insurance premium
            or other financial contribution
        sellerDebtDetails:
          type: string
          description: Details about any debts owed by the seller
        isLandlordNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has received notice that the landlord wants to
            sell the building
        landlordNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of notice from landlord about wanting to sell the building
        isOtherNotices:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has received any other notice about the building,
            its use, condition or repair and maintenance
        otherNoticesUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of other notices about the building
        isChangesToTerms:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller is aware of any changes in the terms of the lease
            or of the landlord giving any consents under the lease
        changesToTermsDetails:
          type: string
          description: Details about changes to lease terms or landlord consents
        changesToTermsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Documentation regarding changes in lease terms or landlord consents
        isSellerComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has received any complaint from the landlord,
            management company or any neighbour about anything they have or have
            not done
        sellerComplaintsDetails:
          type: string
          description: Details about complaints received by the seller
        isLandlordComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has complained or had cause to complain to or
            about the landlord, management company, or any neighbour
        landlordComplaintsDetails:
          type: string
          description: Details about complaints made by the seller
        hasAlterations:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller is aware of any alterations having been made to
            the property since the lease was originally granted
        alterationsDetails:
          type: string
          description: Details of alterations made to the property
        hasAlterationsConsent:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
          description: Whether the landlord's consent was obtained for alterations
        alterationsConsentUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of landlord's consent for alterations
        isOwnershipLength:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the seller has owned the property for at least two years
        isFormalNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
          description: >-
            Whether the seller has served formal notice on the landlord stating
            wish to buy the freehold or be granted an extended lease
        formalNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of formal notice served on landlord
        isFreeholdNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
          description: >-
            Whether the seller is aware of any notice relating to possible
            collective purchase of the freehold by a group of tenants
        freeholdNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of notice relating to collective freehold purchase
        isResponseToNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
          description: >-
            Whether the seller is aware of any response to notices disclosed in
            previous replies
        responseToNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of responses to previously disclosed notices
        isRemediationWorks:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
          description: >-
            Whether any remediation works on the building have been proposed or
            carried out
        remediationWorksUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Evidence of any remediation works carried out on the building
        isQualifyingLease:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether the lease of the property is a qualifying lease
        isLeaseholderDeedOfCertificate:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
          description: Whether there is a Leaseholder Deed of Certificate for the property
        isPreviousOrCurrentLeaseholderDeedOfCertificate:
          type: string
          enum:
            - current leaseholder
            - previous leaseholder
          description: >-
            Whether the deed of certificate was completed by the current or
            previous leaseholder
        leaseholderDeedOfCertificateDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Copy of the leaseholder deed of certificate and accompanying
            evidence
        isIntentionToSell:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the freeholder/landlord has been notified of the intention
            to sell
        isLandlordCertificate:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has received a Landlord's Certificate and
            accompanying evidence
        landlordCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of the Landlord's Certificate and accompanying evidence
      additionalProperties: true
    TA7_5th:
      title: TA7 (5th edition)
      type: object
      description: >-
        Leasehold Information Form (TA7, 5th edition). Boolean-style answers are
        often expressed as yes/no strings; see per-field enums where enumerated.
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - TA7_5th
        additionalDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        alterationsConsentUpload:
          $ref: '#/components/schemas/DocumentUpload'
        alterationsDetails:
          type: string
        buildingsInsuranceUpload:
          $ref: '#/components/schemas/DocumentUpload'
        changesToTermsDetails:
          type: string
        changesToTermsUpload:
          $ref: '#/components/schemas/DocumentUpload'
        chargesDetails:
          type: string
        claddingRiskDetails:
          type: string
        companiesHouseDetails:
          type: string
        confirmLeaseholdCapacity:
          type: string
          enum:
            - Managing Agent
            - Management Company
            - Landlord
            - Residents' Association
        confirmLeaseholdInformationAccurate:
          type: string
          enum:
            - 'Yes'
        formalNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        freeholderName:
          type: string
        freeholderNotApplicable:
          type: array
          items:
            type: string
        freeholdNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        furtherInformationDetails:
          type: string
        groundRentCollector:
          type: array
          items:
            type: string
        groundRentDetails:
          type: string
        groundRentUpload:
          $ref: '#/components/schemas/DocumentUpload'
        headLeaseholderName:
          type: string
        headLeaseholderNotApplicable:
          type: array
          items:
            type: string
        insuranceCollector:
          type: array
          items:
            type: string
        internalLastDecoratedNotKnown:
          type: array
          items:
            type: string
        internalLastDecoratedYear:
          type: string
        isAlterations:
          type: string
          enum:
            - 'yes'
            - 'no'
        isAlterationsConsent:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
        isBlockOfFlats:
          type: string
          enum:
            - 'yes'
            - 'no'
        isChangesToTerms:
          type: string
          enum:
            - 'yes'
            - 'no'
        isCladdingRisk:
          type: string
          enum:
            - 'yes'
            - 'no'
        isCompaniesHouse:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
        isFormalNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
        isFreeholdNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
        isIntentionToSell:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isLandlordCertificate:
          type: string
          enum:
            - 'yes'
            - 'no'
        isLandlordComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isLandlordConsent:
          type: string
          enum:
            - 'yes'
            - 'no'
        isLandlordNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
        isLeaseholderDeedOfCertificate:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
        isMaintenanceContribution:
          type: string
          enum:
            - 'yes'
            - 'no'
        isManagingAgent:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
        isManagingAgentCharges:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
        isManagingAgentGroundRent:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
        isOtherNotices:
          type: string
          enum:
            - 'yes'
            - 'no'
        isOwnershipDetails:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isProblemsServiceCharge:
          type: string
          enum:
            - 'yes'
            - 'no'
        isPropertyRelevantBuilding:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isRemediationWorks:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isResponseToNotice:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
            - not required
        isSellerComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not known
        isServiceChargeChallenges:
          type: string
          enum:
            - 'yes'
            - 'no'
        isServiceChargeExpensesDue:
          type: string
          enum:
            - 'yes'
            - 'no'
        landlordCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
        landlordComplaintsDetails:
          type: string
        landlordConsentDetails:
          type: string
        landlordConsentUpload:
          $ref: '#/components/schemas/DocumentUpload'
        landlordName:
          type: string
        landlordNotApplicable:
          type: array
          items:
            type: string
        landlordNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        leaseholdDetails:
          type: string
        leaseholderDeedOfCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
        leaseholdPropertyType:
          type: string
          enum:
            - flat
            - maisonette
            - long_leasehold_house
            - leasehold_garage
            - shared_ownership
            - other
        managementName:
          type: string
        managementNotApplicable:
          type: array
          items:
            type: string
        managingAgentName:
          type: string
        otherNoticesUpload:
          $ref: '#/components/schemas/DocumentUpload'
        outsideLastDecoratedNotKnown:
          type: array
          items:
            type: string
        outsideLastDecoratedYear:
          type: string
        ownershipEvidenceUpload:
          $ref: '#/components/schemas/DocumentUpload'
        problemsServiceChargeDetails:
          type: string
        remediationWorksUpload:
          $ref: '#/components/schemas/DocumentUpload'
        responseToNoticeUpload:
          $ref: '#/components/schemas/DocumentUpload'
        rightToManageCompanyName:
          type: string
        rightToManageCompanyNotApplicable:
          type: array
          items:
            type: string
        sellerComplaintsDetails:
          type: string
        serviceChargeChallengesDetails:
          type: string
        ServiceChargeExpensesDetails:
          type: string
        serviceChargeUpload:
          $ref: '#/components/schemas/DocumentUpload'
      additionalProperties: true
    TA9:
      type: object
      description: Commonhold Information Form (TA9) data for commonhold properties
      properties:
        commonholdAssociationAccountsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Commonhold association's accounts for the last three years
        commonholdAssociationDirectorsDetails:
          type: array
          description: Details of each director of the commonhold association
          items:
            type: object
            properties:
              commonholdAssociationDirectorName:
                type: object
                description: Director's name details
                properties:
                  title:
                    type: string
                    description: Title (Mr, Mrs, Ms, etc)
                  firstName:
                    type: string
                    description: First name
                  middleName:
                    type: string
                    description: Middle name
                  surname:
                    type: string
                    description: Surname
              commonholdAssociationDirectorAddress:
                type: object
                description: Director's correspondence address
                properties:
                  line_1:
                    type: string
                  line_2:
                    type: string
                  line_3:
                    type: string
                  town_city:
                    type: string
                  county:
                    type: string
                  postcode:
                    type: string
        secretaryName:
          type: object
          description: Secretary of the association details (if applicable)
          properties:
            title:
              type: string
            firstName:
              type: string
            middleName:
              type: string
            surname:
              type: string
        secretaryAddress:
          type: object
          description: Secretary's correspondence address
          properties:
            line_1:
              type: string
            line_2:
              type: string
            line_3:
              type: string
            town_city:
              type: string
            county:
              type: string
            postcode:
              type: string
        managingAgentName:
          type: object
          description: Managing agent appointed by association details (if applicable)
          properties:
            title:
              type: string
            firstName:
              type: string
            middleName:
              type: string
            surname:
              type: string
        managingAgentAddress:
          type: object
          description: Managing agent's correspondence address
          properties:
            line_1:
              type: string
            line_2:
              type: string
            line_3:
              type: string
            town_city:
              type: string
            county:
              type: string
            postcode:
              type: string
        isAmendCommonhold:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there are proposals to amend the terms of the commonhold
            community statement
        amendCommonholdDetails:
          type: string
          description: Details about amendments to commonhold community statement
        isEnlargeCommonhold:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: Whether there are proposals to enlarge the commonhold
        enlargeCommonholdDetails:
          type: string
          description: Details about proposals to enlarge the commonhold
        isApprovedOmbudsmanScheme:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the commonhold association is a member of an approved
            ombudsman scheme
        approvedOmbudsmanSchemeDetails:
          type: string
          description: Details about the approved ombudsman scheme membership
        isCommonholdAssessments:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the commonhold association made any commonhold assessments
            in respect of the seller's unit during the last three years
        commonholdAssessmentsDetails:
          type: string
          description: >-
            Details about commonhold assessments made during the last three
            years
        hasReserveFunds:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the commonhold association has established reserve funds for
            major expenditure (outside painting, roof repairs, lift replacement,
            etc.)
        reserveFundsDetails:
          type: string
          description: Details about reserve funds if applicable
        isLevies:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the commonhold association made levies (demanded
            contributions) in respect of the seller's unit during the last three
            years
        leviesDetails:
          type: string
          description: Details of how much was payable to which fund for levies
        isExpenses:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there are expenses not usually incurred every year and not
            covered by a reserve fund (e.g. redecoration, repairing drives)
            likely to be incurred within the next three years
        expensesDetails:
          type: string
          description: Details about expected expenses within the next three years
        isChallengedReserveFund:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller or any other unit-holder has challenged the
            amount of any commonhold assessment or reserve fund levy during the
            last three years
        challengedReserveFundDetails:
          type: string
          description: >-
            Details about challenges to commonhold assessments or reserve fund
            levies
        isProblemsReserveFund:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there have been problems between unit-holders and the
            commonhold association about payment of commonhold assessments or
            reserve fund levies in the last three years
        problemsReserveFundDetails:
          type: string
          description: Details about problems with payment of assessments or levies
        commonholdUnitInformationCertificateUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Commonhold unit information certificate from the commonhold
            association
        isCommonholdNotices:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has had any notice about the unit being sold or
            any other part of the commonhold, its use, condition, or repair and
            maintenance
        commonholdNoticesDocumentsUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: Copy of any notices about the commonhold unit or property
        isCommonPartsDispute:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there have been disputes about the use of the common parts
            during the last three years
        commonPartsDisputeDetails:
          type: string
          description: Details about disputes regarding use of common parts
        isProposalCommonparts:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there are proposals to lease or dispose of any of the common
            parts
        proposalCommonpartsDetails:
          type: string
          description: Details about proposals to lease or dispose of common parts
        isProposalToMortgageCommonparts:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether there are proposals to mortgage all or any part of the
            common parts
        proposalToMortgageCommonpartsDetails:
          type: string
          description: Details about proposals to mortgage common parts
        commonholdInsuranceUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Insurance policy for the unit being sold and evidence of payment of
            the latest premium
        commonholdSeparatePartsInsuranceUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Separate insurance policy covering the common parts and evidence of
            payment (if applicable)
        isConsentToTransfer:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the commonhold association has given consent to the transfer
            of part only of any of the units
        consentToTransferDetails:
          type: string
          description: Details about consent given for transfer of parts of units
        isRefusedConsentToTransfer:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the commonhold association has refused to give consent to
            the transfer of part only of any of the units
        refusedConsentToTransferDetails:
          type: string
          description: Details about refused consent for transfer of parts of units
        isCommonholdComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has received any complaint from the commonhold
            association, another unit-holder or occupier about anything they
            have or have not done
        commonholdComplaintsDetails:
          type: string
          description: >-
            Details about complaints received from the association or other
            unit-holders
        isCommonholdUnitComplaints:
          type: string
          enum:
            - 'yes'
            - 'no'
          description: >-
            Whether the seller has complained to the commonhold association,
            another unit-holder or occupier about anything they have or have not
            done
        commonholdUnitComplaintsDetails:
          type: string
          description: >-
            Details about complaints made to the association or other
            unit-holders
        ombudsmanDecisionUpload:
          $ref: '#/components/schemas/DocumentUpload'
          description: >-
            Copy of any decision made by the ombudsman affecting the unit or the
            common parts
        isDeveloperRights:
          type: string
          enum:
            - 'yes'
            - 'no'
            - not applicable
          description: >-
            Whether the developer has ceased to be entitled to exercise any of
            their rights
        developerRightsDetails:
          type: string
          description: Details about developer rights and any changes to their entitlements
      additionalProperties: true
    TA10:
      type: object
      description: >-
        Fittings and Contents Form (TA10) data. Each category contains items
        with a standard structure for fitted/free-standing status, inclusion,
        price, and comments.
      properties:
        basicFittings:
          type: object
          description: Basic fittings (boiler, radiators, switches, etc.)
          properties:
            boiler_immersion_heater:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            radiator_wall_heaters:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            night_storage_heaters:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            free_standing_heater:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            gas_fires:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            electric_fires:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_switches:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            roof_insulation:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            window_fittings:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            window_shutters_grilles:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            internal_door_fittings:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            external_door_fittings:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            doorbell_chime:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            electric_sockets:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            burglar_alarm:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            basic_fittings_other_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            basic_fittings_other_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            basic_fittings_other_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            basic_fittings_other_4:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        kitchen:
          type: object
          description: >-
            Kitchen fittings (hob, oven_grill, cooker, microwave, dishwasher,
            etc.)
          properties:
            hob:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            extractor_hood:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            oven_grill:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            cooker:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            microwave:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            refrigerator_fridge_freezer:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            freezer:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            dishwasher:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            tumble_dryer:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            washing_machine:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            kitchen_other_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            kitchen_other_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            kitchen_other_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            kitchen_other_4:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        bathroom:
          type: object
          description: Bathroom fittings (bath, taps, shower, mirror, etc.)
          properties:
            bath:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            shower_fitting_for_bath:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            shower_curtain:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            bathroom_cabinet:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            taps:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            separate_shower_and_fittings:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            towel_rail:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            soap_toothbrush_holders:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            toilet_roll_holders:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            bathroom_mirror:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        carpets:
          type: object
          description: Carpets by room (living_room, bedroom_1, etc.)
          properties:
            carpets_hall_stairs_and_landing:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_living_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_dining_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_kitchen:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_bedroom_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_bedroom_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_bedroom_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_other_room_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_other_room_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_other_room_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            carpets_other_room_4:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        curtainsBlinds:
          type: object
          description: Curtains and blinds by room
          properties:
            curtain_rails_poles_pelmets_hall_stairs_landing:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_living_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_dining_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_kitchen:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_bedroom_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_bedroom_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_bedroom_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_other_room_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_other_room_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_other_room_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtain_rails_poles_pelmets_other_room_4:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_hall_stairs_landing:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_living_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_dining_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_kitchen:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_bedroom_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_bedroom_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_bedroom_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_other_room_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_other_room_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_other_room_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            curtains_blinds_other_room_4:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        lightFittings:
          type: object
          description: Light fittings by room
          properties:
            light_fittings_hall_stairs_landing:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_living_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_dining_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_kitchen:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_bedroom_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_bedroom_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_bedroom_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_other_room_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_other_room_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_other_room_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            light_fittings_other_room_4:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        fittedUnits:
          type: object
          description: Fitted units by room
          properties:
            fitted_units_hall_stairs_landing:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_living_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_dining_room:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_kitchen:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_bedroom_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_bedroom_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_bedroom_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_other_room_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_other_room_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_other_room_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            fitted_units_other_room_4:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        outdoorArea:
          type: object
          description: Outdoor items (garden_furniture, greenhouse, etc.)
          properties:
            outdoor_area_garden_furniture:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_garden_ornaments:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_trees_plants_shrubs:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_barbecue:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_dustbins:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_garden_shed:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_greenhouse:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_outdoor_heater:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_outside_lights:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_water_butt:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_clothes_line:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_rotary_line:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_other_item_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_other_item_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_other_item_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_other_item_4:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            outdoor_area_other_item_5:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        televisionAndTelephone:
          type: object
          description: Television and telephone equipment
          properties:
            television_and_telephone_telephone_receivers:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            television_and_telephone_television_aerial:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            television_and_telephone_radio_aerial:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            television_and_telephone_satellite_dish:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        stockOfFuel:
          type: object
          description: Stock of fuel items
          properties:
            stock_of_fuel_oil:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            stock_of_fuel_wood:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            stock_of_fuel_liquefied_petroleum_gas:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
        otherItems:
          type: object
          description: Other miscellaneous items
          properties:
            other_items_1:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            other_items_2:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            other_items_3:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
            other_items_4:
              type: object
              properties:
                item:
                  type: string
                  description: Description of the item
                fitted:
                  type: string
                  enum:
                    - fitted
                    - free-standing
                  description: Whether the item is fitted or free-standing
                included:
                  type: string
                  enum:
                    - included
                    - excluded
                    - none
                  description: Whether the item is included in the sale
                price:
                  type: number
                  description: Price if separately negotiated
                comments:
                  type: string
                  description: Additional comments
              additionalProperties: false
          additionalProperties: false
      additionalProperties: true
    EnquiryForms:
      type: object
      description: >-
        Enquiry forms data organized by form type. Each property may have
        multiple enquiry forms based on specific features or circumstances.
      properties:
        Conservatory enquiry form:
          type: object
          description: >-
            Conservatory enquiry form data covering permitted development and
            construction details
          properties:
            isConservatoryFront:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether conservatory fronts public footpath or road
            isConservatoryGround:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether conservatory is ground level only
            isConservatorySize:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether conservatory is less than 15% of original property size
            isConservatoryArea:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether conservatory is less than 70 cubic metres
            isConservatoryHeight:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether overall height is less than 4 metres
            isConservatoryBoundary:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether within 1 metre of any boundary
            isConservatoryFloorArea:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether floor area is less than 30 square metres
            isConservatoryRoof:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether roof is glazed with translucent/transparent materials
            isConservatorySafetyGlass:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether glazed with safety glass at low level
            isConservatoryDoor:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether permanently separated by door
          additionalProperties: true
        Solar panels (Owned) enquiry form:
          type: object
          description: >-
            Solar panels (owned) enquiry form data covering installation and
            permissions
          properties:
            ownedSolarPanelsMicrogenerationCertificateSchemeUpload:
              $ref: '#/components/schemas/DocumentUpload'
              description: MCS certificate
            ownedSolarPanelsPlanningPermissionUpload:
              $ref: '#/components/schemas/DocumentUpload'
              description: Planning permissions
            isOwnedSolarPanelsHeight:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether installed above highest roof part
            isOwnedSolarPanelsProjection:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether project more than 200mm from surface
            isOwnedSolarPanelsPVSystem:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether PV system problems experienced
            ownedSolarPanelsPVSystemDetails:
              type: string
              description: Details of PV system problems
          additionalProperties: true
        Solar panels (Leased) enquiry form:
          type: object
          description: >-
            Solar panels (leased) enquiry form data covering lease arrangements
            and provider details
          properties:
            leasedSolarPanelsMicrogenerationCertificateSchemeUpload:
              $ref: '#/components/schemas/DocumentUpload'
              description: MCS certificate
            leasedSolarPanelsPlanningPermissionUpload:
              $ref: '#/components/schemas/DocumentUpload'
              description: Planning permissions
            isLeasedSolarPanelsHeight:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether installed above highest roof part
            isLeasedSolarPanelsProjection:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether project more than 200mm from surface
            leasedSolarPanelsBenefitsAmount:
              type: number
              description: Renewable benefits payment amount
            leasedSolarPanelsBenefitsAmountNotKnown:
              type: string
              description: Benefits amount not known indicator
            leasedSolarPanelsBenefitsDate:
              type: string
              description: When benefits payments made
            isLeasedSolarPanelsPVSystem:
              type: string
              enum:
                - 'yes'
                - 'no'
              description: Whether PV system problems experienced
            leasedSolarPanelsPVSystemDetails:
              type: string
              description: PV system problem details
            leasedSolarPanelsProviderName:
              type: string
              description: Provider name
            leasedSolarPanelsProviderPhoneNumber:
              type: string
              description: Provider phone
            leasedSolarPanelsProviderAddress:
              type: object
              description: Provider address
            leasedSolarPanelsProviderNotKnown:
              type: string
              description: Provider details not known indicator
            feedInTariffAgreementUpload:
              $ref: '#/components/schemas/DocumentUpload'
              description: Feed In Tariff Agreement
            changeOfOwnershipFormUpload:
              $ref: '#/components/schemas/DocumentUpload'
              description: Change of Ownership Form
            pvSystemInsuranceUpload:
              $ref: '#/components/schemas/DocumentUpload'
              description: PV system insurance
          additionalProperties: true
        Swimming pool enquiry form:
          type: object
          description: >-
            Swimming pool enquiry form data covering location, heating, and
            maintenance
          additionalProperties: true
        Wood burner enquiry form:
          type: object
          description: Wood burner enquiry form data covering installation and compliance
          additionalProperties: true
        Driveway/Hardstand enquiry form:
          type: object
          description: Driveway/hardstand enquiry form data covering surfacing and access
          additionalProperties: true
        Septic tank enquiry form:
          type: object
          description: >-
            Septic tank enquiry form data covering system compliance and
            maintenance
          additionalProperties: true
        Sewage treatment plant enquiry form:
          type: object
          description: Sewage treatment plant enquiry form data
          additionalProperties: true
        Tenancy (Sitting) enquiry form:
          type: object
          description: Tenancy (sitting) enquiry form data covering tenant compliance
          additionalProperties: true
        Tenancy (Vacant) enquiry form:
          type: object
          description: Tenancy (vacant) enquiry form data
          additionalProperties: true
        Annex enquiry form:
          type: object
          description: Annex enquiry form data covering permitted development
          additionalProperties: true
        Change of use enquiry form:
          type: object
          description: Change of use enquiry form data
          additionalProperties: true
        Pond enquiry form:
          type: object
          description: Pond enquiry form data
          additionalProperties: true
        Decking enquiry form:
          type: object
          description: Decking enquiry form data
          additionalProperties: true
        Porch enquiry form:
          type: object
          description: Porch enquiry form data
          additionalProperties: true
        Internal walls enquiry form:
          type: object
          description: Internal walls enquiry form data
          additionalProperties: true
        Roof replacement enquiry form:
          type: object
          description: Roof replacement enquiry form data
          additionalProperties: true
      additionalProperties:
        type: object
        description: Additional enquiry form types with form-specific data structures
        additionalProperties: true
    Address:
      type: object
      description: Postal address
      properties:
        line_1:
          type: string
        line_2:
          type:
            - string
            - 'null'
        line_3:
          type:
            - string
            - 'null'
        post_town:
          type:
            - string
            - 'null'
        county:
          type:
            - string
            - 'null'
        postcode:
          type: string
        uprn:
          type:
            - string
            - 'null'
      additionalProperties: false
    DocumentUpload:
      type: object
      description: Document upload structure with file details and upload status
      properties:
        other:
          type: string
          enum:
            - addLater
            - notAvailable
            - notApplicable
            - alreadySupplied
            - lost
            - none
          description: Upload status or reason for not providing document
        fileName:
          type: string
          description: Name of the uploaded file
        files:
          type: array
          description: Array of uploaded file details
          items:
            type: object
            properties:
              id:
                type: string
                description: Unique file identifier
              name:
                type: string
                description: File name
              contentType:
                type: string
                description: MIME type of the file
              size:
                type: number
                description: File size in bytes
              url:
                type: string
                description: File URL
              downloadUrl:
                type: string
                description: Download URL for the file
              pathname:
                type: string
                description: File path
              contentDisposition:
                type: string
                description: Content disposition header
            required:
              - id
              - name
              - contentType
              - size
              - url
      additionalProperties: false

````