Anchor the promise
Each date starts from the declared organizer wall time. UTC is derived from the browser’s current IANA timezone rules.
Turn declared local working hours into an inspectable DST test matrix. Catch missing, repeated, or shifted boundary cases before an invitee does.
Hours are interpreted in the organizer zone exactly as written. Choose a comparison zone to see what an invitee should receive.
Each date starts from the declared organizer wall time. UTC is derived from the browser’s current IANA timezone rules.
The matrix labels the first scheduled window after an offset change, plus local times that repeat or never occur.
Use the CSV or ICS fixture beside a booking page. A mismatch is evidence to investigate, not a claim about a vendor’s internal logic.
When clocks move back, one wall time can map to two real instants. Both are detected and the row is marked “Review”; the ICS fixture chooses the earlier occurrence and says so in its description. When clocks jump forward, a missing wall time is marked invalid and omitted from ICS.