TABLE OF CONTENTS

Class Calendars

Flex Periods

Student Class Schedule

Course Information

Course Data Changes

Sections (from Master Schedule)

Section Data Changes (from Master Schedule)

Staff Classes/Sections

Section Class Roster

Section Class Roster Data Changes

Section (from Scheduling Master Schedule)

Student Course Requests

Class Calendars

Security Area:

  • "Class Calendars"

URL(s):

  • api/v5/schools/{sc}/classcalendars/{sq?}
    • Get all class calendars for the school, or a single class calendar for the given SQ.  Everything is mapped from the CCL table.
  • api/v5/schools/{sc}/classcalendars/year/{yr}
    • Get all class calendars for the school for the given academic year (e.g., "2019-2020" or "2020-2021")
  • api/v5/schools/{sc}/classcalendars/{sq}/dates
    • Get the class calendar dates (CCD) for a specific class calendar

Example Class Calendar Results:

https://demo.aeries.net/aeries/api/v5/schools/894/classcalendars

[
    {
        "SequenceNumber": 13,
        "SchoolCode": 894,
        "AcademicYear": "2021-2022",
        "ShortTitle": "M",
        "Description": ""
    },
    {
        "SequenceNumber": 11,
        "SchoolCode": 894,
        "AcademicYear": "2021-2022",
        "ShortTitle": "MTWRF",
        "Description": ""
    },
    {
        "SequenceNumber": 12,
        "SchoolCode": 894,
        "AcademicYear": "2021-2022",
        "ShortTitle": "W",
        "Description": ""
    },
    {
        "SequenceNumber": 14,
        "SchoolCode": 894,
        "AcademicYear": "2020-2021",
        "ShortTitle": "MTWRF",
        "Description": ""
    },
    {
        "SequenceNumber": 15,
        "SchoolCode": 894,
        "AcademicYear": "2020-2021",
        "ShortTitle": "W",
        "Description": ""
    }
]


Field Documentation

NameAeries Table.ColumnDescription
SequenceNumberCCL.SQCalendar Sequence Number
SchoolCodeCCL.SCThe School which the Calendar belongs to
AcademicYearCCL.YRAcademic Year of the Calendar
ShortTitleCCL.STIDays of the Week the Calendar applies
DescriptionCCL.DECalendar Description

Flex Periods

Security Area:

  • "Flex Periods"

URL(s):

~/api/v5/schools/{sc}/flexperiods/{sq?}
  • Returns a list of all Flex Periods for the school, or a single Flex Period for the given SQ (optional).  All fields are mapped from FTF
~/api/v5/schools/{sc}/flexperiods/year/{yr}
  • Returns a list of Flex Periods for the school and the given academic year (e.g., "2019-2020" or "2020-2021")


Example Flex Periods Information Results:

https://demo.aeries.net/aeries/api/v5/schools/894/flexperiods

 {
        "SequenceNumber": 1,
        "SchoolCode": 894,
        "AcademicYear": "2021-2022",
        "ShortTitle": "Flex 0",
        "Description": "Pd 0",
        "StartTime": "1900-01-01T07:05:00",
        "EndTime": "1900-01-01T07:55:00",
        "TypeCode": ""
    },
    {
        "SequenceNumber": 2,
        "SchoolCode": 894,
        "AcademicYear": "2021-2022",
        "ShortTitle": "Flex 1",
        "Description": "Pd 1",
        "StartTime": "1900-01-01T08:00:00",
        "EndTime": "1900-01-01T08:50:00",
        "TypeCode": ""
    },
    {
        "SequenceNumber": 3,
        "SchoolCode": 894,
        "AcademicYear": "2021-2022",
        "ShortTitle": "Flex 2",
        "Description": "Pd 2",
        "StartTime": "1900-01-01T08:55:00",
        "EndTime": "1900-01-01T09:45:00",
        "TypeCode": ""
    },
    {
        "SequenceNumber": 4,
        "SchoolCode": 894,
        "AcademicYear": "2021-2022",
        "ShortTitle": "Flex 3",
        "Description": "Pd 3",
        "StartTime": "1900-01-01T10:05:00",
        "EndTime": "1900-01-01T10:55:00",
        "TypeCode": ""
    },
    {
        "SequenceNumber": 5,
        "SchoolCode": 894,
        "AcademicYear": "2021-2022",
        "ShortTitle": "Flex 4",
        "Description": "Pd 4",
        "StartTime": "1900-01-01T11:00:00",
        "EndTime": "1900-01-01T11:50:00",
        "TypeCode": ""
    },
...
...
    {
        "SequenceNumber": 19,
        "SchoolCode": 894,
        "AcademicYear": "2020-2021",
        "ShortTitle": "8",
        "Description": "Pd 8",
        "StartTime": "1900-01-01T15:10:00",
        "EndTime": "1900-01-01T16:00:00",
        "TypeCode": ""
    },
    {
        "SequenceNumber": 20,
        "SchoolCode": 894,
        "AcademicYear": "2020-2021",
        "ShortTitle": "9",
        "Description": "Pd 9",
        "StartTime": "1900-01-01T16:05:00",
        "EndTime": "1900-01-01T16:55:00",
        "TypeCode": ""
    }
]


Field Documentation

NameAeries Table.ColumnDescription
SequenceNumberFTF.SCSequence Number
SchoolCodeFTF.SCSchool code
AcademicYearFTF.YRAcademic Year
ShortTitleFTF.STIPeriod Number
DescriptionFTF.DEPeriod Description
StartTimeFTF.STDefault Start Time
EndTimeFTF.ETDefault End Time
TypeCodeFTF.TYType

