{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://api-evangelist.github.io/university-of-waterloo/json-schema/university-of-waterloo-course-schema.json", "title": "Course", "description": "An academic Course at Waterloo, a Course can be scheduled to become a Class", "type": "object", "properties": { "courseId": { "type": [ "string", "null" ], "description": "Course Id that identifies this Course, not unique across terms" }, "courseOfferNumber": { "type": "integer", "description": "Course Offer Number identifies cross-listed and similar Courses that shared a Course Id in a Term", "format": "int32" }, "termCode": { "type": [ "string", "null" ], "description": "Waterloo Term code for which this Course data applies" }, "termName": { "type": [ "string", "null" ], "description": "Waterloo Term name for which this Course data applies" }, "associatedAcademicCareer": { "type": [ "string", "null" ], "description": "Academic Career code associated with Course" }, "associatedAcademicGroupCode": { "type": [ "string", "null" ], "description": "The Academic Group code that is assocaited to this Course" }, "associatedAcademicOrgCode": { "type": [ "string", "null" ], "description": "The Academic Organization code that is associated to this Course" }, "subjectCode": { "type": [ "string", "null" ], "description": "The Subject code for this Course" }, "catalogNumber": { "type": [ "string", "null" ], "description": "The Catalog Number for this Course" }, "title": { "type": [ "string", "null" ], "description": "Course title, full name of course" }, "descriptionAbbreviated": { "type": [ "string", "null" ], "description": "Short description of the course, often an abbreviation of the title" }, "description": { "type": [ "string", "null" ], "description": "Description of the Course content and topics" }, "gradingBasis": { "type": [ "string", "null" ], "description": "Code to describe the grading basis for this course, can be overriden at Class level" }, "courseComponentCode": { "type": [ "string", "null" ], "description": "Course Component Code that describes if the course is a lecture, tutorial, etc." }, "enrollConsentCode": { "type": [ "string", "null" ], "description": "Code describing whether No, Instructor, or Department consent to enroll is required. Can be overwridden at Class level." }, "enrollConsentDescription": { "type": [ "string", "null" ], "description": "Description of the enroll requirement. Can be overwridden at Class level.", "readOnly": true }, "dropConsentCode": { "type": [ "string", "null" ], "description": "Code describing whether No, Instructor, or Department consent to drop is required. Can be overwridden at Class level." }, "dropConsentDescription": { "type": [ "string", "null" ], "description": "Description of the drop requirement. Can be overwridden at Class level.", "readOnly": true }, "requirementsDescription": { "type": [ "string", "null" ], "description": "Description of the Course requirements, such as pre-requisites, anti-requisites, and co-requisites" } }, "additionalProperties": false }