Some entity types require you to establish the relationship between the content in your feed. This information helps Google display the proper order and structure of your content to users and identify the correct content when a user's query is ambiguous.

Select the type of content that you provide:

## TV show

If you're a TV show provider, you need to add the `TVEpisode`, `TVSeason`, and `TVSeries` entity types in your media catalog feed. You can find the definitions for these entities in the [Understand the available entity types](https://developers.google.com/actions/media/collect-information/identify-the-entity-types#understand-the-available-entity-types) section by filtering for these types.

### Identify the relationships

Ensure the following relationships are established among them:
![](https://developers.google.com/static/actions/media/images/image-media-actions-32.png) **Figure** : The `partOfSeries` and `partOfSeason` properties connect the TV show entity types together.

- A `TVEpisode` entity requires you to provide the `partOfSeries` property, which specifies the `@id` and `name` of the episode's `TVSeries` entity.

      "partOfSeries": {
        "@type": "TVSeries",
        "@id": "http://www.example.com/my_favorite_tv_show",
        "name": "My Favorite TV Show",
      },

- If your feed contains TV seasons, a `TVSeason` entity also requires you to specify its `TVSeries` entity in the `partOfSeries` property.

  > [!NOTE]
  > **Note:** Providing `TVSeason` as a top level entity is **optional** . However, if you choose to provide `TVSeason` entities for a TV show, those `TVSeason` entities must cover all the episodes of the TV series in your catalog. For instance, if *My Favorite TV Show* has 8 seasons and each season has 5 episodes. Your feed should contain all 40 episodes of *My Favorite TV Show* . If you provide `TVSeason` entities for the show, then your feed must include all 8 `TVSeason` entities.

- A `TVEpisode` entity requires you to provide the `partOfSeason` property, which specifies the `@id` and `seasonNumber` of the episode's `TVSeason` entity.

      "partOfSeason": {
        "@type": "TVSeason",
        "@id": "http://www.example.com/my_favorite_tv_show/s7",
        "seasonNumber": 7
      },

  If a `TVEpisode` entity doesn't have a corresponding `TVSeason` entity in the feed, take the following steps to provide the `partOfSeason.@id` and `partOfSeason.seasonNumber` properties for the `TVEpisode` entity:
  - Take its `partofSeries.@id` and attach a placeholder query field (for example, *?season1* ) to create a unique `partOfSeason.@id` (for example, *http://www.example.com/my_favorite_tv_show?season1*).
  - Set `partOfSeason.seasonNumber` to 1.

  Later, if you decide to provide TV seasons in the feed, you can either reuse the existing `partOfSeason.@id` for the corresponding `TVSeason` entity or replace this placeholder `partOfSeason.@id` with the actual `@id` of the `TVSeason` entity.

  <br />

### Example

### TVSeries

*My Favorite TV Show*

    {
      "@context": ["http://schema.org", {"@language": "en"}],
      "@type": "TVSeries",
      "@id": "http://www.example.com/my_favorite_tv_show",
      "url": "http://www.example.com/my_favorite_tv_show",
      "name": "My Favorite TV Show",
      "potentialAction":{ ... },
      ...
    }

### TVSeason

*My Favorite TV Show* (season 7)

    {
      "@context": ["http://schema.org", {"@language": "en"}],
      "@type": "TVSeason",
      "@id": "http://www.example.com/my_favorite_tv_show/s7",
      "url": "http://www.example.com/my_favorite_tv_show/s7",
      "name": "My Favorite TV Show, Season 7",
      "seasonNumber": 7,
      "partOfSeries": {
        "@type": "TVSeries",
        "@id": "http://www.example.com/my_favorite_tv_show",
        "name": "My Favorite TV Show",
      },
      "potentialAction":{ ... },
      ...
    }

### TVEpisode

Episode 3 of *My Favorite TV Show* (season 7)

    {
      "@context": ["http://schema.org", {"@language": "en"}],
      "@type": "TVEpisode",
      "@id": "http://www.example.com/my_favorite_tv_show/s7/e3",
      "url": "http://www.example.com/my_favorite_tv_show/s7/e3",
      "name": "John Doe returns at night",
      "episodeNumber": 3,
      "partOfSeason": {
        "@type": "TVSeason",
        "@id": "http://www.example.com/my_favorite_tv_show/s7",
        "seasonNumber": 7
      },
      "partOfSeries": {
        "@type": "TVSeries",
        "@id": "http://www.example.com/my_favorite_tv_show",
        "name": "My Favorite TV Show",
      },
      "potentialAction":{ ... },
      ...
    }

## Radio

If you're a radio provider, you need to add the `RadioBroadcastService` entity type in your media catalog feed. You can find the definitions for these entities in the [Understand the available entity types](https://developers.google.com/actions/media/collect-information/identify-the-entity-types#understand-the-available-entity-types) section by filtering for this type.

### Identify the relationships

Since there is only one entity type for such integrations, while there are no explicit relationships that need to be established, ensure that you collect the following information for the `RadioBroadcastService` entities:

- `description`: The description of the radio station.
- `broadcastDisplayName`: The display name of the radio station.
- `areaServed`: The area where the radio station is available.
- `callSign`: The official government-issued callsign of the radio station. For North America radio stations, this property is required.
- `broadcastFrequency`: The frequency specification of the radio station.
  - For terrestrial AM/FM radio stations, this property is required.
  - For online streaming-only content, the value is set to `INTERNET_STREAM`.
- `broadcastAffiliateOf`: The network of which this radio station provides programming. If the radio station is not part of any affiliation, this property is not required.
- `broadcaster`: The organization who owns and operates the radio station.
- `parentService`: The parent radio station. If the radio station is a repeater or translator of another radio station, this property is required.

### Example

    {
      "@context": "http://schema.googleapis.com",
      "@type": "RadioBroadcastService",
      "@id": "https://www.example.com/stations?id=1",
      "url": "https://www.example.com/stations?id=1",
      "name": "KABC",
      "callSign": "KABC-FM",
      "broadcastDisplayName": "KABC",
      "description": "Local News & Information",
      "broadcastFrequency": {
        "@type": "BroadcastFrequencySpecification",
        "broadcastFrequencyValue": "89.5",
        "broadcastSignalModulation": "FM",
        "broadcastSubChannel": "HD1"
      },
      "areaServed": {
        "@type": "City",
        "name": "San Francisco, CA"
      },
      "broadcastAffiliateOf": [
        {
          "@id": "https://www.example.com/networks/xyz",
          "@type": "Organization",
          "name": "XYZ",
          "sameAs": "https://en.wikipedia.org/wiki/XYZ"
        },
        {
          "@id": "https://www.example.com/networks/efg",
          "@type": "Organization",
          "name": "EFG",
          "sameAs": "https://www.example.com/"
        }
      ],
      "broadcaster": [
        {
          "@type": "Organization",
          "name": "California Local Public Broadcasting",
          "sameAs": "https://www.example.org/w/clpb/"
        },
        {
          "@type": "Organization",
          "sameAs": "https://www.example.org/kabc",
          "name": "KABC Inc"
        }
      ],
      "potentialAction": { ... },
      ...
    }

## Music

If you're a music provider, you need to add the `MusicGroup`, `MusicAlbum`, and `MusicRecording` entity types in your media catalog feed. You can find the definitions for these entities in the [Understand the available entity types](https://developers.google.com/actions/media/collect-information/identify-the-entity-types#understand-the-available-entity-types) section by filtering for these types.

`MusicGroup`, `MusicAlbum`, and `MusicRecording` let your app or platform play more content from a playlist (`MusicPlaylist`) once all the content from the *seed entity* is played. Check out the following scenario:

- A `MusicAlbum` entity contains a list of songs from *Album XYZ* (a seed entity).
- A `MusicPlaylist` entity contains a playlist of songs that are similar to the songs from *Album XYZ*.
- The `MusicAlbum` entity includes the `MusicPlaylist` entity as an *Entity-seeded Action*.

In this setup, once all the songs from *Album XYZ* are played, your app can continue to play songs from the playlist provided by the `MusicPlaylist` entity.

### Entity Action and Entity-seeded Action

Listen Actions support two types of Actions:

- Entity Action: Plays a specific artist, album, or song (a seed entity). It includes `MusicGroup`, `MusicAlbum`, `MusicRecording`.
- Entity-seeded Action: Plays content similar to the seed entity. It includes `MusicPlaylist`.
  - After completing an Entity Action, your app or platform may initiate an Entity-seeded Action.
  - An Entity-seeded Action can include playback of the content from the seed entity.

We recommend you include an Entity-seeded Action in every Entity Action.

### Identify the relationships

- For `MusicGroup`, if you provide an [Entity-seeded Action](https://developers.google.com/actions/media/collect-information/identify-the-relationships#entity_action_and_entity-seeded_action), identify `@id` and `name` of its `MusicPlaylist`.
- For `MusicAlbum` and `MusicRecording`, you need to identify which `MusicGroup` they belong to.
  - Identify `@id` and `name` of its `MusicGroup`.
  - If you provide an Entity-seeded Action, identify `@id` and `name` of its `MusicPlaylist`.
- For `MusicPlaylist`,
  - If applicable, identify `genre` that best represents the content in the playlist.
  - If the playlist is hand curated, identify `numTracks`.
    - The absence of `numTracks` tells Google that the playlist is an auto-generated, endless playlist.

### Example

### MusicGroup

- Artist: *My Favorite Artist*

    {
      "@context":"http://schema.googleapis.com/",
      "@type":"MusicGroup",
      "@id":"http://www.example.com/artist/my_favorite_artist/",
      "url":"http://www.example.com/artist/my_favorite_artist/",
      "name":"My Favorite Artist",
      "potentialAction":{ ... },
      "subjectOf": {
        "@type":"MusicPlaylist",
        "@id":"http://www.example.com/artist_mix/my_favorite_artist/",
        "url":"http://www.example.com/artist_mix/my_favorite_artist/",
        "name":"My Favorite Artist Mix",
        "potentialAction":{ ... },
      },
      ...
    }

### MusicAlbum

- Album: *My Favorite Album*
- Artist: *My Favorite Artist*

    {
      "@context":"http://schema.googleapis.com/",
      "@type":"MusicAlbum",
      "@id":"http://www.example.com/album/my_favorite_album",
      "url":"http://www.example.com/album/my_favorite_album",
      "name":"My Favorite Album",
      "byArtist":{
        "@type":"MusicGroup",
        "@id": "http://www.example.com/artist/my_favorite_artist/",
        "name":"My Favorite Artist"
      },
      "potentialAction":{ ... },
      "subjectOf": {
        "@type":"MusicPlaylist",
        "@id":"http://www.example.com/album_mix/my_favorite_album",
        "url":"http://www.example.com/album_mix/my_favorite_album",
        "name":"My Favorite Album Mix",
        "potentialAction":{ ... },
      },
      ...
    }

### MusicRecording

- Song: *My Favorite Song*
- Artist: *My Favorite Artist*

    {
      "@context":"http://schema.googleapis.com/",
      "@type":"MusicRecording",
      "@id":"http://www.example.com/track/my_favorite_song",
      "url":"http://www.example.com/track/my_favorite_song",
      "name":"My Favorite Song",
      "byArtist":{
        "@type":"MusicGroup",
        "@id": "http://www.example.com/artist/my_favorite_artist/",
        "name":"My Favorite Artist"
      },
      "potentialAction":{ ... },
      "subjectOf": {
        "@type":"MusicPlaylist",
        "@id":"http://www.example.com/track_mix/my_favorite_song",
        "url":"http://www.example.com/track_mix/my_favorite_song",
        "name":"My Favorite Song Mix",
        "potentialAction":{ ... },
      },
      ...
    }

### MusicPlaylist

- A custom playlist: "Top Pop Songs of the 2010s"

    {
      "@context":"http://schema.googleapis.com/",
      "@type":"MusicPlaylist",
      "@id":"http://www.example.com/playlist/top_pop_songs/",
      "url":"http://www.example.com/playlist/top_pop_songs/",
      "name":"Top Pop Songs of the 2010s",
      "genre": [
         "pop",
         "2010s"
      ],
      "numTracks":"46",
      "potentialAction":{ ... },
      ...
    }

## Live TV

If you're a Live TV provider, you need to add the `Organization`, `BroadcastService`, `CableOrSatelliteService`, and `TelevisionChannel` entity types in your media catalog feed to represent your channel lineup. You may also need to provide the `BroadcastEvent`, `TVSeries`, `TVEpisode`, `Movie`, and `SportsEvent` entities to represent the associated EPG (electornic programming guide). You can find the definitions for these entities in the [Understand the available entity types](https://developers.google.com/actions/media/collect-information/identify-the-entity-types#understand-the-available-entity-types) section by filtering for these types. For a more detailed explanation, you can visit the [Live TV Channels](https://developers.google.com/actions/media/concepts/live-tv-channel) page.

> [!NOTE]
> **Note:** Given that Live TV feeds also have the `TVEpisode`, `TVSeason`, and `TVSeries` entities in the feed, read the section on `TV show` above as well.

### Relationships between entities representing Live TV channels

The figure below shows how the `Organization`, `BroadcastService`, `CableOrSatelliteService`, and `TelevisionChannel` entities are related:
![The links between the Live TV channel entity types](https://developers.google.com/static/actions/media/images/image-live-tv-channel-01.jpg) **Figure**: The links between the Live TV channel entity types.

<br />

- `Organization` (operator) entity representing the feed provider and also the parent organization of `CableOrSatelliteService` service are connected using the `provider` property on the `CableOrSatelliteService` entity.
- `Organization` entities corresponding to the `BroadcastService` entities are connected using the `broadcastAffiliateOf` property on the `BroadcastService` entity.
- `TelevisionChannel` entities connect with the `CableOrSatelliteService` entity, that represents the lineup they belong to, using the `inBroadcastLineup` property.
- `TelevisionChannel` entities connect with the `BroadcastService` entity, whose programming this channel provides, using the `providesBroadcastService` property.

It is highly recommended to go through the [Live TV channels](https://developers.google.com/actions/media/concepts/live-tv-channel#org-bs-relationship) concept page for concrete examples of how the relationship between the BroadcastService and Organization entities needs to be established.

### Relationships between channels and their programming guide (EPG)

The figure below shows how the `BroadcastEvent` entity links to the rest of the entities in the feed.
![The links between the Live TV event entity types](https://developers.google.com/actions/media/images/image-live-tv-event-01.png) **Figure**: The links between the Live TV event entity types.

<br />

- `BroadcastEvent` entities, representing the programming guide (EPG) of a `BroadcastService`, are connected with the `BroadcastService` entities using the `publishedOn` property on the `BroadcastEvent` entity.
- `BroadcastEvent` entities can also be connected to top level `TVEpisode`, `TVSeries`, `Movie` entities using the `workPerformed` property.
- `BroadcastEvent` entities can also be connected to top level `SportsEvent` entities using the `broadcastOfEvent` property.
- For channel-less events streamed online, the `BroadcastEvent` entities connect with the entity representing the live event using either the `workPerformed` or `broadcastOfEvent` property depending on what is being livestreamed. In such cases, omit the `publishedOn` property because the stream isn't attached to a linear channel. When `broadcastOfEvent` references a `SportsEvent`, provide the deep link (`potentialAction`) directly on the `SportsEvent` entity (not on `BroadcastEvent`).

### Examples

The following section provides examples and snippet for various Watch Action use cases.

#### National TV service provider on the internet

### 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", {"@language": "en"}],
      "@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", {"@language": "en"}],
      "@type":"Organization",
      "@id":"http://example.com/exampletv/movie",
      "name":"ExampleTV Movie",
      "sameAs": "https://en.wikipedia.org/wiki/exampletv_movie"
    },
    {
      "@context": ["http://schema.org", {"@language": "en"}],
      "@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", {"@language": "en"}],
      "@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/AndroidTVPlatform",
            "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",
            "commonTier": true
          },
          "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", {"@language": "en"}],
      "@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/AndroidTVPlatform",
            "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",
            "commonTier": true
          },
          "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", {"@language": "en"}],
      "@type":"CableOrSatelliteService",
      "@id":"http://example.com/example_iptv/us",
      "name":"Example TV Digital Service - US",
      "provider": {
        "@type": "Organization",
        "@id": "http://example.com/exampletv/digital"
      },
      "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", {"@language": "en"}],
      "@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", {"@language": "en"}],
      "@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](https://developers.google.com/actions/media/concepts/live-tv-channel#examples) section for more examples.

