Publishers may want to include a time component in a Placement - either a start date that the Placement should not be considered valid until, or an end date where the placement should no longer be considered valid.
They can do this by including a startTime or endTime parameter in the placement call, encoded in a TimeRange struct. This data will be placed on the blockchain, and placeOf queries will not include placements if the current block is not within the specified time range. Note that, as the GSR only supports a single placement per owner per asset (to facilitate easy lookups), it is not possible to use this to encode multiple future placements (as with a traveling show).
Each placement also records its placement time (from block.timestamp), and exposes this in events and in the GSR data, for time-based views of GSR data. Dapps can then show how a single piece moved over time.