For descriptions of the various coded fields, use our "Code Sets" API: ` /api/v5/codes/FlexPeriods/{ElementName}

Example:

https://demo.aeries.net/aeries/api/v5/codes/FlexPeriods/TypeCode


Student Class Schedule

Security Area:

  • "Class Schedules/History"
  • URL(s):

    • /api/v5/schools/{SchoolCode}/classes/{StudentID}
      • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
      • StudentID (optional) – The Aeries Student ID Number.
  • Notes:

    • If Student ID is not passed, all classes for all students for the given school will be returned.
    • When this information is requested before the beginning of the school year, the SequenceNumber and SectionNumber values will match.
    • Be aware that Class Schedules are highly prone to large scale adjustments before the start of school through the first 2 weeks of the school year.

Example Student Class Schedule Results:

https://demo.aeries.net/aeries/api/v5/schools/994/classes/99400001

{
        "StudentID": 99400001,
        "SchoolCode": 994,
        "SequenceNumber": 7,
        "SectionNumber": 7003,
        "CourseID": "0775",
        "DateStarted": "2020-07-06T00:00:00",
        "DateEnded": "2020-12-23T00:00:00"
    },
    {
        "StudentID": 99400001,
        "SchoolCode": 994,
        "SequenceNumber": 8,
        "SectionNumber": 3093,
        "CourseID": "0425",
        "DateStarted": "2020-07-06T00:00:00",
        "DateEnded": "2020-08-28T00:00:00"
    },
    {
        "StudentID": 99400001,
        "SchoolCode": 994,
        "SequenceNumber": 9,
        "SectionNumber": 1118,
        "CourseID": "0317",
        "DateStarted": "2020-07-06T00:00:00",
        "DateEnded": "2021-02-01T00:00:00"
    },
...
...


Field Documentation:

NameAeries Table.ColumnDescription
CourseIDCAR.CNThe District course ID
DateEndedCAR.DEThe date the student’s enrollment in this class ended
DateStartedCAR.DSThe date the student’s enrollment in this class started
StudentIDSTU.IDThe Student ID
SchoolCodeCAR.SCThe Aeries school code
SectionNumberCAR.SEThe section number for this class from the master schedule
SequenceNumberCAR.SQThe sequence number is part of the primary key. It has no independent meaning.


Note: Before the CAR (Course Attendance Record) table is initialized at the beginning of the school year, data will be pulled from a join of SEC (Student Class Sections), MST (Master Schedule), and TRM (Terms) instead.


Course Information

Security Area:

  • "Course Data"

URL(s):

  • /api/v5/courses/{CourseID}
    • CourseID (optional) – The Aeries Course ID (alphanumeric).
  • Notes:

    • If Course ID is not passed, all courses in the district will be returned.

Example Single Course Information Results:

https://demo.aeries.net/aeries/api/v5/courses/100

 {
        "VocationalEducationSubjectAreaCode": "",
        "VocationalEducationCourseLevelCode": "",
        "CourseLevelCode": "",
        "CourseTypeCode": "",
        "NextCourse": "",
        "TermSequence": 0,
        "YearSequence": 0,
        "TraditionalGender": "",
        "NCLBCoreCode": "N",
        "NCLBCoreArea1Code": "",
        "NCLBCoreArea2Code": "",
        "ContentGroupCode": "",
        "NCESCode": "",
        "CIPCode": "",
        "BoardAdoptionDate": null,
        "LastRevisionDate": null,
        "RevisionTypeCode": "",
        "InactiveDate": null,
        "AcademicWeight": 0,
        "MeetsAlgebraIRequirement": false,
        "AlgebraICreditRequired": 0.0000,
        "ServiceIDCode": "",
        "PopulationServedCode": "",
        "ClassTypeCode": "",
        "CourseSequenceCode": "",
        "NonCampusBasedInstructionCode": "",
        "OnRampsDualEnrollmentIndicator": "",
        "IncludeForExtracurricularActivityEligibilityIndicator": "",
        "HoursForCompletion": 0.0000,
        "CostOfCourse": 0.0000,
        "ContentSubcategoryCode": "",
        "StandardsGradeRangeCode": "",
        "ContentStandardsAlignmentCode": "",
        "CharterNonCoreIndicator": "",
        "AdvancedCourseStateCode": "",
        "CollegeStateCourseCode": "",
        "MiddleSchoolCoreIndicator": "",
        "CorrespondenceLanguageCode1": "",
        "TitleForLanguage1": "",
        "CorrespondenceLanguageCode2": "",
        "TitleForLanguage2": "",
        "CorrespondenceLanguageCode3": "",
        "TitleForLanguage3": "",
        "CorrespondenceLanguageCode4": "",
        "TitleForLanguage4": "",
        "CorrespondenceLanguageCode5": "",
        "TitleForLanguage5": "",
        "CorrespondenceLanguageCode6": "",
        "TitleForLanguage6": "",
        "UserCode1": "",
        "UserCode2": "",
        "UserCode3": "",
        "UserCode4": "",
        "UserCode5": "",
        "UserCode6": "",
        "UserCode7": "",
        "UserCode8": "",
        "ID": "0001",
        "Title": "No Zero Period",
        "LongDescription": "",
        "Notes": "",
        "ContentDescription": "",
        "NonAcademicOrHonorsCode": "",
        "SubjectArea1Code": "",
        "SubjectArea2Code": "",
        "SubjectArea3Code": "",
        "DepartmentCode": "Z",
        "StateCourseCode": "6012",
        "CSFCourseList": "",
        "CollegePrepIndicatorCode": "",
        "CreditDefault": 0.0000,
        "CreditMax": 0.0000,
        "TermTypeCode": "Y",
        "LowGrade": 9,
        "HighGrade": 12,
        "CSU_SubjectAreaCode": "",
        "CSU_Rule_CanBeAnElective": "",
        "CSU_Rule_HonorsCode": "",
        "CSU_Rule_ValidationLevelCode": "",
        "UC_SubjectAreaCode": "",
        "UC_Rule_CanBeAnElective": "",
        "UC_Rule_HonorsCode": "",
        "UC_Rule_ValidationLevelCode": "0",
        "TeacherAideIndicator": false,
        "PhysicalEducationIndicator": false,
        "InactiveStatusCode": "",
        "PrerequisiteCourse": "",
        "AlternateCourse": "",
        "DefaultMaxStudents": 0,
        "NextYearInactiveStatusCode": ""
    },
}


Field Documentation:

NameAeries Table.ColumnDescription
CSFCourseListCRS.C1The standardized list from the California Scholarship Federation to which this course belongs.
CSU_Rule_CanBeAnElectiveCRS.CSEIf flagged with a ‘G’ this course can roll into CSU
Electives when the assigned subject area is full.
CSU_Rule_HonorsCodeCRS.CSHIf flagged with ‘H’ this course is counted as an honors course for purposes of CSU Eligibility.
CSU_Rule_ValidationLevelCodeCRS.VLCourse Validation Level is allowed by CSU for certain flexibilities when evaluating whether or not a student has completed a particular subject and gained requirements necessary to enter college.
CSU_SubjectAreaCodeCRS.E1The Subject Area that this course will count toward for completing the CSU entrance requirements.
CollegePrepIndicatorCodeCRS.CPIndicates whether the course is counted as a college preparatory course.
ContentDescriptionCRS.CDMore detailed description of the course and/or the course content.
CreditDefaultCRS.CRDefault number of credits that a student will receive by passing this course
CreditMaxCRS.MCMaximum Credit that a student can receive by taking this course multiple times.
DepartmentCodeCRS.DCThe department code allows sorting reports by department, such as English.
HighGradeCRS.HIHighest grade level that would normally take this course. Used in Scheduling to prevent students outside the grade range from being scheduled into the class.
IDCRS.CNIdentification assigned to a course that can be up to 6 characters in length. The ID can contain letters and/or numbers, for example ENG123 but MUST not start with a space or special character, such as an asterisk *
InactiveStatusCodeCRS.TGAny non-blank value will inactivate the course and prevent sections from being added to the Master Schedule and Scheduling Master Schedule.
LongDescriptionCRS.DEThe long course title (max 30 characters)
LowGradeCRS.LOLowest grade level that would normally take this course. Used in Scheduling to prevent students outside the Grade Range from being scheduled into the class.
NonAcademicOrHonorsCodeCRS.NAIndicates whether the course is a (N) Non Academic or (H) Honors.
NotesCRS.CMFree-text note about this course
PhysicalEducationIndicatorCRS.PEIndicates whether this course is a physical education course. Primarily used to single out the PE teacher among all a student’s teachers for purposes of entering Physical Fitness Test data.
StateCourseCodeCRS.C3Specific code assigned to courses by the California Department of Education that corresponds to the content of the course.
SubjectArea1CodeCRS.S1The first Graduation Requirements subject area that this course satisfies. Code description can be found through the Graduation Requirements API
SubjectArea2CodeCRS.S2The second Graduation Requirements subject area that this course satisfies if all requirements have been met for the S1 subject area. Code description can be found through the Graduation Requirements API
SubjectArea3CodeCRS.S3The third Graduation Requirements subject area that this course satisfies if all requirements have been met for the S1 and S2 subject areas. Code description can be found through the Graduation Requirements API
TeacherAideIndicatorCRS.TAIndicates whether the course is a Teacher Aide course. Many reports within Aeries give users the option to skip TA courses.
TermTypeCodeCRS.TMIndicates the length of a given course.
TitleCRS.COThe short course title (max 15 characters)
UC_Rule_CanBeAnElectiveCRS.U2If flagged with a ‘G’ this course can roll into UC
Electives when the assigned subject area is full.
UC_Rule_HonorsCodeCRS.U3If flagged with ‘H’ this course is counted as an honors course for purposes of UC Eligibility.
UC_Rule_ValidationLevelCodeCRS.VLUCourse Validation Level is allowed by UC for certain flexibilities when evaluating whether or not a student has completed a particular subject and gained requirements necessary to enter college.
UC_SubjectAreaCodeCRS.U1The Subject Area that this course will count toward for completing the UC entrance requirements.
VocationalEducationSubjectAreaCodeCRS.E2Vocational Education Subject Area
VocationalEducationCourseLevelCodeCRS.VCLVocational Education Course Level
CourseLevelCodeCRS.CLAcademic Level of the Course
CourseTypeCodeCRS.TYCourse Type
NextCourseCRS.NCThe Next Course in a Multi-Course Sequence
TermSequenceCRS.TSThe Term Sequence for a Multi-Course Sequence
YearSequenceCRS.YSThe Year Sequence for a Multi-Course Sequence
TraditionalGenderCRS.TGNThe Gender a CTE course is 'Traditionally' for. Used for Carl Perkins Reporting. Informational only.
NCLBBoreCodeCRS.NCCNCLB Bore Code
NCLBBoreArea1CodeCRS.CA1NCLB Bore Area 1
NCLBBoreArea2CodeCRS.CA2NCLB Bore Area 2
ContentGroupCodeCRS.CCGThe Course Content Group field is used to link courses together that have the same content.  
NCESCodeCRS.USThis field is used to classify the content of the course for the National Center for Education Statistics. 
CIPCodeCRS.CIPClassification of Instructional Programs code from the National Center for Education Statistics for use with adult education courses  
BoardAdoptionDateCRS.BDThe date the course was adopted (approved) by the District Board of Education.  
LastRevisionDateCRS.RDThe date the framework of the course was last revised
RevisionTypeCodeCRS.RTThe type of revision that was made when the course framework was last revised.
InactiveDateCRS.IDDate the Course was Inactivated
AcademicWeightCRS.ACThe Academic Weight field is available for use in 4 x 4 Block Scheduling.  Valid values are 0-4.  By assigning a value to each course the scheduler will attempt to balance the student’s work load for each semester.  
MeetsAlgebraRequirementCRS.ALRIndicates that this course will count towards the Algebra I requirement set by the State
AlgebraICreditRequiredCRS.ALCThe number of credits required to meet the Algebra I requirement.
ServiceIDCRS.SVCService ID
PopulationServedCodeCRS.PSVPopulation Served
ClassTypeCodeCRS.CTYClass Type
CourseSequenceCodeCRS.CSQCourse Sequence
NonCampusBasedInstructionCodeCRS.NCINon Campus Based Instruction Indicator
OnRampsDualEnrollmentIndicatorCRS.ODOnRamps Dual Enrollment Indicator
IncludeForExtracurricularActivityEligibilityIndicatorCRS.EEIncluded in Extracurricular Activity Eligibility status
ContentSubcategoryCodeCRS.CSCContent Subcategory
StandardsGradeRangeCodeCRS.SGRStandard Grade Range
ContentStandardsAlignmentCodeCRS.CSAContent Standards Alignment
CharterNonCoreIndicatorCRS.CNCCharter NonCore Indicator
AdvancedCourseStateCodeCRS.CSAAdvanced Course State code
CollegeStateCourseCodeCRS.CC3College State Course code
MiddleSchoolCoreIndicatorCRS.MSCMiddle School Core Indicator
HoursForCompletionCRS.HCHours for Completion
CostOfCourseCRS.CCCost of Course
CorrespondenceLanguageCode1CRS.CL1Language Code of Translation
TitleForLanguage1CRS.CO1Name of Language

CorrespondenceLanguageCode2

CRS.CL2Language Code of Translation
TitleForLanguage2CRS.CO2Name of Language
CorrespondenceLanguageCode3CRS.CL3Language Code of Translation
TitleForLanguage3CRS.CO3Name of Language
CorrespondenceLanguageCode4CRS.CL4Language Code of Translation
TitleForLanguage4CRS.CO4Name of Language
CorrespondenceLanguageCode5CRS.CL5Language Code of Translation
TitleForLanguage5CRS.CO5Name of Language
CorrespondenceLanguageCode6CRS.CL6Language Code of Translation
TitleForLanguage6CRS.CO6Name of Language
UserCode1CRS.UC1User Code 1
UserCode2CRS.UC2User Code 2
UserCode3CRS.UC3User Code 3
UserCode4CRS.UC4User Code 4
UserCode5CRS.UC5User Code 5
UserCode6CRS.UC6User Code 6
UserCode7CRS.UC7User Code 7
UserCode8CRS.UC8User Code 8

For descriptions of the various coded fields, use our "Code Sets" API: ` /api/v5/codes/Courses/{ElementName}

Example:

https://demo.aeries.net/aeries/api/v5/codes/Courses/CSFCourseLIst


Course Data Changes

Security Area:

  • "Course Data"

URL(s):

  • /api/v5/CourseDataChanges/{year}/{month}/{day}/{hour}/{minute}
    • year, month, day, hour, minute – required – The parts of the Date/Time from which you want to system to return courses with data changes. All parameters are required although 0 is valid for hour and minute. Valid values for "hour" are 0-23. "AM" and "PM" values are invalid
  • Notes:

    • This should be used for advanced interfaces with Aeries where you may be pulling data hourly or daily and want to only get the changes since the last time you pulled data from the Aeries API. After you get the list of courses with changes, you will have to loop through the dataset and call the Course Information API one record at a time.

