ChildCare Schedules Support
ChildCare Schedules is an offline childcare staff scheduling app. It creates schedules locally on your device and does not require a network connection for scheduling.
Help documents
Review before use
Generated schedules are decision-support tools and should be reviewed before use. Confirm staffing levels, qualifications, availability, regulatory requirements, workplace rules, and other operational constraints before putting a schedule into practice.
Contact
For help, questions, or bug reports, contact:
When reporting an issue, please include:
- App version
- Device model
- iOS version
- A short description of what you were trying to schedule
- Whether the schedule involved more than 100 staff/workers or covered breaks, lunch, prep, or other off-floor duties
Please do not send confidential staff, child, or workplace information unless necessary.
Generated mapping templates
The app includes buttons such as Generate room → group map, Generate staff → home room map, and Generate eligibility from home rooms. These buttons are typing aids only. They create starter templates from the current roster, classroom list, group names, and preferred-room assumptions.
Before running a real schedule, users should review and correct these generated mappings so they match the actual center: each classroom's age/eligibility group, each staff member's home room if home rooms are used, and each staff member's real allowed groups or certifications. The default sample keeps Pre-K and School Age as separate groups because many centers staff and approve those rooms differently.
Local scheduling and device limits
ChildCare Schedules runs locally on your device. The app does not send schedule data to a server.
Most normal childcare schedules are phone-scale. Recent phone tests show that schedules around 70 teachers across 20 classrooms can complete in minutes. In one covered-duty test without floaters, the schedule completed in about 106 seconds. With floaters and more coverage choices enabled, similar-sized runs can take around 7 minutes.
Close-to-100 staff schedules may take significantly longer, especially with covered breaks, lunch, prep, floaters, or other off-class time. The reason is combinatorial: the exact-cover search space grows exponentially as more staff, rooms, time slots, coverage choices, and cover obligations are combined. Very large covered-duty runs can consume too much memory. On iPhone, iOS may stop a heavy local run because of memory pressure or thermal protection. This is a device resource limit, not a scheduling-rule failure or a failure of the Rocq soundness proof.
Formal verification note
In this project, “verified” means that the scheduling core has been formally proven using the Rocq Prover, an interactive theorem prover / proof assistant. This is not a claim that the app was merely tested on examples.
For bounded runs, the Rocq proof establishes soundness of returned schedules: when the solver returns a schedule, the selected assignments satisfy the encoded exact-cover rules for that run.
The app does not claim completeness for every bounded run. Because practical search fuel and limits are used, “no schedule found” may mean no schedule was found within the configured bounds, not necessarily that no schedule exists mathematically.
Technical overview for integration partners
The scheduling problem is encoded as an exact-cover problem. Required coverage cells, such as classroom/time-period assignments, are modeled as primary constraints that must be covered exactly. Candidate assignments, such as a particular staff member covering a particular room or duty, become rows. Optional compatibility rules, availability, home-room preferences, floater cover, and off-floor duties are encoded as additional constraints and row metadata.
The Rocq-proven core searches for a set of rows that covers the required constraints without conflicts. This formulation is useful for childcare software platforms because the verified scheduling engine can sit behind an existing product UI: the platform can collect rosters, classroom demand, attendance, staff availability, and policy settings, then pass a normalized scheduling problem to the engine and receive a schedule that is sound with respect to the encoded rules.
The formal Rocq proof is a soundness guarantee: when the engine returns a schedule, the selected assignments satisfy the encoded exact-cover constraints. The app intentionally uses bounded search for practical on-device operation, so it does not claim that every “no schedule found” result proves global mathematical impossibility. The proof work is implemented in Rocq; learn more at rocq-prover.org.
Data export
Schedules and profiles stay on your device unless you choose to export or share them using iOS sharing features.
Privacy
Read the ChildCare Schedules Privacy Policy.