Decision records · Value formats
D-004 How is a daypart time window written, with its days and its start and end times?
What the schemas do
{ days[], start, end }, where days[] holds lowercase English day names. start and end are HH:MM civil times from 00:00 to 24:00. end is exclusive and later than start, so only end can be 24:00.
Options
Why
The specification says only "time windows". No IAB Tech Lab standard defines a window, so the window takes its shape from the ad server convention, Google Ad Manager's day part: the days of the week, and a start and an end time of day, where the end is exclusive and may be the end of the day. A time of day is one value, HH:MM, as the daypart request in the comment period writes it, and as the open PR that adds the window shape states it; an { hour, minute } object names two types where one concept has one. A pattern states the whole range, 00:00 to 24:00, and the schema states that only end can be 24:00, so a validator needs no rule for either. Two HH:MM values compare in time order as strings, so "end is later than start" is one comparison. Numbered days disagree on where the week starts (Meta counts from Sunday, and OpenDirect 2.1 doesn't say), while names can't be misread. Day names are lowercase, like the specification's other terms, and the week runs from Monday to Sunday, as ISO 8601 orders it. A window holds no time zone: the line item's clock reads every window (D-038).
What we ask the specification to state
Define a daypart time window as { days[], start, end }. Days are lowercase English names from monday to sunday. start and end are HH:MM civil times, where end is exclusive, later than start, and MAY be 24:00. A window that crosses midnight is two windows.
The specification lines it rests on
Each line is quoted as the record pins it. Expand an item to read the quote.
main
§ 5.5, the
daypartrow L260 at 44dfaafdaypart| Object | settable |allowed[]of time windows
What it shapes
main: DayName, DaypartWindow, TimeOfDay, LineItem.daypart