Streamhub Recommanded Metadata Schema

{
  "$schema": "http:\/\/json-schema.org\/draft-04\/schema#",
  "definitions": {
    
  },
  "id": "http:\/\/example.com\/example.json",
  "properties": {
    "metadata": {
      "id": "\/properties\/metadata",
      "properties": {
        "categories": {
          "id": "\/properties\/metadata\/properties\/categories",
          "items": {
            "id": "\/properties\/metadata\/properties\/categories\/items",
            "properties": {
              "id": {
                "id": "\/properties\/metadata\/properties\/categories\/items\/properties\/id",
                "type": "string"
              },
              "name": {
                "id": "\/properties\/metadata\/properties\/categories\/items\/properties\/name",
                "type": "string"
              },
              "parentId": {
                "id": "\/properties\/metadata\/properties\/categories\/items\/properties\/parentId",
                "type": "null"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "channels": {
          "id": "\/properties\/metadata\/properties\/channels",
          "items": {
            "id": "\/properties\/metadata\/properties\/channels\/items",
            "properties": {
              "id": {
                "id": "\/properties\/metadata\/properties\/channels\/items\/properties\/id",
                "type": "string"
              },
              "name": {
                "id": "\/properties\/metadata\/properties\/channels\/items\/properties\/name",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "programs": {
          "id": "\/properties\/metadata\/properties\/programs",
          "items": {
            "id": "\/properties\/metadata\/properties\/programs\/items",
            "properties": {
              "categories": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/categories",
                "items": {
                  "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/categories\/items",
                  "type": "string"
                },
                "type": "array"
              },
              "channels": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/channels",
                "items": {
                  "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/channels\/items",
                  "type": "string"
                },
                "type": "array"
              },
              "customFields": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/customFields",
                "properties": {
                  "randomKey": {
                    "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/customFields\/properties\/randomKey",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "description": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/description",
                "type": "string"
              },
              "duration": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/duration",
                "type": "integer"
              },
              "episode": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/episode",
                "type": "integer"
              },
              "id": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/id",
                "type": "string"
              },
              "live": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/live",
                "type": "boolean"
              },
              "season": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/season",
                "type": "integer"
              },
              "series": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/series",
                "items": {
                  "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/series\/items",
                  "type": "string"
                },
                "type": "array"
              },
              "thumbnail": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/thumbnail",
                "type": "string"
              },
              "title": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/title",
                "type": "string"
              },
              "validFrom": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/validFrom",
                "type": "string"
              },
              "validTo": {
                "id": "\/properties\/metadata\/properties\/programs\/items\/properties\/validTo",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "series": {
          "id": "\/properties\/metadata\/properties\/series",
          "items": {
            "id": "\/properties\/metadata\/properties\/series\/items",
            "properties": {
              "id": {
                "id": "\/properties\/metadata\/properties\/series\/items\/properties\/id",
                "type": "string"
              },
              "name": {
                "id": "\/properties\/metadata\/properties\/series\/items\/properties\/name",
                "type": "string"
              },
              "thumbnail": {
                "id": "\/properties\/metadata\/properties\/series\/items\/properties\/thumbnail",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
This is an example of feed that best fit our Streamhub metadata schema:

{
  "metadata": {
    "series": [
      {
        "id": "9lofiMCgV9DISk5I",
        "name": "Top Chef",
        "thumbnail": "https:\/\/www.google.fr\/url?sa=i&rct=j&q=&esrc=s&source=imgres&cd=&ved=0ahUKEwiLiaKrisLUAhVMvBoKHY2CCAIQjRwIBw&url=http%3A%2F%2Fgoogle.com%2Fsearch%3Ftbm%3Disch%26q%3DTop%2520Chef&psig=AFQjCNHXwey1b3hYzhG4TFRuk4Uzfu_9kQ&ust=1497692731348331"
      }
    ],
    "channels": [
      {
        "id": "gvzlwmAUCKUMZDQ4",
        "name": "Food Discovery"
      }
    ],
    "categories": [
      {
        "id": "rLCYLVTn1tk0zn84",
        "parentId": null,
        "name": "Food"
      },
      {
        "id": "saTwF1wTb8VA0Q7i",
        "parentId": null,
        "name": "Entertainment"
      }
    ],
    "programs": [
      {
        "id": "fT5ykQX7YjJxinwTPTUESsimxsFPTmKS",
        "title": "Top Chef",
        "description": "Sixteen cheftestants begin the competition, eight of whom are playing for the first time, while the other eight are veterans from previous seasons.",
        "duration": 3600,
        "episode": 11,
        "season": 13,
        "thumbnail": "http:\/\/www.gstatic.com\/tv\/thumb\/v22episodes\/13515621\/p13515621_e_v8_aa.jpg",
        "series": [
          "9lofiMCgV9DISk5I"
        ],
        "categories": [
          "rLCYLVTn1tk0zn84",
          "saTwF1wTb8VA0Q7i"
        ],
        "validFrom": "2013-11-18T11:55:00.000+09:00",
        "validTo": "2013-11-19T11:55:00.000+09:00",
        "live": true,
        "channels": [
          "gvzlwmAUCKUMZDQ4"
        ],
        "customFields": {
          "randomKey": "randomValue"
        }
      }
    ]
  }
}