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 Integrations feature.

Runtime data object


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:

Timer object

Corresponding to the visibility of messages to the stage timer view.

timer: {
text: string
visible: boolean
blink: boolean
blackout: boolean

Message object

Corresponding to visibility of external messages (also displayed in the stage timer view).

external: {
text: string
visible: boolean


Contains data related to the application runtime.

numEvents: number // number of non-skipped events in rundown
selectedEventIndex: number | null // index of selected event
offset: number | null // difference between current runtime and schedule
plannedStart: number // schedule planned start time
plannedEnd: number | null // schedule planned end time
actualStart: number | null // actual start time of rundown
expectedEnd: number | null // time for expected end


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