Skip to main content

NormalizedShow

Station-normalized data for a show.

The Local Streaming data model has three types repsenting a show:

  • PbsShow: Base type, read-only and synced from PBS Media Manager,
  • Show: Global show metadata overriding PbsShow metadata for all stations, and
  • StationShow: Station show metadata overriding Show and PbsShow 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]
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 signifgy 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 signifgy 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

DEPRECATED

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 signifgy a show "receny".

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.runtime ● Int scalar references

Tital runtime of all full length content belonging to the show (for movies).

NormalizedShow.seasonPremiereMode ● Boolean scalar references

Whether the show has been marlked 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