-
Notifications
You must be signed in to change notification settings - Fork 3
Class Schedule Web API
Beginning with Version 2 the CTC Class Schedule includes a read-only web API that can be used to request class data in the JSON format. Do make such a call, simply include a format
parameter of json
with the GET request. For example,
http://bellevuecollege.edu/classes/All/ABE/?format=json
returns the same information as
http://bellevuecollege.edu/classes/All/ABE/
but as a JSON data set instead of an HTML document.
Most pages in the CTC Class Schedule support retrieving class data as JSON in this manner.
The following sections document the JSON data that is returned by the various API calls.
URL:
http://bellevuecollege.edu/classes/All/?format=json
Returns: Course catalog information (i.e. list of subjects) currently being offered by the college.
-
CurrentQuarter
:YearQuarter
The current quarter - calculated based on the current date.
-
Subjects
:Subject
[]An array of course subjects.
-
NavigationQuarters
:YearQuarter
Array of available quarters. See NavigationQuarters for more detail.
-
LettersList
: string []Array of letters for which subjects are available. Used primarily in construction UI navigation. Passing a query parameter of
letter=X
(whereX
is the letter to filter by) will return only subjects beginning with that letter. -
ViewingLetter
: stringIf a
letter
was specified in the HTTP call, this will contain that letter, for reference.
URL:
http://bellevuecollege.edu/classes/All/
slug /?format=json
Returns:
Course catalog information for the specified slug (e.g. ENGL
, ART
, PE
). Frequently, the slug
will be the same as the associated course subject, but in some cases a slug may apply to more than one subject.
-
CurrentQuarter
:YearQuarter
The current quarter - calculated based on the current date.
-
Courses
: Course []An array of courses for the requested subject.
-
CourseID
: stringA unique value that defines the course of study. (e.g.
ENGL 101
) -
Subject
: stringThe abbreviated subject code for the course. Typically, the left-hand value in the
CourseID
. (e.g.ENGL
) In most cases, the subject will be the same as the slug, but there is no requirement that this be the case. Use subject when displaying content to the user and the slug when constructing URLs. -
Number
: stringThe right-hand value of the
CourseID
. (e.g.101
) -
Title
: stringThe one-line title of the course.
-
Descriptions
:Description
[]An array containing the current and any future descriptions of the course. The first item in the array is the currently-active description (for the
CurrentQuarter
) and each additional item is the next description to take effect. -
Credits
: decimalThe number of credits that will be earned upon completing the course. Alternatively, this value can indicate the maximum number of credits that can be earned - see
IsVariableCredits
. -
YearQuarterBegin
:YearQuarter
The quarter in which the course began/begins being offered.
-
YearQuarterEnd
:YearQuarter
The quarter in which the course ends/ended. If this value is [maximum] then no ending quarter was specified.
-
IsCommonCourse
: boolWhen true, indicates that the course meets the Common Course Numbering requirements.
-
IsVariableCredits
: boolWhen true, the number of credits that can be earned for the course is 1 -
Credits
. -
Footnotes
: string []Footnotes provide additional meta information of interest to prospective students. For example: additional requirements, fees, etc.
-
-
NavigationQuarters
:YearQuarter
Array of available quarters. See NavigationQuarters for more detail.
-
Slug
: string -
SubjectTitle
: string -
SubjectIntro
: string -
DepartmentTitle
: string -
DepartmentURL
: url
URL: http://bellevuecollege.edu/classes/
quarter /?format=json
Returns: List of subjects offering courses for the quarter (one of "Summer", "Fall", "Winter" or "Spring" followed by a 4-digit year, with no spaces - e.g. Fall2013
):
-
NavigationQuarters
:YearQuarter
[]Array of available quarters. See NavigationQuarters for more detail.
-
Modality
: -
Days
: -
ViewingSubjects
:Subject
[] -
SubjectLetters
: string [] -
ViewingQuarter
:YearQuarter
URL: http://bellevuecollege.edu/classes/
quarter /
subject /?format=json
Returns: Class offerings for the quarter (one of "Summer", "Fall", "Winter" or "Spring" followed by a 4-digit year, with no spaces - e.g. Fall2013
) and subject specified (e.g. ENGL
, ART
, PE
):
-
Courses
: Course[]-
Sections
: Section[]-
SeatsAvailable
: int -
SeatsLastUpdated
: string (datetime) -
LastUpdated
: string (time) -
LastUpdatedBy
: string -
CourseFootnotes
: string -
SectionFootnotes
: string -
CustomDescription
: string -
CourseTitle
: string -
ID
:-
ItemNumber
: string -
YearQuarter
: string (YRQ ID)
-
-
IsCrossListed
: bool - ?? ID ??
-
CourseSubject
: string -
CourseNumber
: string -
CourseDescriptions
:Description
[] -
Yrq
:YearQuarter
-
StartDate
: datetime -
EndDate
: datetime -
IsOnline
: bool -
IsOnCampus
: bool -
IsTelecourse
: bool -
IsHybrid
: bool -
IsContinuousEnrollment
: bool -
IsVariableCredits
: bool -
IsDifferentStartDate
: bool -
IsLinked
: bool -
LinkedTo
: string (item number) -
IsDifferentEndDate
: bool -
SectionCode
: string (A) -
Footnotes
: string [] -
CourseID
: string -
IsCommonCourse
: bool -
Credits
: decimal -
Offered
: []-
ID
: guid -
Days
: string (MW) -
StartTime
: datetime -
EndTime
: datetime -
InstructorID
: string (SID) -
InstructorName
: string -
InstructorEmail
: string -
Room
: string -
IsPrimary
: bool -
SequenceOrder
: number
-
-
WaitlistCount
: number -
LastRegistrationDate
: datetime
-
-
LinkedSections
: string (?) [] -
CommonFootnotes
: string [] -
IsCrosslisted
: bool
-
An array of YearQuarters
representing the "current" and previous quarters. The term current quarter can have many different meanings depending on context. In the Class Schedule, the "current" quarter is determined by the following (in order):
- The quarter for which registration is currently open. In the case where registration periods overlap (i.e. Fall and Summer), the earlier quarter is chosen (i.e. Fall). OR,
- If registration is not currently open, the quarter currently taking place, OR
- If the current date/time falls during a break between quarters, the previous quarter is considered active until the first day of the next quarter.
A YearQuarter is a value that identifies one of 4 quarters ( Summer, Fall, Winter, Spring) for a specific year. (Note that the term quarter alone typically refers to a quarter without specifying a particular year.)
-
ID
: stringA 4-character unique identifier. Primarily used in code-based calculations, selections, etc. (Ex:
A341
) -
FriendlyName
: stringA more human-readable representation of the
YearQuarter
value. Typically used in user interfaces, etc. (Ex:Fall 2013
)
-
Title
: stringThe one-line title of the subject of study. (e.g.
English
orAmerican Sign Language
) -
Slug
: stringThe portion of the URL which uniquely identifies the current subject. Slugs may look like course prefixes, but are unique and can be mapped to one or more of the latter.
-
CoursePrefixes
: string []Array of strings, each of which is an abbreviation representing a course of study under the current subject. (e.g. [
HSSA&
,ALDAC
]). This architecture also supports subjects that cover both Common Course and non-Common Course numbered courses. (e.g. [ENGL
,ENGL&
])
Course descriptions can change as time goes by, so each course has an array of descriptions - each specifying the YearQuarter in which they become effective. Having future information can be useful to let students know that a course will be changing its description, and when.
-
CourseID
: stringThe unique value which identifies a course. Typically a subject and course number, separated by a space. (Ex:
ENGL 101
) -
Description
: stringThe official description of the course.
-
YearQuarterBegin
:YearQuarter
The quarter that this description took/takes effect.