{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Codex Item Schema",
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "id": {
            "type": "string"
        },
        "instanceId": {
            "type": "string"
        },
        "description": {
            "type": "string"
        },
        "title": {
            "type": "string"
        },
        "altTitle": {
            "type": "string"
        },
        "series": {
            "type": "string"
        },
        "contributor": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    }
                }
            },
            "additionalItems": true,
            "_uniqueItems": true
        },
        "publisher": {
            "type": "string"
        },
        "date": {
            "type": "string"
        },
        "type": {
            "type": "string"
        },
        "format": {
            "type": "string"
        },
        "identifier": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "value": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    }
                }
            },
            "additionalItems": true,
            "_uniqueItems": true
        },
        "source": {
            "type": "string"
        },
        "language": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "rights": {
            "type": "string"
        },
        "copyNumber": {
            "type": "number"
        },
        "barcode": {
            "type": "string"
        },
        "vendorPackage": {
            "type": "string"
        },
        "coverage": {
            "type": "object"
        },
        "location": {
            "type": "array",
            "items": {
                "type": "object"
            },
            "additionalItems": true
        },
        "itemStatus": {
            "type": "string"
        },
        "isSelected": {
            "type": "boolean"
        },
        "isCustomized": {
            "type": "boolean"
        }
    },
    "required": [
        "id",
        "instanceId",
        "title"
    ]
}