#### Broadcast of a Movie on a TV channel

A movie is broadcast on the television network *Example TV* (`BroadcastService`) between 5 pm and 7 pm on July 12th, 2019.

### BroadcastEvent

    {
      "@context": ["http://schema.org", {"@language": "en"}],
      "@type": "BroadcastEvent",
      "@id": "http://example.com/live/movie/new_release",
      "name": "My Favorite Movie",
      "description": "John Doe spent years perfecting his survival skills in a tropical jungle.",
      "startDate": "2019-07-12T17:00-08:00",
      "endDate": "2019-07-12T19:00-08:00",
      "videoFormat": "HD",
      "isLiveBroadcast": false,
      "publishedOn": {
        "@type": "BroadcastService",
        "@id": "http://example.com/stations/example_tv"
      },
      "workPerformed": {
        "@type": "Movie",
        "@id": "http://www.example.com/my_favorite_movie"
      }
    }

### BroadcastService

    {
      "@context": ["http://schema.org", {"@language": "en"}],
      "@type":"BroadcastService",
      "@id":"http://example.com/stations/example_tv",
      "name":"EXAMPLE-TV",
      "broadcastDisplayName":"ABCD",
      "callSign": "EXA-TV",
      "videoFormat":"SD",
      "broadcastTimezone":"America/Los_Angeles",
      "broadcastAffiliateOf":{
        "@type":"Organization",
        "@id":"http://example.com/networks/abcd-network"
      },
      "identifier": [
       {
         "@type": "PropertyValue",
         "propertyID": "TMS_ID",
         "value": "12258"
       },
       {
         "@type": "PropertyValue",
         "propertyID": "_PARTNER_ID_",
         "value": "exampletv-123456"
       }
      ],
      "potentialAction": {
        "@type": "WatchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "http://example.com/livestream",
          "actionPlatform": [
            "http://schema.org/DesktopWebPlatform",
            "http://schema.org/MobileWebPlatform",
            "http://schema.org/AndroidPlatform",
            "http://schema.org/IOSPlatform",
            "http://schema.googleapis.com/GoogleVideoCast",
            "http://schema.org/AndroidTVPlatform"
          ]
        },
        "actionAccessibilityRequirement": {
          "@type": "ActionAccessSpecification",
          "category": "externalsubscription",
          "availabilityStarts": "2018-07-21T10:35:29Z",
          "availabilityEnds": "2019-10-21T10:35:29Z",
          "requiresSubscription": {
            "@type": "MediaSubscription",
            "@id": "http://example.com/subscription",
            "name": "ABCD",
            "sameAs": "http://example.com/subscription",
            "authenticator": {
              "@type": "Organization",
              "name": "TVE"
            }
          },
          "eligibleRegion": [
            {
              "@type": "Country",
              "name": "US"
            }
          ]
        }
      }
    }