Example Course Data Changes Results:

https://demo.aeries.net/aeries/api/v5/CourseDataChanges/2020/8/1/0/0

{
        "ID": "AEDP0"
    },
    {
        "ID": "AEDP1"
    },
    {
        "ID": "AEDP2"
    },
    {
        "ID": "AEDP3"
    },
    {
        "ID": "AEDP4"
    },
    {
        "ID": "AEDP5"
    },
    {
        "ID": "AEDP6"
    },
    {
        "ID": "0008"
    },
...
...
}


Sections (from Master Schedule)

Security Area:

  • "Master Schedule"

URL(s):

  • /api/v5/schools/{SchoolCode}/sections/{SectionNumber}
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • SectionNumber (optional) – The school-based Aeries section number.

Notes:

  • If Section Number is not passed, all section records in the master schedule of the given school will be returned.

Example Section (from Master Schedule) Results:

https://demo.aeries.net/aeries/api/v5/schools/994/sections/100

{
    "SchoolCode": 995,
    "SectionNumber": 100,
    "Period": "1",
    "PeriodBlock": 1,
    "Semester": "Y",
    "ClassCalendar": "MTWTF",
    "CourseID": "327",
    "SectionStaffMembers": [
        {
            "StaffID": 995001,
            "LastName": "Aldrich",
            "FirstName": "Darryl",
            "IsPrimaryTeacher": true,
            "StaffRoleCode": "",
            "TeacherPositionCode": "",
            "AttendancePermission": "",
            "GradebookPermissionCode": "",
            "GradeReportingAccess": "",
            "StudentAccess": "",
            "IncludeInStateReporting": "",
            "StartDate": null,
            "EndDate": null,
            "InactiveStatusCode": ""
        },
        {
            "StaffID": 700004321,
            "LastName": "Carlisle",
            "FirstName": "Jackie",
            "IsPrimaryTeacher": false,
            "StaffRoleCode": "",
            "TeacherPositionCode": "",
            "AttendancePermission": "",
            "GradebookPermissionCode": "",
            "GradeReportingAccess": "",
            "StudentAccess": "",
            "IncludeInStateReporting": "",
            "StartDate": null,
            "EndDate": null,
            "InactiveStatusCode": "I"
        },
        {
            "StaffID": 700005678,
            "LastName": "Cullens",
            "FirstName": "Mary",
            "IsPrimaryTeacher": false,
            "StaffRoleCode": "",
            "TeacherPositionCode": "",
            "AttendancePermission": "",
            "GradebookPermissionCode": "R",
            "GradeReportingAccess": "",
            "StudentAccess": "",
            "IncludeInStateReporting": "",
            "StartDate": null,
            "EndDate": null,
            "InactiveStatusCode": ""
        }
    ],
    "Room": "",
    "Credit": 0.0000,
    "GenderRestriction": "",
    "LowGrade": 9,
    "HighGrade": 12,
    "MaxStudents": 30,
    "TotalStudents": 21,
    "TotalBoys": 14,
    "TotalGirls": 7,
    "TotalOtherGender": 0,
    "InactiveStatusCode": "",
    "ProgramCode": "",
    "HourlyAttendanceProgramCode": "",
    "ExclusionCode": "",
    "CountsForADA": "",
    "MultiTeacherCode": "",
    "SchedulingGroup": "",
    "TeamCourseGroup": "",
    "TeamNumber": 0,
    "SemesterGroup": "",
    "Track": "",
    "ClassID": 0,
    "EducationServiceCode": "",
    "LanguageOfInstructionCode": "",
    "InstructionalStrategyCode": "",
    "FundingSourceCode": "",
    "CareerTechnicalEducationProviderCode": "",
    "IndependentStudyIndicator": "",
    "DistanceLearningIndicator": "",
    "ItinerantTeacherIndicator": "",
    "UseSupplementalAttendance": false,
    "ArticulatedCourseIndicator": "",
    "NonCampusBasedInstructionCode": "",
    "PopulationServedCode": "",
    "ClassTypeCode": "",
    "MonthlyMinutes": 0,
    "PreKSchoolTypeCode": "",
    "PreKCurriculaCode": "",
    "IsHighQualityPreKProgram": false,
    "InstructionTypeCode": "",
    "ProgramEvaluationTypeCode": "",
    "EducationalEnvironmentCode": "",
    "CareerTechnicalEducationHours": 0,
    "ContentSubcategoryCode": "",
    "CharterNonCoreIndicator": "",
    "AdvancedCourseStateCode": "",
    "OnlineInstructionTypeCode": "",
    "MiddleSchoolCoreIndicator": "",
    "NonCredentialedAuthorizationCode": "",
    "HighQualityCareerTechnicalEducationIndicator": "",
    "UserCode1": "",
    "UserCode2": "",
    "UserCode3": "",
    "UserCode4": "",
    "UserCode5": "",
    "UserCode6": "",
    "UserCode7": "",
    "UserCode8": ""
}


Field Documentation:

NameAeries Table.ColumnDescription
CareerTechnicalEducationProviderCodeMST.TEPIndicates what entity is providing the Career Technical Education class (e.g., “ROP” or “District”)
ClassIDMST.CIDThis field is used to identify separate sections as an individual "Class". The Class Size Reduction Reports use the Class ID field.
CountsForADAMST.ADASections tagged with “N” will not affect the running of the Mass Change All Day Code process when requiring an absence in every period.
CourseIDMST.CNThe Aeries District Course ID
SectionStaffMembersArray of Section Staff ObjectsSee SectionStaff Object below
CreditMST.CRThe number of credits a student will receive for taking this section.
ClassCalendarMST.DY
CCL.STI
The days of the week this class meets. For Flex Schools it pulls from CCL.STI
ClassCalendarSequenceNumberMST.CSQClass Calendar SFor Cross-referencing
DistanceLearningIndicatorMST.DLIIndicates whether this section is offered through distance learning (e.g., online course).
EducationServiceCodeMST.ESRThe type of education service provided to English Learners in this class
ExclusionCodeMST.STWhether this section should be excluded from grades and/or attendance reporting
FundingSourceCodeMST.FSThe funding source for this section (e.g., California Partnership Academy)
GenderRestrictionMST.SXThis section is restricted to students of a particular gender
HighGradeMST.HIThe highest grade level of students who would normally take this section.
HourlyAttendanceProgramCodeMST.HP(no longer used) Was used in summer schools for funding purposes.
InactiveStatusCodeMST.STGAny value other than blank indicates this section is inactive. Inactive sections should not have any students enrolled.
IndependentStudyIndicatorMST.ISIIndicates whether this is an independent study class
InstructionalStrategyCodeMST.INSThe instructional strategy used in this class for specific student groups such English Learners or special education students
LanguageOfInstructionCodeMST.LIThe language in which this class is taught.
LowGradeMST.LOThe lowest grade level of students who would normally take this section.
MaxStudentsMST.MXThe maximum number of students who can enroll in this section (i.e., class capacity).
MultiTeacherCodeMST.MTSThe type of multi-teacher configuration for this section (such as team teaching or job sharing)
PeriodMST.PD
FTF.STI
The period (0 – 9) this class meets. For Flex Schools it pulls from FTF.STI
FlexPeriodSequenceNumberMST.FSQFlex Period Sequence Number for Cross-referencing
PeriodBlockMST.BLIf the class spans multiple consecutive periods, this value will be greater than 1. E.g., if Period is 3 and PeriodBlock is 2, then the class spans period 3 – 4.
ProgramCodeMST.PRSpecial program related to this section. Certain reports in Aeries can be limited by special program.
RoomMST.RMThe room number in which this class meets
SchedulingGroupMST.SGThe Scheduling Group for this section. This is used to create scheduling restrictions and is used in conjunction with the student’s Scheduling Group (see Student Information Extended). Students with a blank scheduling group cannot be scheduled into sections with a non-blank scheduling group, and students with a non-blank scheduling group can only be scheduled into sections with the same or blank scheduling group.
SchoolCodeMST.SCThe Aeries school code
SectionNumberMST.SEThe school-based Aeries section number
SemesterMST.SMThe term during which this section meets
SemesterGroupMST.GPThe Semester Group for this section. Semester Groups are used to ensure that certain classes are scheduled for a student in different semesters and not at the same time.
TeamCourseGroupMST.CGThe team course group is used to create groups of sections to be further divided into teams.
TeamNumberMST.TMIn conjunction with the team course group, the team number is used to group sections of different courses into teams. For instance, team scheduling can be used to ensure that students are scheduled into English, Math, Social Studies, and Science courses together while allowing PE and elective courses to have a mixture of students.
TotalBoysMST.TBThe total number of boys (males) currently enrolled in the section
TotalGirlsMST.TGThe total number of girls (females) currently enrolled in the section
TotalStudentsMST.TSThe total number of students currently enrolled in the sections
TrackMST.TRThis section is restricted to students in a specific attendance track.
UserCode1MST.U1User-defined code 1
UserCode2MST.U2User-defined code 2
UserCode3MST.U3User-defined code 3
UserCode4MST.U4User-defined code 4
UserCode5MST.U5User-defined code 5
UserCode6MST.U6User-defined code 6
UserCode7MST.U7User-defined code 7
UserCode8MST.U8User-defined code 8
ItinerantTeacherIndicatorMST.ITIs Itinerant teacher?
UseSupplementalAttendanceMST.USAUse Supplemental Attendance
ArticulatedCourseIndicatorMSt.ACIs this an Articulated Course?
NonCampusBasedInstructionCodeMST.NCIOff Campus Instructoin
PopulationServedCodeMST.PSVPopulation Served Code
ClassTypeCodeMST.CTYClass Type
MonthlyMinutesMST.MMNMonthly Minutes
PreKSchoolTypeMST.PKTPreK School Type
PreKCurriculaCodeMST.CTPreK Curricula Code
IsHighQualityPreKProgramMST.HQPHigh Quality PreK Program indicator
InstructionTypeCodeMST.SITInstruction Type
ProgramEvaluationCodeMST.ETProgram Evaluation Code


