{
  "format": "txt",
  "delimiter": "#*#",
  "has_metadata": true,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://example.com/root.json",
  "type": "object",
  "title": "Amazon Music Activity Demographic Schema",
  "required": [
    "streamSourceId",
    "customerId"
  ],
  "properties": {
    "reportingStartDate": {
      "$id": "#/properties/reportingStartDate",
      "type": "string",
      "title": "reportingStartDate",
      "default": "",
      "examples": [
        "20130610"
      ],
      "pattern": "^\\d{4}\\d{2}\\d{2}$"
    },
    "activityType": {
      "$id": "#/properties/activityType",
      "type": "string",
      "title": "activityType",
      "examples": [
        "1"
      ],
      "pattern": "^\\d*$"
    },
    "customerId": {
      "$id": "#/properties/customerId",
      "type": "string",
      "title": "customerId",
      "examples": [
        "User56935"
      ],
      "pattern": "^.{3,}$"
    },
    "streamSourceId": {
      "$id": "#/properties/streamSourceId",
      "type": "string",
      "title": "streamSourceId",
      "examples": [
        "2"
      ],
      "pattern": "^\\d*$"
    },
    "vendorKey": {
      "$id": "#/properties/vendorKey",
      "type": "string",
      "title": "vendorKey",
      "examples": [
        "B099"
      ],
      "pattern": "^.+$"
    },
    "vendorName": {
      "$id": "#/properties/vendorName",
      "type": "string",
      "title": "vendorName",
      "examples": [
        "SFR Les Extras"
      ],
      "pattern": "^[a-zA-Z\\s]*$"
    },
    "smeTrackProductId": {
      "$id": "#/properties/smeTrackProductId",
      "type": "string",
      "title": "smeTrackProductId",
      "examples": [
        "G010000550588K"
      ],
      "pattern": "^.+$"
    },
    "providerGenre": {
      "$id": "#/properties/providerGenre",
      "type": "string",
      "title": "providerGenre",
      "examples": [
        "Eighties Pop"
      ],
      "pattern": "^[a-zA-Z\\s]*$"
    },
    "artistName": {
      "$id": "#/properties/artistName",
      "type": "string",
      "title": "artistName",
      "examples": [
        "Michael Jackson"
      ],
      "pattern": "^[a-zA-Z\\s]*$"
    },
    "trackName": {
      "$id": "#/properties/trackName",
      "type": "string",
      "title": "trackName",
      "examples": [
        "Thriller"
      ],
      "pattern": "^[a-zA-Z\\s]*$"
    },
    "isrcTrackNumber": {
      "$id": "#/properties/isrcTrackNumber",
      "type": "string",
      "title": "isrcTrackNumber",
      "default": "0",
      "examples": [
        "USSM19902989"
      ],
      "pattern": " ^[a-zA-Z0-9]+$"
    },
    "upcCode": {
      "$id": "#/properties/upcCode",
      "type": "string",
      "title": "upcCode",
      "default": "0",
      "examples": [
        "6.98876E+11"
      ],
      "pattern": "-?(?=[1-9]|0(?!\\d))\\d+(\\.\\d+)?([eE][+-]?\\d+)?"
    },
    "productTitle": {
      "$id": "#/properties/productTitle",
      "type": "string",
      "title": "productTitle",
      "examples": [
        "6.98876E+11"
      ],
      "pattern": "-?(?=[1-9]|0(?!\\d))\\d+(\\.\\d+)?([eE][+-]?\\d+)?"
    },
    "grid": {
      "$id": "#/properties/grid",
      "type": "string",
      "title": "grid",
      "examples": [
        "A10301A0000550588K"
      ],
      "pattern": " ^[a-zA-Z0-9]+$"
    },
    "statementTypeKey": {
      "$id": "#/properties/statementTypeKey",
      "type": "string",
      "title": "statementTypeKey",
      "examples": [
        "PA"
      ],
      "pattern": " ^[A-Z]{2}$"
    },
    "locationOfTrackInPlaylist": {
      "$id": "#/properties/locationOfTrackInPlaylist",
      "type": "string",
      "title": "locationOfTrackInPlaylist",
      "examples": [
        "5"
      ],
      "pattern": "^\\d*$"
    },
    "deviceType": {
      "$id": "#/properties/deviceType",
      "type": "string",
      "title": "deviceType",
      "examples": [
        "1"
      ],
      "pattern": "^\\d$"
    },
    "osType": {
      "$id": "#/properties/osType",
      "type": "string",
      "title": "osType",
      "examples": [
        "Android"
      ],
      "pattern": "^[A-Za-z]+$"
    },
    "referralSourceType": {
      "$id": "#/properties/referralSourceType",
      "type": "string",
      "title": "referralSourceType",
      "examples": [
        "P"
      ],
      "pattern": "(?<![A-Z])[A-Z](?![A-Z])"
    },
    "royaltyBearingPlay": {
      "$id": "#/properties/royaltyBearingPlay",
      "type": "string",
      "title": "royaltyBearingPlay",
      "examples": [
        "1"
      ],
      "pattern": "^\\d*$"
    },
    "timestamp": {
      "$id": "#/properties/timestamp",
      "type": "string",
      "title": "timestamp",
      "examples": [
        "20130610T10:30:20"
      ],
      "pattern": "\\d{4}\\d{2}\\d{2}T\\d{2}:\\d{2}:\\d{2}"
    },
    "lengthOfStream": {
      "$id": "#/properties/lengthOfStream",
      "type": "string",
      "title": "lengthOfStream",
      "examples": [
        "3"
      ],
      "pattern": "^\\d{1,3}$"
    },
    "numberOfWeeklyStreams": {
      "$id": "#/properties/numberOfWeeklyStreams",
      "type": "string",
      "title": "numberOfWeeklyStreams",
      "examples": [
        "5"
      ],
      "pattern": "^\\d*$"
    },
    "selectionSourceType": {
      "$id": "#/properties/selectionSourceType",
      "type": "string",
      "title": "selectionSourceType",
      "examples": [
        "1"
      ],
      "pattern": "^\\d*$"
    },
    "selectionSourceDetail": {
      "$id": "#/properties/selectionSourceDetail",
      "type": "string",
      "title": "selectionSourceDetail",
      "examples": [
        "http:///example.com\n/music/song.html"
      ],
      "pattern": "^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$| ^[a-zA-Z0-9]+$"
    },
    "serviceLoggingTimestamp": {
      "$id": "#/properties/serviceLoggingTimestamp",
      "type": "string",
      "title": "serviceLoggingTimestamp",
      "examples": [
        "20130610T10:30:20"
      ],
      "pattern": "\\d{4}\\d{2}\\d{2}T\\d{2}:\\d{2}:\\d{2}"
    },
    "utcOffset": {
      "$id": "#/properties/utcOffset",
      "type": "string",
      "title": "utcOffset",
      "examples": [
        "1"
      ],
      "pattern": "^\\d*$"
    },
    "transactionType": {
      "$id": "#/properties/transactionType",
      "type": "string",
      "title": "transactionType",
      "examples": [
        "1"
      ],
      "pattern": "^\\d*$"
    },
    "programType": {
      "$id": "#/properties/programType",
      "type": "string",
      "title": "programType",
      "examples": [
        "1"
      ],
      "pattern": "^\\d*$"
    },
    "productTypeKey": {
      "$id": "#/properties/productTypeKey",
      "type": "string",
      "title": "productTypeKey",
      "examples": [
        "1"
      ],
      "pattern": "^\\d*$"
    },
    "voiceActivatedStream": {
      "$id": "#/properties/voiceActivatedStream",
      "type": "string",
      "title": "voiceActivatedStream",
      "examples": [
        "1"
      ],
      "pattern": "^\\d*$"
    },
    "countryCode": {
      "$id": "#/properties/countryCode",
      "type": "string",
      "title": "countryCode",
      "examples": [
        "US"
      ],
      "pattern": "^[a-zA-Z]{2}"
    },
    "totalPlayCountForAllVendors": {
      "$id": "#/properties/totalPlayCountForAllVendors",
      "type": "string",
      "title": "totalPlayCountForAllVendors",
      "examples": [
        "1466"
      ],
      "pattern": "^\\d+$"
    },
    "trackAsin": {
      "$id": "#/properties/trackAsin",
      "type": "string",
      "title": "trackAsin",
      "examples": [
        "B00137G6TI"
      ],
      "pattern": "^[A-Z0-9]*$"
    },
    "albumAsin": {
      "$id": "#/properties/albumAsin",
      "type": "string",
      "title": "albumAsin",
      "examples": [
        "B073HB8CK2"
      ],
      "pattern": "^[A-Z0-9]*$"
    },
    "productQualityFormat": {
      "$id": "#/properties/productQualityFormat",
      "type": "string",
      "title": "productQualityFormat",
      "examples": [
        "HD44",
        "High",
        "Auto3D_S360RA_L2",
        "No data",
        "3D_S360RA_L3"
      ],
      "pattern": "^[a-zA-Z0-9\\s_]*$"
    },
    "totalPlayCountForSourceOfStream": {
      "$id": "#/properties/totalPlayCountForSourceOfStream",
      "type": "integer",
      "title": "totalPlayCountForSourceOfStream",
      "examples": [
        1
      ],
      "pattern": "^\\d*$"
    },
    "totalPlayCountForDevice": {
      "$id": "#/properties/totalPlayCountForDevice",
      "type": "integer",
      "title": "totalPlayCountForDevice",
      "examples": [
        1
      ],
      "pattern": "^\\d*$"
    },
    "totalPlayCountForSourceOfStream/DeviceCombination": {
      "$id": "#/properties/totalPlayCountForSourceOfStream/DeviceCombination",
      "type": "integer",
      "title": "totalPlayCountForSourceOfStream/DeviceCombination",
      "examples": [
        1
      ],
      "pattern": "^\\d*$"
    },
    "totalPlayCountForPlaylist": {
      "$id": "#/properties/totalPlayCountForPlaylist",
      "type": "integer",
      "title": "transactionType",
      "examples": [
        1
      ],
      "pattern": "^\\d*$"
    },
    "sum of : totalPlayCountForPlaylist +totalPlayCountForStation": {
      "$id": "#/properties/sumTotalPlayCountForPlaylistTotalPlayCountForStation",
      "type": "integer",
      "title": "Sum of two columns totalPlayCountForPlaylist and totalPlayCountForStation",
      "examples": [
        1
      ],
      "pattern": "^\\d*$"
    }
  }
}
