Intents


Version Intents 0.0.0-unknown.0

Table of Contents

Overview

undefined

Types

Intent

A Firebolt compliant representation of a user intention.

type Intent = {
  action: string
  context: {
    source: string
  }
}

IntentProperties

type IntentProperties = {
  action: any
  data: any
  context: any
}

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

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: string
  }
}

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: string
  }
}

ChannelEntity

type ChannelEntity = {
  entityType: "channel"
  channelType: 'streaming' | 'overTheAir'
  entityId: string                         // ID of the channel, in the target App's scope.
  appContentData?: string
}

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:

ProgramEntity


PlayQueryIntent

A Firebolt compliant representation of a user intention to navigate an app to a the video player for an abstract query to be searched for and played by the app.

type PlayQueryIntent = {
  action: "play-query"
  data: {
    query: string
    options?: {
      programTypes?: ProgramType[]
      musicTypes?: MusicType[]
    }
  }
  context: {
    source: string
  }
}

See also:

‘movie’ ‘episode’ ‘season’ ‘series’ ‘other’ ‘preview’ ‘extra’ ‘concert’ ‘sportingEvent’ ‘advertisement’ ‘musicVideo’ ‘minisode’
‘song’ ‘album’                    

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: string
  }
}

LaunchIntent

A Firebolt compliant representation of a user intention to launch an app.

type LaunchIntent = {
  action: "launch"
  context: {
    source: string
  }
}

TVSeriesEntity

type TVSeriesEntity = {
  entityType: "program"
  programType: "series"
  entityId: string
  assetId?: string
  appContentData?: string
}

See also:

ProgramEntity


MovieEntity

type MovieEntity = {
  entityType: "program"
  programType: "movie"
  entityId: string
  assetId?: string
  appContentData?: string
}

See also:

ProgramEntity


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:

ProgramEntity


UntypedEntity

type UntypedEntity = {
  entityId: string
  assetId?: string
  appContentData?: string
}

TVEpisodeEntity

type TVEpisodeEntity = {
  entityType: "program"
  programType: "episode"
  entityId: string
  seriesId: string
  seasonId: string
  assetId?: string
  appContentData?: string
}

See also:

ProgramEntity


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: string
  }
}

See also:

MovieEntity TVEpisodeEntity TVSeriesEntity TVSeasonEntity AdditionalEntity UntypedEntity


PlaylistEntity

A Firebolt compliant representation of a Playlist entity.

type PlaylistEntity = {
  entityType: "playlist"
  entityId: string
  assetId?: string
  appContentData?: string
}

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: string
  }
}

See also:

ChannelEntity


PlayableEntity

type PlayableEntity = MovieEntity | TVEpisodeEntity | PlaylistEntity | AdditionalEntity

See also:

MovieEntity TVEpisodeEntity PlaylistEntity AdditionalEntity


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: PlayableEntity
  context: {
    source: string
  }
}

See also:

MovieEntity TVEpisodeEntity PlaylistEntity AdditionalEntity

PlayEntityIntent

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 PlayEntityIntent = {
  action: "play-entity"
  data: {
    entity: PlayableEntity
    options?: {
      playFirstId?: string
      playFirstTrack?: number
    }
  }
  context: {
    source: string
  }
}

See also:

MovieEntity TVEpisodeEntity PlaylistEntity AdditionalEntity

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 | PlayEntityIntent | PlayQueryIntent

See also:

HomeIntent LaunchIntent EntityIntent PlaybackIntent SearchIntent SectionIntent TuneIntent PlayEntityIntent PlayQueryIntent