{
    "$schema": "http://json-schema.org/draft-03/schema",
    "additionalProperties": false,
    "properties": {
        "assets": {
            "type": "array",
            "items": {
                "type": "object",
                "required": ["filename", "status", "assetType"]
            },
            "description": "Assets associated to this track"
        },
        "trackName": {
            "required": false,
            "type": "string",
            "maxLength": 200,
            "description": "The name (title) of the track."
        },
        "trackNumber": {
            "required": false,
            "type": "number",
            "description": "The order of the track in a volume"
        },
        "version": {
            "required": false,
            "type": "string",
            "maxLength": 255,
            "description": "The version of this product, e.g. Deluxe"
        },
        "metaLanguageCode": {
            "required": false,
            "type": "string",
            "description": "The language used in the product metadata."
        },
        "pInfo": {
            "required": false,
            "type": "string",
            "maxLength": 255,
            "pattern": "^(19|20)[0-9]{2}(,\\s(19|20)[0-9]{2})*(\\s\\S+)+$",
            "description": "P info"
        },
        "generateIsrc": {
            "required": false,
            "type": ["boolean", "null"],
            "description": "If The Orchard should generate ISRC"
        },
        "isrc": {
            "type": "string",
            "pattern": "^[a-zA-Z\\d]*$",
            "minLength": 12,
            "maxLength": 12,
            "description": "Maps to track.isrc."
        },
        "explicit": {
            "type": "string",
            "enum": ["Y", "N", "C"],
            "description": "The information how explicit a track is."
        },
        "ownershipRights": {
            "type": "string",
            "enum": ["owner", "no_rights"],
            "description": "The information what ownership rights user hold for this asset."
        },
        "artists": {
            "type": "array",
            "items": {
                "type": "object",
                "required": ["name", "trackArtistId", "type"]
            },
            "description": "Various types of artists in this track"
        },
        "writers": {
            "type": "array",
            "items": {
                "type": "object",
                "required": ["name", "trackWriterId", "type"]
            },
            "description": "Various types of authors of this track"
        },
        "recordingCountryId": {
            "type": "number",
            "description": "The orchard country id of the country of recording"
        },
        "originalRightsHolderCountryId": {
            "type": "number",
            "description": "The orchard country id of the original rights holder"
        },
        "work": {
            "required": false,
            "type": "string",
            "maxLength": 200,
            "description": "The first part of the name of the classical track"
        },
        "movement": {
            "required": false,
            "type": "string",
            "maxLength": 200,
            "description": "The second part of the name of the classical track"
        },
        "localizations": {
            "required": false,
            "type": "array",
            "items": {
                "type": "object",
                "required": ["languageId", "trackName", "version", "artists"]
            },
            "description": "Track localizations"
        },
        "previewStartTime": {
            "type": "number",
            "description": "Preview start time."
        }
    },
    "required": true,
    "type": "object"
}
