NormalizedShow
Station-normalized data for a show.
The Local Public data model has three types representing a show:
PbsShow
: Base type, read-only and synced from PBS Media Manager,Show
: Global show metadata overridingPbsShow
metadata for all stations, andStationShow
: Station show metadata overridingShow
andPbsShow
metadata for individual stations.
The NormalizedShow
is a combination of all three types for a specific station and country.
type NormalizedShow {
contentRating: ContentRating
createdAt: DateTime
creators: [NormalizedShowCreator]
descriptionLong: String
descriptionShort: String
earliestFullLengthContentAvailableAt: DateTime
expiresAt: DateTime
featuredPublicVideo: NormalizedVideo
featuredVideo(
viewerId: String
): NormalizedVideo
for: NormalizedShowFor
funderMessage(
stripHtml: Boolean
): String
genre: NormalizedShowGenreVibe
genreVibes: [NormalizedShowGenreVibe]
hasAvailableFullLengthContent: Boolean
hasFullLengthContentAvailable: Boolean @deprecated
hasSubtitles: Boolean
id: String
image(
profile: String!
): ImageWithProfile
images: [ImageWithProfile]
isAvailable: Boolean
isLocal: Boolean
isNotAvailableReason: String
language: String
languageName: String
latestFullLengthContentAvailableAt: DateTime
localOriginal: Boolean
passportLevel: ShowPassportLevel
productionLocale: String
productionLocaleFlag(
formats: [CountryFlagFormat!]!
sizes: [CountryFlagSize!]!
): [CountryFlag]
productionLocaleFlagTemplate: String
runtime: Int
seasonPremiereMode: Boolean
seasons(
sortOrder: Order
): [NormalizedShowSeason]
showType: ShowType
slug: String
sort: EpisodesSortOrder
title: String
trailer: NormalizedVideo
tvScheduleIds: [String]
upNextDuration: Int
upNextStart: Int
updatedAt: DateTime
videoTotals: NormalizedShowVideoTotals
}
Fields
NormalizedShow.contentRating
● ContentRating
enum references
NormalizedShow.createdAt
● DateTime
scalar references
NormalizedShow.creators
● [NormalizedShowCreator]
list object references
Show creators metadata
**Not yet implemented!**
NormalizedShow.descriptionLong
● String
scalar references
NormalizedShow.descriptionShort
● String
scalar references
NormalizedShow.earliestFullLengthContentAvailableAt
● DateTime
scalar references
Earliest availability start date of a full length video belonging to this show.
This data is used to signify a show "start date".
Does _not_ account for country availability.
NormalizedShow.expiresAt
● DateTime
scalar references
Latest availability end date of a full length video belonging to this show.
This data is used to signify a show "expire date".
Does _not_ account for country availability.
NormalizedShow.featuredPublicVideo
● NormalizedVideo
object references
Featured public video.
This video may be set by an admin user or calculated based on NormalizedShow.sort
.
Video will always been public available.
NormalizedShow.featuredVideo
● NormalizedVideo
object references
Featured video.
This video may be set by an admin user or calculated based on NormalizedShow.sort
.
Video may or may not be public available.
NormalizedShow.featuredVideo.viewerId
● String
scalar references
NormalizedShow.for
● NormalizedShowFor
object references
Provides context of what station, country, and source this show is normalized for.
NormalizedShow.funderMessage
● String
scalar references
Funder message from source content (if set).
**Cannot be modified.**
NormalizedShow.funderMessage.stripHtml
● Boolean
scalar references
NormalizedShow.genre
● NormalizedShowGenreVibe
object references
"Primary" genre from source content (if set).
**Cannot be modified.**
NormalizedShow.genreVibes
● [NormalizedShowGenreVibe]
list object references
Calculated GenreVibes values from all three show levels, including station level exclusions.
NormalizedShow.hasAvailableFullLengthContent
● Boolean
scalar references
Whether the show currently has any full length content available.
NormalizedShow.hasFullLengthContentAvailable
● Boolean
deprecated scalar references
Replaced by hasAvailableFullLengthContent
Whether the show currently has any full length content available.
NormalizedShow.hasSubtitles
● Boolean
scalar references
NormalizedShow.id
● String
scalar references
NormalizedShow.image
● ImageWithProfile
object references
Single, transformable image from raw \NormalizedShow.images\\
for the provided profile name.
NormalizedShow.image.profile
● String!
non-null scalar references
NormalizedShow.images
● [ImageWithProfile]
list object references
Show images data from all three show levels.
NormalizedShow.isAvailable
● Boolean
scalar references
Whether the show is available now.
See: NormalizedShow.isNotAvailableReason
NormalizedShow.isLocal
● Boolean
scalar references
Whether the show is considered local to the station (based on source metadata).
**Cannot be modified.**
NormalizedShow.isNotAvailableReason
● String
scalar references
Reason the show is not available (if it is not available).
See: NormalizedShow.isAvailable
NormalizedShow.language
● String
scalar references
ISO-639-1 language code of the show primary language.
NormalizedShow.languageName
● String
scalar references
Full name of the show primary language.
NormalizedShow.latestFullLengthContentAvailableAt
● DateTime
scalar references
Latest availability start date of a full length video belonging to this show.
This data is used to signify a show "recency".
Does _not_ account for country availability.
NormalizedShow.localOriginal
● Boolean
scalar references
Whether the show has been marked as "Local" at the StationShow
level.
NormalizedShow.passportLevel
● ShowPassportLevel
enum references
Calculated show "Passport level" based on PBS Passport restrictions for show videos.
NormalizedShow.productionLocale
● String
scalar references
ISO 3166-1 alpha-2 country code of primary production country.
NormalizedShow.productionLocaleFlag
● [CountryFlag]
list object references
Country flag representing the production locale.
Results will include all combinations of requested formats and sizes.
Example:
query NormalizedShow {
normalizedShow(
id: "403a792e-3890-43ac-9325-c731c62049ae"
stationId: "93c39d90-e15f-4cf3-b719-f22296eb853a"
) {
productionLocale
productionLocaleFlag(formats: [SVG, PNG, JPG, WEBP], sizes: [H20, W20]) {
countryCode
format
size
url
}
}
}
{
"data": {
"normalizedShow": {
"productionLocale": "GB",
"productionLocaleFlag": [
{
"countryCode": "GB",
"format": "SVG",
"size": null,
"url": "https://flagcdn.com/gb.svg"
},
{
"countryCode": "GB",
"format": "PNG",
"size": "H20",
"url": "https://flagcdn.com/h20/gb.png"
},
{
"countryCode": "GB",
"format": "PNG",
"size": "W20",
"url": "https://flagcdn.com/w20/gb.png"
},
{
"countryCode": "GB",
"format": "JPG",
"size": "H20",
"url": "https://flagcdn.com/h20/gb.jpg"
},
{
"countryCode": "GB",
"format": "JPG",
"size": "W20",
"url": "https://flagcdn.com/w20/gb.jpg"
},
{
"countryCode": "GB",
"format": "WEBP",
"size": "H20",
"url": "https://flagcdn.com/h20/gb.webp"
},
{
"countryCode": "GB",
"format": "WEBP",
"size": "W20",
"url": "https://flagcdn.com/w20/gb.webp"
}
]
}
},
"extensions": {}
}
_Flag image API by Flagpedia.net._
NormalizedShow.productionLocaleFlag.formats
● [CountryFlagFormat!]!
non-null enum references
All formats to generated flag URLs for.
NormalizedShow.productionLocaleFlag.sizes
● [CountryFlagSize!]!
non-null enum references
All sizes to generated flag URLs for.
NormalizedShow.productionLocaleFlagTemplate
● String
scalar references
RFC 6570 compliant URL template for an image of the flag of the production locale country.
See Flagpedia CDN API documentation for available size
and format
values.
NormalizedShow.runtime
● Int
scalar references
Title runtime of all full length content belonging to the show (for movies).
NormalizedShow.seasonPremiereMode
● Boolean
scalar references
Whether the show has been marked as being in "season premiere mode" by an admin.
NormalizedShow.seasons
● [NormalizedShowSeason]
list object references
Seasons information for all available videos belonging to the show.
NormalizedShow.seasons.sortOrder
● Order
enum references
NormalizedShow.showType
● ShowType
enum references
NormalizedShow.slug
● String
scalar references
NormalizedShow.sort
● EpisodesSortOrder
enum references
Sort order for show videos.
NormalizedShow.title
● String
scalar references
NormalizedShow.trailer
● NormalizedVideo
object references
Trailer video for the show.
NormalizedShow.tvScheduleIds
● [String]
list scalar references
Combined list of known TV Schedule IDs that have been used for the show.
**Customization not yet implemented at Show
or StationShow
!**
NormalizedShow.upNextDuration
● Int
scalar references
Number of seconds to display an "up next" prompt for show videos.
NormalizedShow.upNextStart
● Int
scalar references
Number of seconds before the end of a video to begin displaying an "up next" prompt for show videos.
NormalizedShow.updatedAt
● DateTime
scalar references
NormalizedShow.videoTotals
● NormalizedShowVideoTotals
object references
Aggregate video metadata for all currently available show videos.
Returned By
normalizedShow
query ● normalizedShows
query ● searchShows
query ● similarShows
query ● trendingShows
query
Member Of
Hero
object ● HomeScreenHero
object ● Like
object ● LivestreamScheduleItem
object ● MyList
object ● NormalizedCollectionItem
object ● NormalizedPromo
object ● NormalizedShowSearchResults
object ● NormalizedVideo
object ● RecommendedShows
object ● ScheduleItem
object ● WatchHistory
object