StationItemState
Where an item of the running order has got to.
handedis a promise andairingis a fact, which is the distinction everything here is built around. The three terminal states that are notplayedare three different facts on a page that has to say why the station is silent:skippedis the station passing over an item it reached,removedis an operator taking one out before its turn, andunavailableis a record the station could not obtain the audio for — the only one of the three an operator can act on, since it names a copy rather than a decision
type StationItemState = 'planned' | 'handed' | 'airing' | 'played' | 'skipped' | 'unavailable' | 'removed';