For descriptions of the various coded fields, use our "Code Sets" API: ~/api/v5/codes/MasterSchedule/{ElementName}

Example:

https://demo.aeries.net/aeries/api/v5/codes/MasterSchedule/CareerTechnicalEducationProvider


SectionStaff Object:


NameAeries Table.CodeDescription
StaffIDSSE.ID
STF.ID
District Assigned Staff ID. For Non-Flex Schools it comes from STF.ID
LastNameSTF.LNStaff Last Name
FirstNameSTF.FNStaff First Name
IsPrimaryTeacherSSE.PRIndicates if this Staff member is the Primary Teacher. For Non-Flex Schools this is determined by MST.TN and TCH.ID
StaffRoleCodeSSE.SRFor Non-Flex schools MST.SR1-SR3 are used
TeacherPositionCodeSSE.TPTX Only - the type of position the staff member holds in the specific class/section; for example: Teacher of Record, Assistant Teacher, Support Teacher, and Substitute Teacher. For Non-Flex schools MST.TP1-TP3 are used
AttendancePermissionSSE.APIndicates if Staff member has permission to take attendance. For Non-Flex Schools all Section Teachers have permission
GradebookPermissionCodeSSE.GBPIndicates if the Staff member has Full or Read-only permissions for Gradebook.  For Non-Flex Schools all Section Teachers have Full permission
GradeReportingAccessSSE.GRIndicates if the Staff member can report Grades for this section.  For Non-Flex Schools all Section Teachers have permission
StudentAccessSSE.SACIndicates if Staff member has access to Student-related information.  For Non-Flex Schools all Section Teachers have permission
IncludeInStateReportingSSE.STRShould this Staff member be included in State Reporting.  For Non-Flex Schools all Section Teachers are included in Reporting. 
StartDateSSE.SDDate Staff member assigned to Section.  For Non-Flex Schools all Section Teachers will return NULL.
EndDateSSE.EDDate Staff member's assignment ended.  For Non-Flex Schools all Section Teachers will return NULL.
InactiveStatusCodeSSE.TGSSE Record is Inactive. For Non-Flex Schools all Section Teachers are Active.


Section Data Changes (from Master Schedule)

Security Area:

  • "Master Schedule"

URL(s):

  • /api/v5/SectionDataChanges/{year}/{month}/{day}/{hour}/{minute}
    • year, month, day, hour, minute – required – The parts of the Date/Time from which you want to system to return sections with data changes. All parameters are required although 0 is valid for hour and minute. Valid values for "hour" are 0-23. "AM" and "PM" values are invalid

Notes:

  • This should be used for advanced interfaces with Aeries where you may be pulling data hourly or daily and want to only get the changes since the last time you pulled data from the Aeries API. After you get the list of sections with changes, you will have to loop through the dataset and call the Section (from Master Schedule) API one record at a time.

Example Section (from Master Schedule) Data Changes Results:

https://demo.aeries.net/aeries/api/v5/SectionDataChanges/2020/1/1/0/0

 {
        "SchoolCode": 884,
        "SectionNumber": 43
    },
    {
        "SchoolCode": 884,
        "SectionNumber": 44
    },
    {
        "SchoolCode": 884,
        "SectionNumber": 45
    },
    {
        "SchoolCode": 884,
        "SectionNumber": 46
    },
    {
        "SchoolCode": 884,
        "SectionNumber": 47
    },
    {
        "SchoolCode": 884,
        "SectionNumber": 48
    },
    {
        "SchoolCode": 884,
        "SectionNumber": 49
    }
...
...
}


Staff Classes/Sections

Security Area:

  • "Master Schedule"

URL(s):

  • /api/v5/staff/{StaffID}/classes
    • StaffID (required) – The Aeries District Staff ID (numeric).

Notes:

  • This end point will return a list of classes associated with the given Staff ID.

Example Staff Classes/Sections Results:

https://demo.aeries.net/aeries/api/v5/staff/994605/classes


Note: The results for this end point follow the exact same structure as the Section (from Master Schedule) end point documented above.


Section Class Roster

Security Area:

  • "Class Schedules/History"

URL(s):

  • /api/v5/schools/{SchoolCode}/sections/{SectionNumber}/students
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • SectionNumber (required) – The school-based Aeries section number.

Notes:

  • This information can also be requested on a student by student basis. See Student Class Schedule End Point.
  • When this information is requested before the beginning of the school year the SequenceNumber and SectionNumber values will match.
  • Be aware that Class Schedules are highly prone to large scale adjustments before the start of school through the first 2 weeks of the school year.

Example Section Class Roster Results:

https://demo.aeries.net/aeries/api/v5/schools/994/sections/1038/students

[
    {
        "StudentID": 99400001,
        "SchoolCode": 994,
        "SequenceNumber": 19,
        "SectionNumber": 1038,
        "CourseID": "0726",
        "DateStarted": "2021-02-02T00:00:00",
        "DateEnded": "2021-08-06T00:00:00"
    },
    {
        "StudentID": 99400156,
        "SchoolCode": 994,
        "SequenceNumber": 8,
        "SectionNumber": 1038,
        "CourseID": "0726",
        "DateStarted": "2020-07-06T00:00:00",
        "DateEnded": "2021-08-06T00:00:00"
    },
   ...
   ...
    {
        "StudentID": 99400318,
        "SchoolCode": 994,
        "SequenceNumber": 7,
        "SectionNumber": 1038,
        "CourseID": "0726",
        "DateStarted": "2020-07-06T00:00:00",
        "DateEnded": "2021-08-06T00:00:00"
    },

    {
        "StudentID": 99402373,
        "SchoolCode": 994,
        "SequenceNumber": 10,
        "SectionNumber": 1038,
        "CourseID": "0726",
        "DateStarted": "2020-07-06T00:00:00",
        "DateEnded": "2021-08-06T00:00:00"
    }
]



Field Documentation:

(Same as Student Class Schedule field documentation)


Section Class Roster Data Changes

Security Area:

  • "Class Schedules/History"

URL(s):

  • /api/v5/SectionRosterDataChanges/{year}/{month}/{day}/{hour}/{minute}
    • year, month, day, hour, minute – required – The parts of the Date/Time from which you want to system to return sections with roster changes. All parameters are required although 0 is valid for hour and minute. Valid values for "hour" are 0-23. "AM" and "PM" values are invalid

Notes:

  • This should be used for advanced interfaces with Aeries where you may be pulling data hourly or daily and want to only get the changes since the last time you pulled data from the Aeries API. After you get the list of sections with roster changes, you will have to loop through the dataset and call the Section Class Roster API one record at a time.

Example Section Class Roster Data Changes Results:

https://demo.aeries.net/aeries/api/v5/SectionRosterDataChanges/2020/1/1/0/0

 {
        "SchoolCode": 894,
        "SectionNumber": 5203
    },
    {
        "SchoolCode": 994,
        "SectionNumber": 5086
    },
    {
        "SchoolCode": 994,
        "SectionNumber": 2169
    },
    {
        "SchoolCode": 994,
        "SectionNumber": 3094
    },
    {
        "SchoolCode": 996,
        "SectionNumber": 305
    },
    {
        "SchoolCode": 894,
        "SectionNumber": 5180
    }


Section (from Scheduling Master Schedule)

Security Area:

  • "Scheduling Master Schedule"

URL(s):

  • /api/v5/schools/{SchoolCode}/scheduling/sections/{SectionNumber}
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • SectionNumber (optional) – The school-based Aeries section number.

Notes:

  • If Section Number is not passed, all section records in the scheduling master schedule of the given school will be returned.

Example Multiple Section (from Scheduling Master Schedule) Results:

https://demo.aeries.net/aeries/api/v5/schools/994/scheduling/sections/1994

{
    "SchoolCode": 994,
    "SectionNumber": 1000,
    "Period": "0",
    "PeriodBlock": 1,
    "Semester": "Y",
    "ClassCalendar": "MTWTF",
    "CourseID": "0872",
    "SectionStaffMembers": [],
    "Room": "ROP30",
    "Credit": 5.0000,
    "GenderRestriction": "",
    "LowGrade": 10,
    "HighGrade": 12,
    "MaxStudents": 30,
    "TotalStudents": 29,
    "TotalBoys": 12,
    "TotalGirls": 17,
    "TotalOtherGender": 0,
    "TotalPrescheduled": 0,
    "InactiveStatusCode": "",
    "ProgramCode": "",
    "HourlyAttendanceProgramCode": "",
    "ExclusionCode": "",
    "CountsForADA": "",
    "MultiTeacherCode": "0",
    "SchedulingGroup": "",
    "TeamCourseGroup": "",
    "TeamNumber": 0,
    "SemesterGroup": "",
    "Track": "",
    "ClassID": 0,
    "EducationServiceCode": "",
    "LanguageOfInstructionCode": "",
    "InstructionalStrategyCode": "",
    "FundingSourceCode": "",
    "CareerTechnicalEducationProviderCode": "",
    "IndependentStudyIndicator": "",
    "DistanceLearningIndicator": "",
    "ItinerantTeacherIndicator": "",
    "UseSupplementalAttendance": false,
    "ArticulatedCourseIndicator": "",
    "NonCampusBasedInstructionCode": "",
    "PopulationServedCode": "",
    "ClassTypeCode": "",
    "MonthlyMinutes": 0,
    "PreKSchoolTypeCode": "",
    "PreKCurriculaCode": "",
    "IsHighQualityPreKProgram": false,
    "InstructionTypeCode": "",
    "ProgramEvaluationTypeCode": "",
    "EducationalEnvironmentCode": "",
    "CareerTechnicalEducationHours": 0,
    "ContentSubcategoryCode": "",
    "CharterNonCoreIndicator": "",
    "AdvancedCourseStateCode": "",
    "OnlineInstructionTypeCode": "",
    "MiddleSchoolCoreIndicator": "",
    "NonCredentialedAuthorizationCode": "",
    "HighQualityCareerTechnicalEducationIndicator": "",
    "ArenaSchedulingIndicator": "",
    "ExcludeFromScheduler": false,
    "FlexPeriodSequenceNumber": 0,
    "ClassCalendarSequenceNumber": 0,
    "UserCode1": "",
    "UserCode2": "",
    "UserCode3": "",
    "UserCode4": "",
    "UserCode5": "",
    "UserCode6": "",
    "UserCode7": "",
    "UserCode8": ""
}

