Repository navigation
§ 5.5 — Daypart clock: a line-item time zone and the window shape (#111) - #123
KonstantinMirin wants to merge 2 commits into
Conversation
time_zone is the line item's clock for daypart windows and
frequency_cap.period: an IANA time zone name or viewer_local. A window
is { days[], start, end } in civil time with an exclusive end later
than start, up to 24:00; a window that crosses midnight is two windows.
List the `days[]` values once in the `daypart` row, as `monday` | ... | `sunday`. Write HH:MM, America/New_York, and UTC as plain text, since they're a format and examples, not field names. The meaning is unchanged.
|
Postindustria (IAB Tech Lab member). The IANA zone names in this PR could give IAB specifications one form for time zones. Earlier specifications have no shared form:
LEAP's and Deal Sync's timestamps each name one instant, so they suit a flight's start and end (@VJAlkimi's UTC rule (#37), our reply on flight dates (#127)). A daypart repeats across daylight-saving changes, so UTC or a fixed offset can't state it. A zone name can. OpenDirect's OOH values map directly: Analyzed and generated with the help of Claude, fully reviewed by me. |
|
Postindustria (IAB Tech Lab member). Our buyer writes PR carries this PR's text:
It also adds what this PR left to our reply on #58: We'll close this PR once the task force reviews that one. Analyzed and generated with the help of Claude, fully reviewed by me. |
What this changes
A daypart now has a clock and a shape.
time_zone(§ 5.5),seller-set, is an IANA time zone name orviewer_local(where the ad renders). It is the clock fordaypartandfrequency_cap.period, REQUIRED with either. Adaypartwindow is{ days[], start, end }: days from Monday to Sunday, HH:MM civil time, and an exclusiveendlater thanstart, up to24:00. A window that crosses midnight is two windows. A skipped daylight-saving hour matches no instant, and a repeated hour matches both.frequency_cap.periodis a calendar period intime_zone; weeks start on Monday.Ad servers disagree on whose clock applies. Google Ad Manager
DayPartTargetingdefaults to the viewer, Campaign Manager 360DayPartTargetingto New York, and Display & Video 360 has no default. So06:00–10:00on a national line item means different hours on each platform. UTC or a fixed offset drifts an hour at each daylight-saving change; a zone name doesn't.Related issue
Refs #111, from @dineshbhat, and #58, from @dtbarne. The text is § 5.5 as proposed in our reply on typed geo codes (#58) and its supporting material, clock and window only. Device types, geo, containment, exclusion, and
frequency_cap.basisstay with #58, the device half of #111, and PR #72.Our reply on #111 explains two differences:
tz_basisandtzon each window. Heretime_zoneis set once, becausefrequency_cap.periodneeds the daypart's clock.endearlier thanstart. Hereendis later, as in Google Ad ManagerDayPartand Google AdsAdScheduleInfo, so a validator catches swapped times.@dineshbhat, does one clock per line item work for your planning use?
Type
Checklist
time_zoneseller-set;scripts/check_appendix.pypassesseller-set29 → 30; 71 → 72 fieldsexamples/is updated and still parses — display gainstime_zone: "America/New_York", CTV and audioviewer_localtime_zoneis per line itemselectabledeclaresavailable[]andincluded[]; anythingsettabledeclares bounds (§ 3.1, § 3.2) —daypartkeepsallowed[]Knock-on effects
frequency_cap.periodand needtime_zone: viewer_local.For the working group
Open on #58, its supporting material, and #111:
time_zonetake only an IANA name orviewer_local, or also aninventory_localtoken, or besettableso the buyer picks the clock? ([Change] § 5.5 — Typed geo codes aligned with the OpenRTB 2.6 Geo object #58 reply, question 1)periodcount calendar periods, as OpenDirect 2.1Line.frequencyintervaldoes, or rolling windows? ([Change] § 5.5 — Typed geo codes aligned with the OpenRTB 2.6 Geo object #58 reply, question 2)startandendare civil times outside its UTC rule, or should § 5.5 Targeting envelope alone carry that exception? (supporting material, question 5)By opening this pull request I agree my contribution may be published under this
repository's licence, as set out in CONTRIBUTING.md.
Revised 2026-10-26: The
daypartrow lists the day names once, as one value list. HH:MM and UTC are plain text, since they are a format and an example. The meaning is unchanged.Analyzed and generated with the help of Claude, fully reviewed by me.