{
    "$schema": "http://json-schema.org/draft-03/schema",
    "additionalProperties": false,
    "properties": {
        "product_name": {
            "required": true,
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "This is mapped to releases.release_name internally."
        },
        "product_code": {
            "type": "string",
            "required": false,
            "pattern": "^[a-zA-Z0-9-]*$",
            "maxLength": 128,
            "description": "This is mapped to releases.product_code internally"
        },
        "version": {
            "required": false,
            "type": "string",
            "maxLength": 255,
            "description": "Optional version name for this release."
        },
        "delivered_version": {
            "required": false,
            "type": "string",
            "maxLength": 255,
            "description": "Optional delivered version name for this release."
        },
        "upc": {
            "type": "string",
            "required": true,
            "format": "upc",
            "pattern": "^\\d*$",
            "maxLength": 13,
            "minLength": 12,
            "description": "UPC associated with this product."
        },
        "format": {
            "required": true,
            "type": "string",
            "description": "Although this is an open field, we have a known set: (Single, EP, Album, Box Set, Merch). It represents the content type of this artist's release."
        },
        "distribution_format_type": {
            "required": false,
            "type": "string",
            "description": "Distribution format type. One of digital, physical, video."
        }
    },
    "required": true,
    "type": "object"
}
