一部のエンティティ タイプでは、フィード内のコンテンツ間の関係を設定する必要があります。この情報は、Google がそれらのコンテンツの適切な構造を適切な順序でユーザーに提示し、ユーザークエリがあいまいな場合に正しいコンテンツを特定するのに役立ちます。
提供するコンテンツの種類を選択します。
テレビ番組
テレビ番組プロバイダの場合は、メディア カタログ フィードに TVEpisode、TVSeason、TVSeries のエンティティ タイプを追加する必要があります。これらのエンティティの定義については、使用可能なエンティティ タイプについての該当するエンティティ タイプをフィルタしてご確認ください。
関係の特定
これらの間で次の関係が確立されていることを確認します。
partOfSeries プロパティと partOfSeason プロパティは、テレビ番組のエンティティ タイプ同士を関連付けます。TVEpisodeエンティティにはpartOfSeriesプロパティを指定する必要があります。このプロパティは、エピソードのTVSeriesエンティティの@idとnameを指定します。"partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },フィードにテレビ シーズンが含まれている場合、
TVSeasonエンティティにはpartOfSeriesプロパティでTVSeriesエンティティも指定する必要があります。TVEpisodeエンティティにはpartOfSeasonプロパティを指定する必要があります。このプロパティは、エピソードのTVSeasonエンティティの@idとseasonNumberを指定します。"partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },TVEpisodeエンティティのフィードに、対応するTVSeasonエンティティが含まれない場合は、次の手順に従って、TVEpisodeエンティティのpartOfSeason.@idプロパティとpartOfSeason.seasonNumberプロパティを指定する必要があります。- その
partofSeries.@idを取得し、プレースホルダ クエリ フィールド(?season1 など)を付加して、一意のpartOfSeason.@idを作成します(例: http://www.example.com/my_favorite_tv_show?season1)。 partOfSeason.seasonNumberを 1 に設定する。
TVSeasonエンティティの既存のpartOfSeason.@idを再利用するか、このプレースホルダpartOfSeason.@idをTVSeasonエンティティの実際の@idに置き換えます。- その
例
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(シーズン 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
My Favorite TV Show(シーズン 7)のエピソード 3
{
"@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":{ … },
...
}
ラジオ
ラジオ プロバイダの場合は、メディア カタログ フィードに RadioBroadcastService エンティティ タイプを追加する必要があります。これらのエンティティの定義については、使用可能なエンティティ タイプについての該当するエンティティ タイプをフィルタして確認できます。
関係の特定
このような統合にはエンティティ タイプが 1 つしかないため、明示的な関係を確立する必要はありませんが、RadioBroadcastService エンティティについて次の情報を収集してください。
description: ラジオ局の説明。broadcastDisplayName: ラジオ局の表示名。areaServed: ラジオ局が利用可能な地域。callSign: 政府が発行したラジオ局の公式コールサイン。北米のラジオ局の場合、このプロパティは必須です。broadcastFrequency: ラジオ局の周波数仕様。- 地上 AM / FM ラジオ局の場合、このプロパティは必須です。
- オンライン ストリーミング専用コンテンツの場合、この値は
INTERNET_STREAMに設定されます。
broadcastAffiliateOf: このラジオ局が番組を提供しているネットワーク。ラジオ局がどの系列にも加盟していない場合、このプロパティは不要です。broadcaster: ラジオ局を所有し、運営している組織。parentService: 親ラジオ局。ラジオ局が別のラジオ局の中継局または変換局である場合、このプロパティは必須です。
例
{
"@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": { … },
…
}
音楽
音楽プロバイダの場合は、メディア カタログ フィードに MusicGroup、MusicAlbum、MusicRecording の各エンティティ タイプを追加する必要があります。これらのエンティティの定義については、使用可能なエンティティ タイプについての該当するエンティティ タイプをフィルタしてご確認ください。
MusicGroup、MusicAlbum、MusicRecording を使用すると、アプリまたはプラットフォームは、シード エンティティのすべてのコンテンツが再生された後、プレイリスト(MusicPlaylist)からより多くのコンテンツを再生できます。次のシナリオを確認してください。
MusicAlbumエンティティには、アルバム XYZ(シード エンティティ)の曲のリストが含まれています。MusicPlaylistエンティティには、アルバム XYZ の曲に似た曲のプレイリストが含まれています。MusicAlbumエンティティには、MusicPlaylistエンティティがエンティティ シード アクションとして含まれています。
この設定では、アルバム XYZ のすべての曲が再生された後、アプリは MusicPlaylist エンティティによって提供されるプレイリストから曲を再生し続けることができます。
エンティティ アクションとエンティティ シード アクション
リスニング アクションは、次の 2 種類のアクションをサポートします。
- エンティティ アクション: 特定のアーティスト、アルバム、または曲(シード エンティティ)を再生します。これには、
MusicGroup、MusicAlbum、MusicRecordingが含まれます。 - エンティティ シード アクション: シード エンティティに似たコンテンツを再生します。
MusicPlaylistが含まれます。- エンティティ アクションを完了すると、アプリまたはプラットフォームはエンティティ シード アクションを開始できます。
- エンティティ シード アクションでは、シード エンティティのコンテンツも再生できます。
すべてのエンティティ アクションにエンティティ シード アクションを含めることをおすすめします。
関係の特定
MusicGroupの場合、エンティティ シード アクションを指定する場合は、そのMusicPlaylistの@idとnameを特定します。MusicAlbumとMusicRecordingの場合は、どのMusicGroupに属しているかを識別する必要があります。MusicGroupの@idとnameを特定します。- エンティティ シード アクションを指定する場合は、その
MusicPlaylistの@idとnameを特定します。
MusicPlaylistの場合:- 該当する場合は、プレイリストのコンテンツを最もよく表す
genreを特定します。 - プレイリストが手動でキュレートされている場合は、
numTracksを特定します。numTracksがない場合は、プレイリストが自動生成される終わりのないプレイリストであることが Google に伝えられます。
- 該当する場合は、プレイリストのコンテンツを最もよく表す
例
MusicGroup
- アーティスト: 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
- アルバム: My Favorite Album
- アーティスト: 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
- 曲: My Favorite Song
- アーティスト: 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
- カスタム プレイリスト: "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":{ … },
...
}
ライブテレビ
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 section by filtering for these types. For a more detailed explanation, you can visit the Live TV Channels page.
Relationships between entities representing Live TV channels
The figure below shows how the Organization, BroadcastService, CableOrSatelliteService, and TelevisionChannel entities are related:
Organization(operator) entity representing the feed provider and also the parent organization ofCableOrSatelliteServiceservice are connected using theproviderproperty on theCableOrSatelliteServiceentity.Organizationentities corresponding to theBroadcastServiceentities are connected using thebroadcastAffiliateOfproperty on theBroadcastServiceentity.TelevisionChannelentities connect with theCableOrSatelliteServiceentity, that represents the lineup they belong to, using theinBroadcastLineupproperty.TelevisionChannelentities connect with theBroadcastServiceentity, whose programming this channel provides, using theprovidesBroadcastServiceproperty.
It is highly recommended to go through the Live TV channels 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.
BroadcastEvententities, representing the programming guide (EPG) of aBroadcastService, are connected with theBroadcastServiceentities using thepublishedOnproperty on theBroadcastEvententity.BroadcastEvententities can also be connected to top levelTVEpisode,TVSeries,Movieentities using theworkPerformedproperty.BroadcastEvententities can also be connected to top levelSportsEvententities using thebroadcastOfEventproperty.- For channel-less events streamed online, the
BroadcastEvententities connect with the entity representing the live event using either theworkPerformedorbroadcastOfEventproperty depending on what is being live streamed. In such cases, thepublishedOnproperty is not required since the connection to a channel is not required.
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 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 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_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 vs 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":"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"
}
]
}
See the Sports examples section for more examples.