Meadow

Academic Calendar File Specification

SIS

Overview

The academic calendar file provides term and session (sub-term) data from the institution's SIS. Meadow uses it to define the academic period structure, including start and end dates and registration windows. Each row is either an academic term or an academic session within a term.

File Details

Field Value
File format CSV (comma-separated), zipped before upload
File name format YYYY-MM-DDTHHMMSSZ_[school abbreviation]_academicCalendar.csv
Header row Required
Encoding UTF-8

Example: 2026-03-19T143022Z_SCH_academicCalendar.csv

File Layout

Field Definitions

Column name Required Description PeopleSoft Suggested Location Banner Suggested Location PowerCampus Suggested Location Format / notes
academic_year Yes Calendar year in which the academic term begins OR code identifier for the year if your SIS has one. PS_TERM_TBL.TERM_BEGIN_DT (year only) STVTERM.STVTERM_START_DATE (year only) ACADEMICCALENDAR.ACADEMIC_YEAR Integer (YYYY)
academic_term Yes Code identifier for the term. Do not put the human-readable label here; put that in academic_term_description. PS_TERM_TBL.STRM STVTERM.STVTERM_CODE ACADEMICCALENDAR.ACADEMIC_TERM integer, GUID, or string code like SPR
academic_session No Session or sub-term code identifier, like TRAD, MAIN, or 02. SOBPTRM.SOBPTRM_PTRM_CODE ACADEMICCALENDAR.ACADEMIC_SESSION Blank if not applicable
start_date Yes Start date of the term or session PS_TERM_TBL.TERM_BEGIN_DT STVTERM.STVTERM_START_DATE; part-of-term rows: SOBPTRM.SOBPTRM_START_DATE ACADEMICCALENDAR.START_DATE yyyy-MM-dd H:mm:ss
end_date Yes End date of the term or session PS_TERM_TBL.TERM_END_DT STVTERM.STVTERM_END_DATE; part-of-term rows: SOBPTRM.SOBPTRM_END_DATE ACADEMICCALENDAR.END_DATE yyyy-MM-dd H:mm:ss
academic_weeks No Number of weeks in the term ACADEMICCALENDAR.ACADEMIC_WEEKS Integer
academic_months No Number of months in the term ACADEMICCALENDAR.ACADEMIC_MONTHS Integer
fiscal_year No If your SIS tracks a different fiscal year vs the calendar year, put that here. For example, fiscal year might run July - June instead of Jan - Dec. ACADEMICCALENDAR.FISCAL_YEAR String
true_academic_year Yes If your SIS tracks a different academic year vs the calendar year, put that here. For example, Fall, Spring, and Summer are all in the same academic year but different calendar years. PS_TERM_TBL.ACAD_YEAR STVTERM.STVTERM_ACYR_CODE ACADEMICCALENDAR.TRUE_ACADEMIC_YEAR String
pre_reg_date No Pre-registration start date ACADEMICCALENDAR.PRE_REG_DATE yyyy-MM-dd H:mm:ss
reg_date No Registration start date ACADEMICCALENDAR.REG_DATE yyyy-MM-dd H:mm:ss
last_reg_date No Registration end date ACADEMICCALENDAR.LAST_REG_DATE yyyy-MM-dd H:mm:ss
term_sort_order No Sort order of the term. Can be globally sortable or sortable within the academic year. PS_TERM_TBL.STRM STVTERM.STVTERM_START_DATE as YYYYMMDD CODE_ACATERM.SORT_ORDER int or string
session_sort_order No Sort order of the session. Can be globally sortable or sortable within the academic term. SOBPTRM.SOBPTRM_START_DATE as YYYYMMDD CODE_ACASESSION.SORT_ORDER int or string
created_at No When the calendar row was created. ACADEMICCALENDAR.CREATE_DATE + ACADEMICCALENDAR.CREATE_TIME yyyy-MM-dd H:mm:ss
modified_at No When the calendar row was last modified. ACADEMICCALENDAR.REVISION_DATE + ACADEMICCALENDAR.REVISION_TIME yyyy-MM-dd H:mm:ss
academic_term_description No Description associated with the academic_term code, Fall. This will show to students. PS_TERM_TBL.DESCR (from the 6th character onward, dropping the year prefix) STVTERM.STVTERM_DESC CODE_ACATERM.LONG_DESC String
academic_session_description No Description associated with the academic_session code, like Traditional or Block 2. This will show to students. SOBPTRM.SOBPTRM_DESC CODE_ACASESSION.LONG_DESC String
long_academic_calendar_id No If your SIS has a GUID identifier for the calendar row, put it here. Required for some API integrations. GUID

Business Rules

True Academic Year Logic

Some SIS's track a true academic year separate from the calendar year, typically by making Fall the first term and placing subsequent terms in the same year. We expect the academic_year column to be the calendar year and true_academic_year to be the one that doesn't necessarily track calendar year. If your SIS has no such concept, place the calendar year in both fields.

Term Versus Session Logic

Date Hierarchy

Field Logic
start_date Session start, else term start
end_date Session end, else term end
reg_date Session registration start, else term
last_reg_date Session registration end, else term

Formatting Rules

Sample File

academic_year,academic_term,academic_session,start_date,end_date,academic_weeks,academic_months,fiscal_year,true_academic_year,pre_reg_date,reg_date,last_reg_date,term_sort_order,session_sort_order,created_at,modified_at,academic_term_description,academic_session_description,long_academic_calendar_id
2024,FA,,2024-08-20 00:00:00,2024-12-15 00:00:00,,,,2024,,2024-04-01 00:00:00,2024-09-01 00:00:00,01,,,"","Fall Term","",""
2024,FA,1A,2024-08-20 00:00:00,2024-10-10 00:00:00,,,,2024,,2024-04-01 00:00:00,2024-08-25 00:00:00,01,01,,,"Fall Term","",""
2024,FA,1B,2024-10-11 00:00:00,2024-12-15 00:00:00,,,,2024,,2024-08-26 00:00:00,2024-10-20 00:00:00,01,02,,,"Fall Term","",""
2025,SP,,2025-01-10 00:00:00,2025-05-05 00:00:00,,,,2024,,2024-11-01 00:00:00,2025-01-20 00:00:00,02,,,"","Spring Term","",""
2025,SU,,2025-05-19 00:00:00,2025-08-08 00:00:00,,,,2024,,2025-03-01 00:00:00,2025-05-30 00:00:00,03,,,"","Summer Term","",""

Notes