{
    "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*$"
      }
   }
}