Field Documentation:


NameAeries Table.ColumnDescription
CareerTechnicalEducationProviderCodeSMS.TEPIndicates what entity is providing the Career Technical Education class (e.g., “ROP” or “District”)
ClassIDSMS.CIDThis field is used to identify separate sections as an individual "Class". The Class Size Reduction Reports use the Class ID field.
ClassTypeCodeSMS.CTYFor Texas state reporting, this field indicates the type of class.
CountsForADASMS.ADASections tagged with “N” will not affect the running of the Mass Change All Day Code process when requiring an absence in every period.
CourseIDSMS.CNThe Aeries District Course ID
SectionStaffMembersArray of Staff Member ObjectsSee Scheduling SectionStaffMember Object under 'Sections'
CreditSMS.CRThe number of credits a student will receive for taking this section.
ClassCalendarSMS.DY
CCL.STI
The days of the week this class meets. Flex Schools will use CCL.STI
ClassCalendarSequenceNumberSMS.CSQClass Calendar Sequence Number for Cross-referencing
DistanceLearningIndicatorSMS.DLIIndicates whether this section is offered through distance learning (e.g., online course).
EducationServiceCodeSMS.ESRThe type of education service provided to English Learners in this class
ExclusionCodeSMS.STWhether this section should be excluded from grades and/or attendance reporting
FundingSourceCodeSMS.FSThe funding source for this section (e.g., California Partnership Academy)
GenderRestrictionSMS.GNThis section is restricted to students of a particular gender
HighGradeSMS.HIThe highest grade level of students who would normally take this section.
HighlyQualifiedStatusCode1SMS.HQTThe method by which the primary teacher became Highly Qualified to teach this subject
HighlyQualifiedStatusCode2SMS.HQ2For team teaching/job sharing, the method by which Teacher 2 became Highly Qualified to teach this subject
HighlyQualifiedStatusCode3SMS.HQ3For team teaching/job sharing, the method by which Teacher 3 became Highly Qualified to teach this subject
HourlyAttendanceProgramCodeSMS.HP(no longer used) Was used in summer schools for funding purposes.
InactiveStatusCodeSMS.STGAny value other than blank indicates this section is inactive. Inactive sections should not have any students enrolled.
IndependentStudyIndicatorSMS.ISIIndicates whether this is an independent study class
InstructionalStrategyCodeSMS.INSThe instructional strategy used in this class for specific student groups such English Learners or special education students
ItinerantTeacherIndicatorSMS.ITIndicates whether this section is taught by an itinerant teacher
LanguageOfInstructionCodeSMS.LIThe language in which this class is taught.
LowGradeSMS.LOThe lowest grade level of students who would normally take this section.
MaxStudentsSMS.MXThe maximum number of students who can enroll in this section (i.e., class capacity).
MonthlyMinutesSMS.MMNFor Texas state reporting, this field represents the total number of minutes this class is taught in a month (typically a four-week period).
MultiTeacherCodeSMS.MTSThe type of multi-teacher configuration for this section (such as team teaching or job sharing)
PeriodSMS.PD
FTF.STI
The period (0 – 9) this class meets. Flex Schools will use FTF.STI
FlexPeriodSequenceNumberSMS.FSQFlex Period Sequence Number for Cross-referencing
PeriodBlockSMS.BLIf the class spans multiple consecutive periods, this value will be greater than 1. E.g., if Period is 3 and PeriodBlock is 2, then the class spans period 3 – 4.
PopulationServedCodeSMS.PSVFor Texas state reporting, this field indicates the type of student population served by this section.
ProgramCodeSMS.PRSpecial program related to this section. Certain reports in Aeries can be limited by special program.
RoomSMS.RMThe room number in which this class meets
SchedulingGroupSMS.SGThe Scheduling Group for this section. This is used to create scheduling restrictions and is used in conjunction with the student’s Scheduling Group (see Student Information Extended). Students with a blank scheduling group cannot be scheduled into sections with a non-blank scheduling group, and students with a non-blank scheduling group can only be scheduled into sections with the same or blank scheduling group.
SchoolCodeSMS.SCThe Aeries school code
SectionNumberSMS.SEThe school-based Aeries section number
SemesterSMS.SMThe term during which this section meets
SemesterGroupSMS.GPThe Semester Group for this section. Semester Groups are used to ensure that certain classes are scheduled for a student in different semesters and not at the same time.
TeacherNumber1SMS.TNThe school-based Aeries teacher number of the teacher primarily responsible for this section.
TeacherNumber2SMS.TN2The teacher number of the second teacher teaching this section
TeacherNumber3SMS.TN3The teacher number of the third teacher teaching this section
TeamCourseGroupSMS.CGThe team course group is used to create groups of sections to be further divided into teams.
TeamNumberSMS.TMIn conjunction with the team course group, the team number is used to group sections of different courses into teams. For instance, team scheduling can be used to ensure that students are scheduled into English, Math, Social Studies, and Science courses together while allowing PE and elective courses to have a mixture of students.
TotalBoysSMS.TBThe total number of boys (males) currently enrolled in the section
TotalGirlsSMS.TGThe total number of girls (females) currently enrolled in the section
TotalOtherGenderSMS.TOGThe total number of students of other gender identities (e.g., non-binary) enrolled in the section
TotalPrescheduledSMS.PSThe total number of students currently pre-scheduled in the section
TotalStudentsSMS.TSThe total number of students currently enrolled in the sections
TrackSMS.TRThis section is restricted to students in a specific attendance track.
UseSupplementalAttendanceSMS.USAIndicates whether attendance for the section is based on Supplemental Attendance.
UserCode1SMS.U1User-defined code 1
UserCode2SMS.U2User-defined code 2
UserCode3SMS.U3User-defined code 3
UserCode4SMS.U4User-defined code 4
UserCode5SMS.U5User-defined code 5
UserCode6SMS.U6User-defined code 6
UserCode7SMS.U7User-defined code 7
UserCode8SMS.U8User-defined code 8
ArticulatedCourseIndicatorSMS.ACWhether this is an Articulated Course
NonCampusBasedInstructionCodeSMS.NCINon Campus Based Instruction Indicator
PreKSchoolTypeCodeSMS.PKTPreK School Type
PreKCurriculaCodeSMS.CTPreK Curricula Code
IsHighQualityPreKProgramSMS.HQPHigh Quality PreK Program Indicator
InstructionTypeCodeSMS.SITInstruction Type
ProgramEvaluationTypeCodeSMS.ETProgram Evaluation Type
EducationalEnvironmentCodeSMS.EEEducational Environment Code
CareerTechnicalEducationHoursSMS.CHCTE Hours
ContentSubcategoryCodeSMS.CSCContent Subcategory
CharterNonCoreIndicatorSMS.CNCCharter Non Core Indicator
AdvancedCourseStateCodeSMS.ACCAdvanced Course State Code
OnlineInstructionTypeCodeSMS.OITOnline Instruction Type
MiddleSchoolCoreIndicatorSMS.MSCMiddle School Core Indicator
NonCredentialedAuthorizationCodeSMS.NCANon Credentialed Authorization Code
HighQualityCareerTechnicalEducationIndicatorSMS.HQCHigh Quality CTE Indicator
ArenaSchedulingIndicatorSMS.ARArena Scheduling Indicator
ExcludeFromSchedulerSMS.ESExclude Course from Scheduler

