Skip to content

Runtime data

Ontime broadcasts its state over WebSockets.
This allows for integrations to sync to the state of the application.

See below a full definition of the data that Ontime holds.
This data should be used in conjunction with the Automation feature.

Contains the server wall clock time.

{
clock: number
}

Contains data related to the application timer

{
addedTime: number // time added / removed by user
current: number | null // running countdown
duration: null // duration of loaded event
elapsed: null // elapsed time in current timer
playback: 'play' | 'pause' | 'armed' | 'stop' | 'roll' // playback state
startedAt: number | null // time when current timer was started
expectedFinish: number | null // time when current timer is expected to finish
finishedAt: number | null // time when current timer reached 0
}

Data related to message feature. It contains two message objects: Corresponding to the visibility of messages to the stage timer view. and secondary messages (also displayed in the stage timer view).

timer: {
text: string
visible: boolean
blink: boolean
blackout: boolean
secondarySource: 'aux1' | 'aux2' | 'aux3' | 'secondary' | null
}
secondary: string

Contains data related to the application rundown.

{
numEvents: number // number of events in rundown
selectedEventIndex: number | null // index of selected event
plannedStart: number // schedule start time
plannedEnd: number | null // schedule end time
actualStart: number | null // actual start time of rundown
currentDay: number | null // internally used to calculate day offsets
actualGroupStart: number | null // actual start time of the current group
offset: number | null // difference between current runtime and schedule
expectedEnd: number | null // time for expected end
}

Contains data related to the application offset.

{
absolute: number // accounts for planned times
relative: number // only counts for generated offset since start
mode: 'absolute' | 'relative' // currently selected offset mode
expectedGroupEnd: number | null // expected end time of the current group
expectedRundownEnd: number | null // expected end time of the rundown
expectedFlagStart: number | null // expected start time of the next flagged event
}

Contains data related to the auxiliary timer.

{
duration: number // total duration of auxiliary timer
current: number // current value
playback: 'play' | 'pause' | 'stop' // playback state
direction: 'count-down' | 'count-up' // counting direction
}