AI-generated Key Takeaways
- 
          A SportsEvent entity represents a sports game or a full replay of a sports game. 
- 
          Short form content, clips, and shoulder content are not modeled as a SportsEvent. 
- 
          Modeling a SportsEvent can vary based on whether it's part of a Video on demand catalog, live TV catalog streaming online, or live TV catalog streaming online on a channel. 
- 
          Specific entities like BroadcastEvent, Broadcast, BroadcastService, Organization, TelevisionChannel, and CableOrSatelliteService are required depending on the use case for modeling SportsEvents in live TV contexts. 
- 
          Deep links for SportsEvents in a Video on demand catalog should be provided on the SportsEvent entity, while deep links for live broadcasts without a channel should be on the BroadcastEvent entity, and deep links for live broadcasts on a channel should be on the BroadcastService entity. 
Definition
A SportsEvent is an entity type representing a sports game or a full
replay of a sports game.
| What can be modeled as a SportsEvent? | A sports game | 
| What can't be modeled as a SportsEvent? | Any short form or clip content or shoulder content. Here's the list: 
 | 
Common Use-cases for SportsEvents
| S.No. | Description | Entities Required | 
|---|---|---|
| Case 1 | I need to model a SportsEventthat's part of my Video on
      demand catalog. | SportsEventrepresenting the game. | 
| Case 2 | I need to model a  The game streams over the internet and is not attached to any channel. | 
 
 | 
| Case 3 | I need to model a SportsEvent that's part of my live TV catalog and is streamed online on a channel. | 
 
 
 | 
| Case 4 | Combinations of the preceding three cases. | If you combine a subset of the earlier use-cases, then you must provide the entity types in the corresponding "Entities required" column. | 
Best practices and insights into a few checks that we do
| S.No. | Entities Required | Guidelines | 
|---|---|---|
| Case 1 | I need to model a  Entities Required 
 | Modeling guidelines The deep link to the game must be provided on the SportsEvent entity using the SportsEvent.potentialAction property. Quality checks to perform 
 | 
| Case 2 | I need to model a  The game streams over the internet and is not attached to any channel. Entities Required 
 | Modeling guidelines Sub-case 1: The game is only available live (and not as part of the Video on demand catalog) 
 Sub-case 2: The game is available live and as part of the Video on demand catalog (this could happen when a game replay is being broadcast) 
 Quality checks to perform 
 | 
| Case 3 | I need to model a  Entities Required 
 | Modeling guidelines Sub-case 1: The game is only available live (and not as part of the Video on demand catalog) 
 Sub-case 2: The game is available live and as part of the Video on demand catalog (this could happen when a game replay is being broadcast) 
 Quality checks to perform 
 | 
Examples
Case 1: A sports event that's part of Video on demand catalog
{
  "@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": "2018-09-16T10:00-08:00",
  "endDate": "2018-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":"http://www.example.com/professional_basketball_league"
    },
    "athlete":[
      {
        "@type":"Person",
        "name":"John doe"
      }
    ]
  },
  "awayTeam":{
    "@type":"SportsTeam",
    "name":"Team A",
    "sport":"https://en.wikipedia.org/wiki/Basketball",
    "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":  "TMS ID of this game"
    }
  ],
"potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://www.example.com/pbl_semis_game?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": "2018-09-01T10:00-08:00",
      "availabilityEnds": "2019-10-21T10:35:29Z",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "name": "Example Package",
        "commonTier": true,
        "@id": "http://www.example.com/example_package"
       },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  }
}
Case 2: A sports event that's part of live TV catalog and is streamed online
Broadcast event
{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "BroadcastEvent",
  "@id": "http://example.com/live_eevent/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": "2018-09-16T10:00-08:00",
  "endDate": "2018-09-16T13:00-08:00",
  "videoFormat": "HD",
  "isLiveBroadcast": "False",
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://www.example.com/pbl_semis_game?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": "2018-09-16T10:00-08:00",
      "availabilityEnds": "2018-09-16T10:00-08:00",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "name": "Example Package",
        "commonTier": true,
        "@id": "http://www.example.com/example_package"
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  },
  "broadcastOfEvent": {
    "@type": "SportsEvent",
    "@id": "http://example.com/basketball/professional/final_game_6"
  }
}
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": "2018-09-16T10:00-08:00",
  "endDate": "2018-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":"http://www.example.com/professional_basketball_league"
    },
    "athlete":[
      {
        "@type":"Person",
        "name":"John doe"
      }
    ]
  },
  "awayTeam":{
    "@type":"SportsTeam",
    "name":"Team A",
    "sport":"https://en.wikipedia.org/wiki/Basketball",
    "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":  "TMS ID of this game"
    }
  ]
}
Case 3: A sports event that's part of live TV catalog and is streamed online on a channel
Broadcast event
{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "BroadcastEvent",
  "@id": "http://example.com/live_eevent/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": "2018-09-16T10:00-08:00",
  "endDate": "2018-09-16T13:00-08:00",
  "videoFormat": "HD",
  "isLiveBroadcast": "False",
  "publishedOn": {
    "@type": "BroadcastService",
    "@id": "http://example.com/stations/example_tv"
  },
  "broadcastOfEvent": {
    "@type": "SportsEvent",
    "@id": "http://example.com/basketball/professional/final_game_6"
  }
}
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": "2018-09-16T10:00-08:00",
  "endDate": "2018-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":"http://www.example.com/professional_basketball_league"
    },
    "athlete":[
      {
        "@type":"Person",
        "name":"John doe"
      }
    ]
  },
  "awayTeam":{
    "@type":"SportsTeam",
    "name":"Team A",
    "sport":"https://en.wikipedia.org/wiki/Basketball",
    "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":  "TMS ID of this game"
    }
  ]
}
BroadcastService, CableOrSatelliteService, TelevisionChannel, Organization
entities as defined in Live TV Channel
section under Concepts
How do I handle shoulder content?
| What qualifies as shoulder content? | 
 | 
| S.No. | Use case | Modeling guidelines | 
|---|---|---|
| Case 1 | I have shoulder content in my Video on demand catalog. | |
| Case 2 | I have shoulder content in my live catalog | Sub-case 1: Content is available to stream live on the internet 
 Sub-case 2: Content is available to stream live on the internet on a channel 
 | 
| Case 3 | I have shoulder content available as part of both Video on demand and live TV catalog | Given that Video on demand sports shoulder content isn't accepted in the feed today, this is similar to case 2. See the instructions from there. | 
Commonly Asked Questions
Q: Where can I find the associated specifications for the entities mentioned earlier?
A: You can find the required specifications here.
| Overall documentation | Link | 
|---|---|
| SportsEvent | Link | 
| BroadcastService,Organization,TelevisionChannel
      ,CableOrSatelliteService | Link | 
| BroadcastEvent | Link | 
Q: Is there a more detailed document that explains how to model the live TV channels and lineups?
A: Yes, you can find more details in Live TV Channel section under Concepts. Please feel free to request view access if you aren't able to view the document.
Q: Does ViTA support full live games and full game replays as well?
A: ViTA supports metadata on league based full live games and full game replays (in addition to a subset of shoulder content)
- For partners that already have a functional Media Actions feed with Google or have a Video on demand or live TV offering, Google requires the feed to expand and include the supported - SportsEventtypes as well.- For the short term, the partners can use ViTA for shoulder content ingestion. Support all types of content through the feed should roll out over the long term.
 
- For partners that don't have a Video on demand or live TV offering but carry only league based sports and related shoulder content, ViTA is a great option to begin with. Contact your Google representative to learn more about ViTA.