← API reference
CANONICAL TYPE REFERENCE

WorkCenterTwinEvent

One recorded state transition of a work centre's twin: on the SHADOW track per operation or for the work centre as a whole (operationId null), on the PACE track always for the work centre as a whole. Append-only: superseded rows stay as history

The transition's identifier

The work centre

The operation the transition is about; null for the work centre's aggregate state

The published scenario the operation was started from; null without one

The operation's phase at the transition; null for the aggregate

The state before; null for the first transition

The state entered

Phase start plus the profile cell's P50 at the transition; null when uncalibrated or aggregate

Phase start plus the profile cell's P90 at the transition; null when uncalibrated or aggregate

The planned end from the execution allocation; null without a plan

The pace-projected end at the transition; null without counts

Minutes into the phase at the transition; 0 for the aggregate

Catch-up confidence at the transition; null without a plan

SHADOW: how many declared attributes the profile cell matched, 0 for the aggregate; PACE: the number of days in the pace series the judgement saw

When the transition was judged

The node that recorded it

When a later transition replaced this one as the current row; null while current

Which judgement this transition belongs to: SHADOW (the live shadow of running work) or PACE (the pace-drift track judged after each profile refresh)

PACE: the drift ratio the judgement saw; null on SHADOW rows

View exact SDL
"""
One recorded state transition of a work centre's twin: on the SHADOW track per operation or for the work centre as a whole (operationId null), on the PACE track always for the work centre as a whole. Append-only: superseded rows stay as history
"""
type WorkCenterTwinEvent {
  """The transition's identifier"""
  id: WorkCenterTwinEventID!
  """The work centre"""
  workCenterId: WorkCenterID!
  """
  The operation the transition is about; null for the work centre's aggregate state
  """
  operationId: OperationID
  """
  The published scenario the operation was started from; null without one
  """
  scenarioId: ScheduleScenarioID
  """The operation's phase at the transition; null for the aggregate"""
  phase: ProgressPhase
  """The state before; null for the first transition"""
  fromState: WorkCenterTwinState
  """The state entered"""
  toState: WorkCenterTwinState!
  """
  Phase start plus the profile cell's P50 at the transition; null when uncalibrated or aggregate
  """
  expectedEndP50At: ISO8601
  """
  Phase start plus the profile cell's P90 at the transition; null when uncalibrated or aggregate
  """
  expectedEndP90At: ISO8601
  """The planned end from the execution allocation; null without a plan"""
  plannedEndAt: ISO8601
  """The pace-projected end at the transition; null without counts"""
  projectedEndAt: ISO8601
  """Minutes into the phase at the transition; 0 for the aggregate"""
  elapsedMinutes: Float!
  """Catch-up confidence at the transition; null without a plan"""
  catchUpConfidence: Float
  """
  SHADOW: how many declared attributes the profile cell matched, 0 for the aggregate; PACE: the number of days in the pace series the judgement saw
  """
  evidenceDepth: Int!
  """When the transition was judged"""
  occurredAt: ISO8601!
  """The node that recorded it"""
  evaluatedBy: String!
  """
  When a later transition replaced this one as the current row; null while current
  """
  supersededAt: ISO8601
  """
  Which judgement this transition belongs to: SHADOW (the live shadow of running work) or PACE (the pace-drift track judged after each profile refresh)
  """
  track: WorkCenterTwinTrack!
  """PACE: the drift ratio the judgement saw; null on SHADOW rows"""
  paceDriftRatio: Float
}

One stable address across all schema views. Follow a field’s type to explore connections between domains.