{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "data_type": {
            "enum": [
                "share_parcel"
            ]
        },
        "properties": {
            "type": "object",
            "required": [
                "shareholders"
            ],
            "properties": {
                "number_of_shares": {
                    "description": "Number of shares, if known",
                    "type": "integer"
                },
                "percentage_of_shares": {
                    "description": "Percentage of shares, if known",
                    "type": "number",
                    "maximum": 100,
                    "minimum": 0
                },
                "shareholders": {
                    "description": "Legal persons who own this share parcel",
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "anyOf": [
                            {
                                "type": "object",
                                "name": "person",
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "description": "Name of natural person or company",
                                        "type": "string"
                                    },
                                    "jurisdiction": {
                                        "description": "Jurisdiction of registration, if company",
                                        "type": "string"
                                    },
                                    "company_number": {
                                        "description": "Company number, if company and known",
                                        "type": "string"
                                    },
                                    "identifier": {
                                        "description": "Unique identifier of person",
                                        "type": "string"
                                    },
                                    "type": {
                                        "description": "Type of person if known (company or natural person)",
                                        "enum": [
                                            "Company",
                                            "Person"
                                        ]
                                    },
                                    "address": {
                                        "description": "Address given for owner of parcel",
                                        "type": "string"
                                    },
                                    "address_country": {
                                        "description": "Country part of owner's address",
                                        "type": "string"
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        }
    },
    "required": [
        "data_type",
        "properties"
    ]
}