Identify the relationships among Organization, BroadcastService, CableOrSatelliteService, and TelevisionChannel

You need to provide the relationships among all the Organization, BroadcastService, CableOrSatelliteService, and TelevisionChannel entity types in your catalog. This information helps Google display the proper order and structure of your content to users and identify the correct live TV channels when a user query is ambiguous.

Live TV entity types

BroadcastService, CableOrSatelliteService, TelevisionChannel, and Organization describe the following entities:

  • Organization describes a TV network or a TV operator.
    • TV network - An organization that produces and distributes TV programming.
    • TV operator - Also known as TV service provider, an organization that delivers a bundle of TV programming to subscribers.
  • BroadcastService describes a broadcast service (a.k.a “TV station”) that is affiliated with a TV network (Organization).
  • CableOrSatelliteService identifies a regional cable, satellite, or Internet TV service provided by a TV operator (Organization).
  • TelevisionChannel identifies the channel ID (that is, a string or number) of a TV station (BroadcastService) on a regional cable, satellite, or Internet TV service (CableOrSatelliteService).
Figure 1. The links between the Live TV channel entity types.

BroadcastService

BroadcastService allows you to describe the details that are specific to Media Actions; for instance, you can use an Action markup object in BroadcastService to provide the deep links and access requirements of a broadcast service.

You need to provide a separate BroadcastService for the following cases:

  • A broadcast service has its own TV channel.
    • For instance, a TV network has channels in different definitions (for example, "HD" and "SD").
  • A broadcast service consists of different TV programming.
    • For instance, a TV network distributes different TV programming based on regions (for example, New York and California).

BroadcastService lets you restrict access to a TV channel based on the user's current device location with the eligibleRegion and ineligibleRegion properties. (See the Entitlements use cases - Live TV section for details.)

Live TV examples

The following example describes a fictional Internet Protocol TV (IPTV) service provider and its TV channels:

Organization

A fictional Internet Protocol Television service provider, ExampleTV Digital Service (Organization), provides Live TV service on the Internet, which contains the following two channels: ExampleTV-Movie (Organization) and ExampleTV-Comedy (Organization):

{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/digital",
  "name":"ExampleTV Digital Service",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_digital_service"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/movie",
  "name":"ExampleTV Movie",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_movie"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/comedy",
  "name":"ExampleTV Comedy",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_comedy"
}

BroadcastService

These two BroadcastService entities provide the details of deep links and access requirement for the fictional channels ExampleTV-Movie and ExampleTV-Comedy:

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/broadcast/movie",
  "name": "ExampleTV-Movie",
  "alternateName": [
    "Example Television Movie",
    "Example TV Movie"
  ],
  "description": "A fictional Internet Protocol TV movie channel.",
  "broadcastDisplayName":"ExampleTV-Movie",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/movie",
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://www.example.com/exampletv/broadcast/movie?autoplay=true",
      "inLanguage": "en",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/MobileWebPlatform",
        "http://schema.org/AndroidPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.googleapis.com/GoogleVideoCast"
      ]
    },
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/exampletv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic",
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "12345"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-movie-33345"
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/broadcast/comedy",
  "name": "ExampleTV-Comedy",
  "alternateName": [
    "Example Television Comedy",
    "Example TV Comedy"
  ],
  "description": "A fictional Internet Protocol TV comedy channel.",
  "broadcastDisplayName":"ExampleTV-Comedy",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/comedy",
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://www.example.com/exampletv/broadcast/comedy?autoplay=true",
      "inLanguage": "en",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/MobileWebPlatform",
        "http://schema.org/AndroidPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.googleapis.com/GoogleVideoCast"
      ]
    },
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/exampletv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic",
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "15555"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-comedy-12323"
    }
  ]
}

CableOrSatelliteService

This CableOrSatelliteService describes the service provider ExampleTV Digital Service that has national coverage:

{
  "@context":"http://schema.org",
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_iptv/us",
  "name":"Example TV Digital Service - US",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/exampletv/digital",
    "name": "ExampleTV Digital Service",
  },
  "areaServed":[
    {
      "@type":"Country",
      "name": "US",
    }
  ]
}

TelevisionChannel

These TelevisionChannel entities indicate that ExampleTV Digital Service IPTV has the ExampleTV Movie programming on channel ExTV-Movie and the ExampleTV Comedy programming on channel ExTV-Comedy:

{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-movie",
  "broadcastChannelId":"ExTV-Movie",
  "broadcastServiceTier":"Basic",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_iptv/us"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/broadcast/movie"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-comedy",
  "broadcastChannelId":"ExTV-Comedy",
  "broadcastServiceTier":"Basic",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_iptv/us"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/broadcast/comedy"
  }
}

See the Live TV examples section for more examples.

Identify the relationships

For Organization,

  • Collect the @id and name of the TV network or TV operator.

For BroadcastService,

  • Collect the @id and name of the broadcast service.
  • For the broadcastAffiliateOf property, collect the @id of the TV network (Organization) whose programming this broadcast service provides.

The following entity types are required if your broadcast service supports the channel switch by channel number (see the Fulfilled by Google section for details).

For CableOrSatelliteService,

  • Collect the @id and name of the regional cable, satellite, or Internet TV service.
  • For the provider property, collect the @id and name of the TV operator (Organization), which is the parent organization of this regional service.

For TelevisionChannel,

  • Collect the @id and name of the television channel.
  • For the inBroadcastLineup property, collect the @id of the regional cable, satellite, or Internet TV service (CableOrSatelliteService) that provides this channel to the viewers.
  • For the providesBroadcastService property, collect the @id of the broadcast service (BroadcastService) whose programming this channel provides.