Skip to main content

Calendar & Schedule Data Format Requirements

This guide covers the CSV files used to provide Edia with your district's instructional calendar and bell schedule data, enabling accurate attendance processing, schedule variation handling, and support for map views and daily attendance validation.

Need-to-Know

Districts provide calendar and schedule information as structured CSV files. You will need up to four files depending on your setup:

  1. school_calendars.csv — Defines each school calendar

  2. schedules.csv — Defines the daily schedule types used throughout the year

  3. periods.csv — Defines the periods within each schedule

  4. days.csv — Maps each calendar date to the schedule in use that day

These files only need to be uploaded at setup or when calendar/schedule changes occur.


File 1: School Calendars

Filename: school_calendars.csv

One row per school calendar. This file identifies each calendar and connects it to the correct school in your OneRoster data.

Column

Description

calendar_id

Unique identifier for the calendar

school_id

Must match the OneRoster school/org identifier

school_year

School year (e.g., 2024–2025)


File 2: Schedules

Filename: schedules.csv

Defines the daily schedule types used by the school or district throughout the year (e.g., regular days, early release days, A/B block schedules).

Column

Description

schedule_id

Unique identifier for the schedule

name

Optional but helpful label (e.g., "Regular Day", "Early Release")

grades

Space-separated grade levels that use this schedule (e.g., "9 10 11 12")


File 3: Periods

Filename: periods.csv

Defines the individual periods or blocks within each schedule. Each period links back to its parent schedule.

Column

Description

period_id

Unique identifier for the period

schedule_id

Must match the schedule_id in schedules.csv

name

Name of the period or block (e.g., "Period 1", "Advisory")

period_number

Numeric identifier for the period

start_time

Start time in HH:MM (24-hour format)

end_time

End time in HH:MM (24-hour format)


File 4: Days

Filename: days.csv

Maps each calendar date to the schedule in use that day. If a school uses multiple schedules on the same date—for example, different bell schedules for different grade bands—include one row per schedule.

Column

Description

calendar_id

Must match the calendar_id in school_calendars.csv

date

Date in YYYY-MM-DD format

cycle_day

Cycle day label if applicable (e.g., A, B)

schedule_id

Must match the schedule_id in schedules.csv


Tips & Troubleshooting

✔ My school uses A/B or block scheduling Use the cycle_day column in days.csv to distinguish between schedule types, and make sure each schedule variant has its own entry in schedules.csv with the correct periods defined in periods.csv.

✔ Different grade levels follow different bell schedules Include one row per schedule in days.csv for any date where multiple schedules apply, and use the grades column in schedules.csv to specify which grade levels each schedule applies to.

✔ Our calendar changes mid-year Re-upload days.csv (and any affected schedule files) whenever your calendar changes. You don't need to re-upload files that haven't changed.

Did this answer your question?