### Movie

    {
      "@context": ["http://schema.org", {"@language": "en"}],
      "@type": "Movie",
      "@id": "http://www.example.com/my_favorite_movie",
      "url": "http://www.example.com/my_favorite_movie",
      "name": "My Favorite Movie",
      "sameAs": "https://en.wikipedia.org/wiki/my_favorite_movie",
      "releasedEvent": {
        "@type": "PublicationEvent",
        "startDate": "2008-01-20",
        "location": {
          "@type": "Country",
          "name": "US"
        }
      },
      "description": "John Doe spent years perfecting his survival skills in a tropical jungle.",
      "actor": [
        {
          "@type": "Person",
          "name": "John Doe",
          "sameAs": "https://en.wikipedia.org/wiki/John_Doe"
        },
        {
          "@type": "Person",
          "name": "Jane Doe",
          "sameAs": "https://en.wikipedia.org/wiki/Jane_Doe"
        }
      ],
      "identifier": [
        {
          "@type": "PropertyValue",
          "propertyID": "IMDB_ID",
          "value":  "tt0123456"
        }
      ]
    }

See the [Live TV Event examples](https://developers.google.com/actions/media/concepts/live-tv-event#examples) section for more examples.

#### A live sports game streamed online

### Broadcast event

    {
      "@context": ["http://schema.org", {"@language": "en"}],
      "@type": "BroadcastEvent",
      "@id": "http://example.com/live_event/basketball/professional/final_game_6",
      "name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
      "description": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B.",
      "startDate": "2019-09-16T10:00-08:00",
      "endDate": "2019-09-16T13:00-08:00",
      "videoFormat": "HD",
      "isLiveBroadcast": true,
      "broadcastOfEvent": {
        "@type": "SportsEvent",
        "@id": "http://example.com/basketball/professional/final_game_6"
      },
      "location": {
        "@type": "Country",
        "name": "US"
      }
    }

### Sports event

    {
      "@context": ["http://schema.org", {"@language": "en"}],
      "@type": "SportsEvent",
      "@id": "http://example.com/basketball/professional/final_game_6",
      "name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
      "sport": "https://en.wikipedia.org/wiki/Basketball",
      "description": {
        "@language": "en",
        "@value": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B."
      },
      "startDate": "2019-09-16T10:00-08:00",
      "endDate": "2019-09-16T13:00-08:00",
      "homeTeam": {
        "@type": "SportsTeam",
        "name": "Team B",
        "sport": "https://en.wikipedia.org/wiki/Basketball",
        "parentOrganization": {
          "@type": "SportsOrganization",
          "name": "Professional Basketball League",
          "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
        },
        "athlete": [
          {
            "@type": "Person",
            "name": "John Doe"
          }
        ]
      },
      "awayTeam": {
        "@type": "SportsTeam",
        "name": "Team A",
        "sport": "https://en.wikipedia.org/wiki/Basketball",
        "parentOrganization": {
          "@type": "SportsOrganization",
          "name": "Professional Basketball League",
          "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
        },
        "athlete": [
          {
            "@type": "Person",
            "name": "Jane Doe"
          }
        ]
      },
      "location": {
        "@type": "Place",
        "name": "Example Stadium",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "1600 Amphitheatre Pkwy",
          "addressLocality": "Mountain View",
          "addressRegion": "CA",
          "postalCode": "94043",
          "addressCountry": "US"
        }
      },
      "identifier": [
        {
          "@type": "PropertyValue",
          "propertyID": "TMS_ID",
          "value": "EP000194303282"
        }
      ],
      "potentialAction": {
        "@type": "WatchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "http://www.example.com/pbl_finals_game_6?autoplay=true",
          "inLanguage": "en",
          "actionPlatform": [
            "http://schema.org/DesktopWebPlatform",
            "http://schema.org/MobileWebPlatform",
            "http://schema.org/AndroidPlatform",
            "http://schema.org/AndroidTVPlatform",
            "http://schema.org/IOSPlatform",
            "http://schema.googleapis.com/GoogleVideoCast"
          ]
        },
        "actionAccessibilityRequirement": {
          "@type": "ActionAccessSpecification",
          "category": "subscription",
          "availabilityStarts": "2019-09-01T10:00-08:00",
          "availabilityEnds": "2019-09-16T16:00-08:00",
          "requiresSubscription": {
            "@type": "MediaSubscription",
            "name": "Example Package",
            "commonTier": true,
            "@id": "http://www.example.com/example_package"
          },
          "eligibleRegion": [
            {
              "@type": "Country",
              "name": "US"
            }
          ]
        }
      }
    }

See the [Sports examples](https://developers.google.com/actions/media/concepts/sports_events#sample-feeds)
section for more examples.