For descriptions of the various coded fields, use our "Code Sets" API: ` /api/v5/codes/sections/{ElementName}

Example:

https://demo.aeries.net/aeries/api/v5/codes/sections/InstructionTypeCode


Scheduling SectionStaff Object:


NameAeries Table.CodeDescription
StaffIDSSM.ID
STF.ID
District Assigned Staff ID. For Non-Flex Schools it comes from STF.ID
LastNameSTF.LNStaff Last Name
FirstNameSTF.FNStaff First Name
IsPrimaryTeacherSSM.PRIndicates if this Staff member is the Primary Teacher. For Non-Flex Schools this is determined by SMS.TN and TCH.ID
StaffRoleCodeSSM.SRFor Non-Flex schools SMS.SR1-SR3 are used
TeacherPositionCodeSSM.TPTX Only - the type of position the Staff member holds in the specific class/section; for example: Teacher of Record, Assistant Teacher, Support Teacher, and Substitute Teacher. For Non-Flex schools SMS.TP1-TP3 are used
AttendancePermissionSSM.APIndicates if Staff member has permission to take attendance. For Non-Flex Schools all Section Teachers have permission
GradebookPermissionCodeSSM.GBPIndicates if the Staff member has Full or Read-only permissions for Gradebook.  For Non-Flex Schools all Section Teachers have Full permission
GradeReportingAccessSSM.GRIndicates if the Staff member can report Grades for this section.  For Non-Flex Schools all Section Teachers have permission
StudentAccessSSM.SACIndicates if Staff member has access to Student-related information.  For Non-Flex Schools all Section Teachers have permission
IncludeInStateReportingSSM.STRShould this Staff member be included in State Reporting.  For Non-Flex Schools all Section Teachers are included in Reporting. 
StartDate
The SectionStaff StartDate and EndDate will always be null for SSM as they are not part of the table
EndDate
InactiveStatusCodeSSM.TGSSM Record is Inactive. For Non-Flex Schools all Section Teachers are Active.


Section (from Scheduling Master Schedule) - Create

Security Area:

  • "Scheduling Master Schedule" - Insert

URL(s):

  • POST /api/v4/schools/{SchoolCode}/scheduling/sections
  • POST /api/v5/schools/{SchoolCode}/scheduling/sections - Section Staff Schools ONLY
    •      SchoolCode (required) – the Aeries School Code. This is normally 1-999.

Notes:

  • After a successful request, this end point returns HTTP status code 201, and the response body contains the "SchedulingMasterScheduleSection" object that was just created.

POST Payload Object:

  • “SchedulingMasterScheduleSectionUpdate” object


“SchedulingMasterScheduleSectionUpdate” Object Definition:

NameData TypeNotes
SectionNumberInt16The section number that forms part of the primary key. If omitted, the section number will automatically be generated for the new record.
Period - Not used for Flex Schools Int16REQUIRED. Valid values are 0-9.
FlexPeriodSequenceNumber (api/v5 only)intIf the FlexPeriodSequenceNumber is invalid (FTF does not exist, or FTF is for a different school, or FTF is not for the correct year), an error will be returned.  Zero is allowed, however.
PeriodBlock - Not used for Flex Schools Int16REQUIRED: Valid values are 1-10. Also, the sum of Period + PeriodBlock must be less than or equal to 10.
SemesterStringREQUIRED Max length: 1. Must be a valid Term for the school.
SplitTerm - Not used for Flex SchoolsStringMax length: 6. Indicates when the class meets. Valid values include "A-DAYS", "B-DAYS", "FIRST", "SECOND", "DAILY", or a list of days of the week with dashes as placeholders for days the class does not meet. E.g., MTWTF or M-W-F or -T-T- .
ClassCalendarSequenceNumber  (api/v5 only) intIf the ClassCalendarSequenceNumber is invalid (CCL does not exist, or CCL is for a different school, or CCL is not for the correct year), an error will be returned.  Zero is allowed, however.
CourseIDStringREQUIRED Max length: 6: The District Course ID for this section
SectionStaffMembers  (api/v5 only) Array of Section Staff ObjectsSee Scheduling SectionStaffMember Object under 'Sections'
TeacherNumber1 (api/v4 only)Int16 REQUIRED: The school-based teacher number of the primary teacher of this section
TeacherNumber2 (api/v4 only)Int16
TeacherNumber3 (api/v4 only)Int16
HighlyQualifiedStatusCode1 (api/v4 only)StringMax length: 1
HighlyQualifiedStatusCode2 (api/v4 only)StringMax length: 1
HighlyQualifiedStatusCode3 (api/v4 only)StringMax length: 1
RoomStringMax length: 6
CreditDecimal
GenderRestrictionStringMax length: 1
LowGradeInt16
HighGradeInt16
MaxStudentsInt16
InactiveStatusCodeStringMax length: 1
ProgramCodeStringMax length: 3
HourlyAttendanceProgramCodeStringMax length: 2
ExclusionCodeStringMax length: 1
CountsForADAStringMax length: 1
MultiTeacherCodeStringMax length: 2
SchedulingGroupStringMax length: 2
TeamCourseGroupStringMax length: 2
TeamNumberInt16
SemesterGroupStringMax length: 1
TrackStringMax length: 1
ClassIDInt32
EducationServiceCodeStringMax length: 1
LanguageOfInstructionCodeStringMax length: 2
InstructionalStrategyCodeStringMax length: 3
FundingSourceCodeStringMax length: 3
CareerTechnicalEducationProviderCodeStringMax length: 1
IndependentStudyIndicatorStringMax length: 1
DistanceLearningIndicatorStringMax length: 1
ItinerantTeacherIndicatorStringMax length: 1
UseSupplementalAttendanceBooleantrue or false
PopulationServedCodeStringMax length: 2
ClassTypeCodeStringMax length: 2
MonthlyMinutesInt16
UserCode1StringMax length: 3
UserCode2StringMax length: 3
UserCode3StringMax length: 3
UserCode4StringMax length: 3
UserCode5StringMax length: 3
UserCode6StringMax length: 3
UserCode7StringMax length: 3
UserCode8StringMax length: 3
ArticulatedCourseIndicatorSMS.ACWhether this is an Articulated Course
NonCampusBasedInstructionCodeSMS.NCINon Campus Based Instruction Indicator
PreKSchoolTypeCodeSMS.PKTPreK School Type
PreKCurriculaCodeSMS.CTPreK Curricula Code
IsHighQualityPreKProgramSMS.HQPHigh Quality PreK Program Indicator
InstructionTypeCodeSMS.SITInstruction Type
ProgramEvaluationTypeCodeSMS.ETProgram Evaluation Type
EducationalEnvironmentCodeSMS.EEEducational Environment Code
CareerTechnicalEducationHoursSMS.CHCTE Hours
ContentSubcategoryCodeSMS.CSCContent Subcategory
CharterNonCoreIndicatorSMS.CNCCharter Non Core Indicator
AdvancedCourseStateCodeSMS.ACCAdvanced Course State Code
OnlineInstructionTypeCodeSMS.OITOnline Instruction Type
MiddleSchoolCoreIndicatorSMS.MSCMiddle School Core Indicator
NonCredentialedAuthorizationCodeSMS.NCANon Credentialed Authorization Code
HighQualityCareerTechnicalEducationIndicatorSMS.HQCHigh Quality CTE Indicator
ArenaSchedulingIndicatorSMS.ARArena Scheduling Indicator
ExcludeFromSchedulerSMS.ESExclude Course from Scheduler


Example POST Payload for Non-Section Staff school:

{
    "Period": 8,
    "PeriodBlock": 2,
    "Semester": "Y",
    "SplitTerm": "MTWTF",
    "CourseID": "0917",
    "TeacherNumber1": 808,
    "TeacherNumber2": 0,
    "TeacherNumber3": 0,
    "HighlyQualifiedStatusCode1": "",
    "HighlyQualifiedStatusCode2": "",
    "HighlyQualifiedStatusCode3": "",
    "Room": "F8",
    "Credit": 5,
    "GenderRestriction": "",
    "LowGrade": 9,
    "HighGrade": 12,
    "MaxStudents": 20,
    "InactiveStatusCode": "",
    "ProgramCode": "",
    "HourlyAttendanceProgramCode": "",
    "ExclusionCode": "",
    "CountsForADA": "",
    "MultiTeacherCode": "",
    "SchedulingGroup": "",
    "TeamCourseGroup": "",
    "TeamNumber": 0,
    "SemesterGroup": "",
    "Track": "",
    "ClassID": 0,
    "EducationServiceCode": "4",
    "LanguageOfInstructionCode": "00",
    "InstructionalStrategyCode": "500",
    "FundingSourceCode": "",
    "CareerTechnicalEducationProviderCode": "",
    "IndependentStudyIndicator": "",
    "DistanceLearningIndicator": "",
    "ItinerantTeacherIndicator": "0",
    "UseSupplementalAttendance": false,
    "PopulationServedCode": "",
    "ClassTypeCode": "",
    "MonthlyMinutes": 0,
    "UserCode1": "",
    "UserCode2": "",
    "UserCode3": "",
    "UserCode4": "",
    "UserCode5": "",
    "UserCode6": "",
    "UserCode7": "",
    "UserCode8": ""
}

Example POST Payload for Section Staff Non-Flex

{
    "Period": 1,
    "PeriodBlock": 1,
  "SplitTerm": "MTWTF",
    "Semester": "Y",
    "CourseID": "0304",
    "SectionStaffMembers": [
        {
            "StaffID": 884605,
            "IsPrimaryTeacher": true,
            "StaffRoleCode": "",
            "TeacherPositionCode": "",
            "AttendancePermission": "Y",
            "GradebookPermissionCode": "F",
            "GradeReportingAccess": "Y",
            "StudentAccess": "Y",
            "IncludeInStateReporting": "Y",
            "InactiveStatusCode": ""
        },
        {
            "StaffID": 884707,
            "IsPrimaryTeacher": false,
            "StaffRoleCode": "033",
            "AttendancePermission": "N",
            "GradebookPermissionCode": "N",
            "GradeReportingAccess": "N",
            "StudentAccess": "Y",
            "IncludeInStateReporting": "N"
        }
    ],
    "Room": "CD3",
    "Credit": 5.0000,
    "GenderRestriction": "",
    "LowGrade": 11,
    "HighGrade": 12,
    "MaxStudents": 40,
    "InactiveStatusCode": "",
    "ProgramCode": "",
    "HourlyAttendanceProgramCode": "",
    "ExclusionCode": "",
    "CountsForADA": "",
    "MultiTeacherCode": "",
    "SchedulingGroup": "",
    "TeamCourseGroup": "",
    "TeamNumber": 0,
    "SemesterGroup": "",
    "Track": "",
    "ClassID": 0,
    "EducationServiceCode": "4",
    "LanguageOfInstructionCode": "00",
    "InstructionalStrategyCode": "",
    "FundingSourceCode": "",
    "CareerTechnicalEducationProviderCode": "",
    "IndependentStudyIndicator": "",
    "DistanceLearningIndicator": "",
    "ItinerantTeacherIndicator": "",
    "UseSupplementalAttendance": false,
    "ArticulatedCourseIndicator": "",
    "NonCampusBasedInstructionCode": "",
    "PopulationServedCode": "",
    "ClassTypeCode": "",
    "MonthlyMinutes": 0,
    "PreKSchoolTypeCode": "",
    "PreKCurriculaCode": "",
    "IsHighQualityPreKProgram": false,
    "InstructionTypeCode": "",
    "ProgramEvaluationTypeCode": "",
    "EducationalEnvironmentCode": "",
    "CareerTechnicalEducationHours": 0,
    "ContentSubcategoryCode": "",
    "CharterNonCoreIndicator": "",
    "AdvancedCourseStateCode": "",
    "OnlineInstructionTypeCode": "",
    "MiddleSchoolCoreIndicator": "",
    "NonCredentialedAuthorizationCode": "",
    "HighQualityCareerTechnicalEducationIndicator": "",
    "ArenaSchedulingIndicator": "",
    "ExcludeFromScheduler": false,
    "UserCode1": "",
    "UserCode2": "",
    "UserCode3": "",
    "UserCode4": "",
    "UserCode5": "",
    "UserCode6": "",
    "UserCode7": "",
    "UserCode8": ""
}



Example POST Payload for Section Staff Flex scheduling

{
    "FlexPeriodSequenceNumber": 11,
    "ClassCalendarSequenceNumber": 14,
    "Semester": "Y",
    "CourseID": "0304",
    "SectionStaffMembers": [
        {
            "StaffID": 894605,
            "IsPrimaryTeacher": true,
            "StaffRoleCode": "",
            "TeacherPositionCode": "",
            "AttendancePermission": "Y",
            "GradebookPermissionCode": "F",
            "GradeReportingAccess": "Y",
            "StudentAccess": "Y",
            "IncludeInStateReporting": "Y",
            "InactiveStatusCode": ""
        },
        {
            "StaffID": 894707,
            "IsPrimaryTeacher": false,
            "StaffRoleCode": "033",
            "AttendancePermission": "N",
            "GradebookPermissionCode": "N",
            "GradeReportingAccess": "N",
            "StudentAccess": "Y",
            "IncludeInStateReporting": "N"
        }
    ],
    "Room": "CD3",
    "Credit": 5.0000,
    "GenderRestriction": "",
    "LowGrade": 11,
    "HighGrade": 12,
    "MaxStudents": 40,
    "InactiveStatusCode": "",
    "ProgramCode": "",
    "HourlyAttendanceProgramCode": "",
    "ExclusionCode": "",
    "CountsForADA": "",
    "MultiTeacherCode": "",
    "SchedulingGroup": "",
    "TeamCourseGroup": "",
    "TeamNumber": 0,
    "SemesterGroup": "",
    "Track": "",
    "ClassID": 0,
    "EducationServiceCode": "4",
    "LanguageOfInstructionCode": "00",
    "InstructionalStrategyCode": "",
    "FundingSourceCode": "",
    "CareerTechnicalEducationProviderCode": "",
    "IndependentStudyIndicator": "",
    "DistanceLearningIndicator": "",
    "ItinerantTeacherIndicator": "",
    "UseSupplementalAttendance": false,
    "ArticulatedCourseIndicator": "",
    "NonCampusBasedInstructionCode": "",
    "PopulationServedCode": "",
    "ClassTypeCode": "",
    "MonthlyMinutes": 0,
    "PreKSchoolTypeCode": "",
    "PreKCurriculaCode": "",
    "IsHighQualityPreKProgram": false,
    "InstructionTypeCode": "",
    "ProgramEvaluationTypeCode": "",
    "EducationalEnvironmentCode": "",
    "CareerTechnicalEducationHours": 0,
    "ContentSubcategoryCode": "",
    "CharterNonCoreIndicator": "",
    "AdvancedCourseStateCode": "",
    "OnlineInstructionTypeCode": "",
    "MiddleSchoolCoreIndicator": "",
    "NonCredentialedAuthorizationCode": "",
    "HighQualityCareerTechnicalEducationIndicator": "",
    "ArenaSchedulingIndicator": "",
    "ExcludeFromScheduler": false,
    "UserCode1": "",
    "UserCode2": "",
    "UserCode3": "",
    "UserCode4": "",
    "UserCode5": "",
    "UserCode6": "",
    "UserCode7": "",
    "UserCode8": ""
}



Section (from Scheduling Master Schedule) - Update

Security Area:

  • "Scheduling Master Schedule" - Update

URL(s):

  • PUT /api/v4/schools/{SchoolCode}/scheduling/sections/{SectionNumber}
  • PUT /api/v5/schools/{SchoolCode}/scheduling/sections/{SectionNumber} - Section Staff School ONLY 
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • SectionNumber (required) - the school-based section number for a single record

Notes:

  • If the section number does not exist, a new record will be created.
  • After a successful request, this end point returns the "SchedulingMasterScheduleSection" object that was just updated or created. If an existing record was updated, the status code will be 200. If a new record was created, the status code will be 201.

PUT Payload Object:

  • “SchedulingMasterScheduleSectionUpdate” object


“SchedulingMasterScheduleSectionUpdate” Object Definition:


The definition is the same that is given with the Section (from Scheduling Master Schedule) - Create documentation, with the following exceptions:


  • SectionNumber is ignored in the body. The SectionNumber from the URL is used instead.
  • There are no required elements when updating an existing record. Elements that are omitted from the request will be unchanged on the existing record.
  • IMPORTANT: When changing the CourseID, the following additional element is required in the object passed in the request body:
  • If SectionStaffMembers is included with an Update (PUT) request for an existing record, then a property called SectionStaffUpdateOption must also be included.  If it is not, an error will be returned.


NameData TypeNotes
StudentScheduleOptionsStringValid values are "LockedStudents", "AllStudents", and "DropStudents". This element determines what action to take with Student Course Requests that are already assigned to this section.  If there are no Student Course Requests assigned to this section, this element will be ignored.

LockedStudents: Update the Course Request Course ID only for students whose section assignment is Locked (either the PermanentLockCode is populated, or the RejectCode is populated with '*'). All other students will have their Course Request unassigned from this section.
AllStudents: Update the Course Request Course ID for all students currently assigned to this section.
DropStudents: Unassign all students from this section. The actual Student Course Requests will be kept, but the section assignment will be cleared.
SectionStaffUpdateOptionStringValid values are "Update" and "Replace"
  • For "Update", the API will use the items in SectionStaffMembers to add new SSM records and/or update existing SSM records with the property values that are included.  No SSM records will ever be deleted in this case.
  • For "Replace", the API will first delete all existing SSM records for the section.  Then, the items in SectionStaffMembers will be added.


Example PUT Payload:

{
"CourseID": "0917",
"StudentScheduleOptions": "LockedStudents"
}


Section (from Scheduling Master Schedule) - Delete

Security Area:

  • "Scheduling Master Schedule" - Delete

URL(s):

  • DELETE /api/v4/schools/{SchoolCode}/scheduling/sections/{SectionNumber}
  • DELETE /api/v5/schools/{SchoolCode}/scheduling/sections/{SectionNumber} - Section Staff School ONLY
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • SectionNumber (required) - the school-based section number for a single record

Notes:

  • After a successful request, an empty response with HTTP status code 204 will be returned.
  • If there are Student Course Requests assigned to the section, they will automatically be unassigned from the section. The actual Student Course Requests will be kept, but the section assignment will be cleared.


Student Course Requests

Security Area: 

  • "Student Scheduling Schedules (Course Requests)"

URL(s):

  • /api/v5/schools/{SchoolCode}/scheduling/courserequests
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • Returns list of course requests (SSS) for the entire school
  • /api/v5/schools/{SchoolCode}/students/{StudentID}/courserequests/{SequenceNumber}
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • StudentID (required) - The Aeries District Student ID Number.
    • SequenceNumber (optional) - The sequence number for a single record for the given student.
  • api/v5/schools/{SchoolCode}/students/sn/{sn}/courserequests/{sq} 
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • StudentNumber (required) - The School-assigned Student number
    • SequenceNumber (optional) - The sequence number for a single record for the given student.

Notes:

  • If the student is not passed, all student course request records for the school will be returned.
  • If Sequence Number is not passed, all student course request records for the given student will be returned.
  • If the Alternate Tag is set (SSS.AT = "X"), then the ActualPrimaryCourseID property will have the value from SSS.AC.  This means that an alternate course is currently being scheduled, so SSS.AC contains the original course while SSS.CN is now the alternate
  • AlternateCourseRequests is included and is a list of alternate course requests from ACR that are associated with each primary course request

Example Student Course Requests Results:

https://demo.aeries.net/aeries/api/v5/schools/994/students/99400002/courserequests

 {
        "StudentID": 99400002,
        "AlternateCourseRequests": [
            {
                "StudentID": 99400002,
                "SchoolCode": 994,
                "SequenceNumber": 3,
                "CourseID": "0630",
                "PrioritySortOrder": 17.0
            }
        ],
        "ActualPrimaryCourseID": "",
        "SchoolCode": 994,
        "SequenceNumber": 5,
        "SectionNumber": 3002,
        "CourseID": "0608",
        "PreferredTeacherNumber": 0,
        "RejectCode": "",
        "AlternateTag": "",
        "PermanentLockCode": ""
    },
    {
        "StudentID": 99400002,
        "AlternateCourseRequests": [],
        "ActualPrimaryCourseID": "",
        "SchoolCode": 994,
        "SequenceNumber": 6,
        "SectionNumber": 460,
        "CourseID": "0970",
        "PreferredTeacherNumber": 0,
        "RejectCode": "",
        "AlternateTag": "",
        "PermanentLockCode": ""
    },
    {
        "StudentID": 99400002,
        "AlternateCourseRequests": [
            {
                "StudentID": 99400002,
                "SchoolCode": 994,
                "SequenceNumber": 1,
                "CourseID": "0402",
                "PrioritySortOrder": 1.0
            },
            {
                "StudentID": 99400002,
                "SchoolCode": 994,
                "SequenceNumber": 2,
                "CourseID": "361",
                "PrioritySortOrder": 9.0
            }
        ],
...
...
}


Field Documentation:

NameAeries Table.ColumnDescription
AlternateCourseRequestsArrayArray of alternate course requests from ACR that are associated with each primary course request
ActualPrimaryCourseIDSSS.CN/SSS.AC

If the Alternate Tag is set (SSS.AT = "X"), then the ActualPrimaryCourseID property will have the value from SSS.AC.  This means that an alternate course is currently being scheduled, so SSS.AC contains the original course while SSS.CN is now the alternate

AlternateTagSSS.ATValid values are blank and 'X'. An 'X' indicates that the Scheduler has swapped the alternate course and the primary course because the primary course could not be scheduled.
CourseIDSSS.CNThe District course ID of the primary course that has been requested.
StudentIDSTU.IDThe Permanent ID for the student
PermanentLockCodeSSS.PLA non-blank value indicates that the assigned section is locked and should not be changed on subsequent runs of the Scheduler.
PreferredTeacherNumberSSS.TNThe school-specific teacher number for the preferred teacher for this student course request. If a section number is assigned, this is NOT necessarily the same as the teacher of that section.
PreferredSTaffIDSSS.PSPreferred Staff ID
RejectCodeSSS.RTSee Codes API for valid values and descriptions. A value of '*' indicates that the assigned section is locked and should not be changed on subsequent runs of the Scheduler. Any other non-blank value indicates a reason that the requested course could not be scheduled for the student.
SchoolCodeSSS.SCThe Aeries school code
SectionNumberSSS.SEThe section number assigned to this student course request from the Scheduling Master Schedule
SequenceNumberSSS.SQThe sequence number is part of the primary key. It has no independent meaning.



Student Course Requests - Create

Security Area:

  • "Student Scheduling Schedules (Course Requests)" - Insert

URL(s):

  • POST /api/v5/schools/{SchoolCode}/students/{StudentID}/courserequests/ 
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • StudentID (required) - The Aeries District Student ID Number.

Notes:

  • After a successful request, this end point returns HTTP status code 201, and the response body contains the "StudentCourseRequest" object that was just created.

POST Payload Object:

  • “StudentCourseRequestUpdate” object


“StudentCourseRequestUpdate” Object Definition:

NameData TypeNotes
SequenceNumberInt16The sequence number that forms part of the primary key. If omitted, the sequence number will automatically be generated for the new record. Aeries recommends allowing the system to automatically assign the sequence number.
SectionNumberInt16If populated, must be a valid Section Number from the Scheduling Master Schedule. This indicates that the student has been assigned to this section during the scheduling process. Also, the Course ID for this course request must match the Course ID of the Scheduling Master Schedule section.
CourseIDStringREQUIRED Max length: 6: The District Course ID for this course request.
PreferredTeacherNumberInt16The school-based teacher number of the preferred teacher for this course request. Use '0' to clear any current values.  For Flex schools this is not used. If the school is using Section-Staff, and if PreferredTeacherNumber is included in the request body with a value > 0, an error will be returned
PreferredStaffIDintIf the school is a Section Staff school, then PreferredStaffID will save to SSS.PS if it is included
If the PreferredStaffID is invalid (STF record does not exist), an error will be returned
If the school is NOT using Section Staff and PreferredStaffID is included and > 0, an error will be returned

RejectCodeStringMax length: 2. Must be a valid code. Use the Codes API for valid codes and descriptions.
AlternateTagStringMax length: 1. Valid values are blank and 'X'. An 'X' indicates that the Scheduler has swapped the alternate course and the primary course because the primary course could not be scheduled.
ActualPrimaryCourseIDStringActualPrimaryCourseID can be included (see explanation above) and will be used only if AlternateTag = "X"
PermanentLockCodeStringMax length: 2
AlternateCourseRequestReferencesArrayThe numbers represent sequence numbers of existing alternate course requests for the student (ACR.SQ).  This will associate the new course request with the existing alternate requests (i.e., create ACA records to link SSS to ACR)


Example POST Payload Non-Section Staff school:

{
    "SectionNumber": 0,
    "CourseID": "0001",
    "PreferredTeacherNumber":0,
    "RejectCode": "",
    "AlternateTag": "",
    "ActualPrimaryCourseID": "",
    "PermanentLockCode": "",
    "AlternateCourseRequestReferences": [
      1,
      3
    ]
}

Example POST Payload Section Staff school:

{
    "SectionNumber": 0,
    "CourseID": "0001",
    "PreferredStaffID": "994605:,
    "RejectCode": "",
    "AlternateTag": "",
    "ActualPrimaryCourseID": "",
    "PermanentLockCode": "",
    "AlternateCourseRequestReferences": [
      1,
      3
    ]
}



Student Course Requests - Update

Security Area:

  • "Student Scheduling Schedules (Course Requests)" - Update

URL(s):

  • PUT /api/v5/schools/{SchoolCode}/students/{StudentID}/courserequests/{sq} 
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • StudentID (required) - The Aeries Student District Permanent ID Number.
    • SequenceNumber (required) - The sequence number for a single record for the given student. Must be greater than 0.

Notes:

  • If the sequence number does not exist, a new record will be created.
  • After a successful request, this end point returns the "StudentCourseRequest" object that was just updated or created. If an existing record was updated, the status code will be 200. If a new record was created, the status code will be 201.

PUT Payload Object:

  • “StudentCourseRequestUpdate” object


“StudentCourseRequestUpdate” Object Definition:


The definition is the same that is given with the Student Course Requests - Create documentation, with the following exceptions:


  • SequenceNumber is ignored in the body. The SequenceNumber from the URL is used instead.
  • There are no required elements when updating an existing record. Elements that are omitted from the request will be unchanged on the existing record.
  • ActualPrimaryCourseID can be included (see explanation above) and will be used only if AlternateTag = "X"
  • AlternateCourseRequestReferences can be included as an array of numbers.  The numbers represent sequence numbers of existing alternate course requests for the student (ACR.SQ).  This will associate the course request with the existing alternate requests (i.e., create ACA records to link SSS to ACR)
  • If AlternateCourseRequestReferences is included, then AlternateCourseRequestUpdateOptions should be included with a value of either "Append" or "Replace".
    • If "Append", then no existing ACA records will be deleted, and the AlternateCourseRequestReferences will be added to the existing ACA records
    • If "Replace", then any existing ACA records that are NOT in AlternateCourseRequestReferences will be deleted.  Afterwards, the alternates associated with this course request will be ONLY those given in AlternateCourseRequestReferences
  • If the school is a Section Staff school, then PreferredStaffID will save to SSS.PS if it is included. If the PreferredStaffID is invalid (STF record does not exist), an error will be returned. If the school is NOT using Section Staff and PreferredStaffID is included and > 0, an error will be returned


Example PUT Payload Non-Section Staff school:

{   "CourseID":"0646",
    "AlternateCourseRequestReferences": [
      3
    ],
    "AlternateCourseRequestUpdateOptions": "replace"
}

{   "CourseID":"0500",
    "AlternateCourseRequestReferences": [
      1,2
    ],
    "AlternateCourseRequestUpdateOptions": "Append"
}

Example PUT Payload Section Staff school:

{   "CourseID":"0646",
    "PreferredStaffID": 894605,
    "AlternateCourseRequestReferences": [
      3
    ],
    "AlternateCourseRequestUpdateOptions": "replace"
}
{   "CourseID":"0500",
    "AlternateCourseRequestReferences": [
      1,2
    ],
    "AlternateCourseRequestUpdateOptions": "Append"
}



Student Course Requests - Delete

Security Area:

  • "Student Scheduling Schedules (Course Requests)" - Delete

URL(s):

  • DELETE /api/v5/schools/{SchoolCode}/students/{StudentID}/courserequests/{SequenceNumber}
    • SchoolCode (required) – the Aeries School Code. This is normally 1-999.
    • StudentID (required) - The Aeries Student District Permanent ID Number.
    • SequenceNumber (required) - The sequence number for a single record for the given student.

Notes:

  • After a successful request, an empty response with HTTP status code 204 will be returned.


Student Alternate Course Requests

Security Area:

  • "Student Scheduling Schedules (Course Requests)"

URL(s)

  • /api/v5/schools/{SchoolCode}/scheduling/alternatecourserequests/
    • Returns list of alternate course requests (ACR) for the entire school
  •  /api/v5/schools/{SchoolCode}/students/{StudentID}/alternatecourserequests/{sq}
    • Returns list of alternate course requests for a single student (by student ID)
    • If sq is passed, then returns a single alternate course request for the student

  •  /api/v5/schools/{SchoolCode}/students/sn/{sn}/alternatecourserequests/{sq}
    • Returns list of alternate course requests for a single student (by student number)
    • If sq is passed, then returns a single alternate course request for the student


Example Student Alternate Course Requests

https://demo.aeries.net/aeries/api/v5/schools/994/students/99400002/alternatecourserequests/

[
    {
        "StudentID": 99400002,
        "SchoolCode": 994,
        "SequenceNumber": 1,
        "CourseID": "0402",
        "PrioritySortOrder": 1.0
    },
    {
        "StudentID": 99400002,
        "SchoolCode": 994,
        "SequenceNumber": 2,
        "CourseID": "361",
        "PrioritySortOrder": 9.0
    },
    {
        "StudentID": 99400002,
        "SchoolCode": 994,
        "SequenceNumber": 3,
        "CourseID": "0630",
        "PrioritySortOrder": 17.0
    }
]

Alternate Course Requests - Create

  • POST /api/v5/schools/{SchoolCode}/students/{StudentID}/alternatecourserequests
    • School Code - Required
    • Student ID - Required

Security Area:

  • "Student Scheduling Schedules (Course Requests)" - Insert

Notes:

  • The sequence number (ACR.SQ) for the new record will be created automatically.  It is possible to include a new SequenceNumber in the request body, but that is not the recommended practice.
  • If RelativePrioritySortOrder is omitted/null, then the new record will be sorted last after any existing ACR records.  However, a value of 0 for RelativePrioritySortOrder is invalid and will generate an error response.
  • RelativePrioritySortOrder is the order that the new ACR record should be in.  This is different from the raw PrioritySortOrder value in the ACR.SRT field.  ACR.SRT is calculated automatically using a formula that "squeezes" a new SRT value between existing values so sort order can be maintained while only updating one ACR record at a time.  The caller of the API does not need to worry about this calculation.  For example, if you want the new record to be 2nd, just pass 2 and the system will do the rest.  Therefore, after calling this endpoint, the value returned for PrioritySortOrder will be different from the value requested for RelativePrioritySortOrder.

Example POST Payload Object:

{   
       "CourseID": "1234",    
       "RelativePrioritySortOrder": 2

}


Alternate Course Requests - Update

Security Area:

  • "Student Scheduling Schedules (Course Requests)" - Update
PUT /api/v5/schools/{SchoolCode}/students/{StudentID}/alternatecourserequests/{sq}
  • School Code - Required
  • Student ID - Required
  • Sequence - Required


Example PUT Payload:

{      
      "RelativePrioritySortOrder": 4    
}


NOTE: RelativePrioritySortOrder is the order that the ACR record should be in.  This is different from the raw PrioritySortOrder value in the ACR.SRT field.  ACR.SRT is calculated automatically using a formula that "squeezes" a new SRT value between existing values so sort order can be maintained while only updating one ACR record at a time.  The caller of the API does not need to worry about this calculation.  For example, if you want the record to be moved to the 1st position, just pass 1 and the system will do the rest.  Therefore, after calling this endpoint, the value returned for PrioritySortOrder will be different from the value requested for RelativePrioritySortOrder.


Alternate Course Requests - Delete 

Security Area:

  • "Student Scheduling Schedules (Course Requests)" - Delete
DELETE /api/v5/schools/{SchoolCode}/students/{StudentID}/alternatecourserequests/{sq}


Delete an existing ACR record and association with Primary Course.


Other Notes
Error handling is in place for things like invalid school, invalid student, trying to get or delete a single record by SQ that doesn't exist, creating/updating with invalid data (e.q., invalid course ID), etc.



NOTE: The Scheduling Create, Update and Delete endpoints have not yet been upgraded to V5 and do not support Flex/Section-Staff schools.