Expand description
Daycare recurring-attendance materialization for predictable front-desk work queues.
use chrono::{NaiveDate, Weekday};
use domain::daycare;
let recurrence = daycare::attendance::Recurrence::new(
daycare::attendance::DateRange::new(
NaiveDate::from_ymd_opt(2026, 6, 15).unwrap(),
NaiveDate::from_ymd_opt(2026, 6, 19).unwrap(),
)
.unwrap(),
daycare::attendance::Days::try_new(vec![Weekday::Mon, Weekday::Wed, Weekday::Fri]).unwrap(),
);
let visits = daycare::attendance::Materializer.materialize(&recurrence, &[
NaiveDate::from_ymd_opt(2026, 6, 17).unwrap(),
]);
assert_eq!(visits.len(), 2);Structs§
- Date
Range - Inclusive date range for recurring daycare attendance materialization.
- Days
- Weekdays on which a recurring daycare package or reservation should materialize visits.
- Materializer
- Service that expands recurrence rules into concrete daycare visit dates.
- Recurrence
- Recurring daycare attendance rule used to pre-build front-desk work queues.
Enums§
- Date
Range Error - Validation errors for recurring daycare attendance date ranges.
- Days
Error - Validation errors for recurring daycare attendance weekdays.