- Print
Intents (core)
- Print
Intents Core Schema 0.15.0
Types
NavigationIntent
A Firebolt compliant representation of a user intention to navigate to a specific place in an app.
type NavigationIntent = HomeIntent | LaunchIntent | EntityIntent | PlaybackIntent | SearchIntent | SectionIntent | TuneIntent
See also:
HomeIntent
LaunchIntent
EntityIntent
PlaybackIntent
SearchIntent
SectionIntent
TuneIntent
HomeIntent
A Firebolt compliant representation of a user intention to navigate an app to it's home screen, and bring that app to the foreground if needed.
type HomeIntent = {
action: "home"
context: {
source: 'voice' | 'channel-lineup' | 'editorial' | 'device'
}
}
LaunchIntent
A Firebolt compliant representation of a user intention to launch an app.
type LaunchIntent = {
action: "launch"
context: {
source: 'voice' | 'channel-lineup' | 'editorial' | 'device'
}
}
EntityIntent
A Firebolt compliant representation of a user intention to navigate an app to a specific entity page, and bring that app to the foreground if needed.
type EntityIntent = {
action: "entity"
data: MovieEntity | TVEpisodeEntity | TVSeriesEntity | TVSeasonEntity | AdditionalEntity | UntypedEntity
context: {
source: 'voice' | 'channel-lineup' | 'editorial' | 'device'
}
}
See also:
MovieEntity
TVEpisodeEntity
TVSeriesEntity
TVSeasonEntity
AdditionalEntity
UntypedEntity
PlaybackIntent
A Firebolt compliant representation of a user intention to navigate an app to a the video player for a specific, playable entity, and bring that app to the foreground if needed.
type PlaybackIntent = {
action: "playback"
data: MovieEntity | TVEpisodeEntity | AdditionalEntity
context: {
source: 'voice' | 'channel-lineup' | 'editorial' | 'device'
}
}
See also:
MovieEntity
TVEpisodeEntity
AdditionalEntity
SearchIntent
A Firebolt compliant representation of a user intention to navigate an app to it's search UI with a search term populated, and bring that app to the foreground if needed.
type SearchIntent = {
action: "search"
data?: {
query: string
}
context: {
source: 'voice' | 'channel-lineup' | 'editorial' | 'device'
}
}
SectionIntent
A Firebolt compliant representation of a user intention to navigate an app to a section not covered by home
, entity
, player
, or search
, and bring that app to the foreground if needed.
type SectionIntent = {
action: "section"
data?: {
sectionName: string
}
context: {
source: 'voice' | 'channel-lineup' | 'editorial' | 'device'
}
}
TuneIntent
A Firebolt compliant representation of a user intention to 'tune' to a traditional over-the-air broadcast, or an OTT Stream from an OTT or vMVPD App.
type TuneIntent = {
action: "tune"
data: {
entity: ChannelEntity
options?: {
assetId?: string // The ID of a specific 'listing', as scoped by the target App's ID-space, which the App should begin playback from.
restartCurrentProgram?: boolean // Denotes that the App should start playback at the most recent program boundary, rather than 'live.'
time?: string // ISO 8601 Date/Time where the App should begin playback from.
}
}
context: {
source: 'voice' | 'channel-lineup' | 'editorial' | 'device'
}
}
See also:
Intent
A Firebolt compliant representation of a user intention.
type Intent = {
action: string
context: {
source: 'voice' | 'channel-lineup' | 'editorial' | 'device'
}
}
IntentProperties
type IntentProperties = {
action: any
data: any
context: any
}
MovieEntity
type MovieEntity = {
entityType: "program"
programType: "movie"
entityId: string
assetId?: string
appContentData?: string
}
See also:
TVEpisodeEntity
type TVEpisodeEntity = {
entityType: "program"
programType: "episode"
entityId: string
seriesId: string
seasonId: string
assetId?: string
appContentData?: string
}
See also:
TVSeriesEntity
type TVSeriesEntity = {
entityType: "program"
programType: "series"
entityId: string
assetId?: string
appContentData?: string
}
See also:
TVSeasonEntity
A Firebolt compliant representation of a TV Season entity.
type TVSeasonEntity = {
entityType: "program"
programType: "season"
entityId: string
seriesId: string
assetId?: string
appContentData?: string
}
See also:
AdditionalEntity
type AdditionalEntity = {
entityType: "program"
programType: ProgramType // In the case of a program `entityType`, specifies the program type.
entityId: string
assetId?: string
appContentData?: string
}
See also:
UntypedEntity
type UntypedEntity = {
entityId: string
assetId?: string
appContentData?: string
}
ChannelEntity
type ChannelEntity = {
entityType: "channel"
channelType: 'streaming' | 'overTheAir'
entityId: string // ID of the channel, in the target App's scope.
appContentData?: string
}
ProgramEntity
type ProgramEntity = {
entityType: "program"
programType: ProgramType // In the case of a program `entityType`, specifies the program type.
entityId: string
}
See also:
'movie' | 'episode' | 'season' | 'series' | 'other' | 'preview' | 'extra' | 'concert' | 'sportingEvent' | 'advertisement' | 'musicVideo' | 'minisode'
Identifier
type Identifier = string