Defines a scheduling period as a date range with optional filters.
The dateRange specifies the overall scheduling window. Use dayOfWeek
and/or dates to narrow which days within the range are included.
Filters compose: a day must pass all specified filters to be included.
Examples
const period : SchedulingPeriod = {
dateRange: { start: '2025-02-03' , end: '2025-02-09' },
};
const period : SchedulingPeriod = {
dateRange: { start: '2025-02-03' , end: '2025-02-09' },
dayOfWeek: [ 'wednesday' , 'thursday' , 'friday' , 'saturday' , 'sunday' ],
};
const period : SchedulingPeriod = {
dateRange: { start: '2025-02-03' , end: '2025-02-09' },
dates: [ '2025-02-05' , '2025-02-07' ],
};
Properties
The overall scheduling window (start and end are inclusive).
Dates should be in YYYY-MM-DD format. end
${number}-${number}-${number}
required
start
${number}-${number}-${number}
required
dates
dates?: ${number}-${number}-${number}[]
Include only these specific dates (YYYY-MM-DD) within the range.
If omitted, all dates in the range are included (subject to dayOfWeek filter).
dayOfWeek
dayOfWeek?: readonly DayOfWeek[]
Include only these days of the week.
If omitted, all days of the week are included.