The Requisite object and its properties apply to either the preRequisites or coRequisites properties of the Course object (docs here). Each Requisite is the chain of all preRequisites of the given course, until there are no more lower levels of preRequisites. Note that for coRequisites, the chain stops as soon as any course is reached (in string form) and will not propagate to the lowest levels of preRequisites.

Each item of a course's preRequisites can contain none or more of the following properties:

oneOf

The oneOf property is an array of <Course>, <Requisite>, or string Satisfying any one of the items in the array satisfies the pre-requisite.

// schema
preRequisites: [
	...
	{
		oneOf: [
			<Course Object>
			OR
			<Requisite Object>
			OR
			<string>
		]
	}
	...
]

recommended

The recommended property is an array of string. Each item is a recommended pre-requisite and not required.

// schema
preRequisites: [
	...
	{
		recommended: [
			<string>
		]
	}
	...
]

scoreOf

The scoreOf property is a string of the grade that must be achieved in the listed courses. The metric property is a string which specifies the score format (ex. percentage, or letter-grade). The courses property is an array of <Course> or <Requisite> for which the grade applies as indicated in scoreOf.

// schema
preRequisites: [
	...
	{
		scoreOf: String,
		metric: String,
		courses: [
			<Course>
			OR
			<Requisite>
		]
	}
	...
]

advancedCredit

The advancedCredit property is an array of string courses which must be taken for advanced credit. This typically applies only to courses taken prior enrolment in a post-secondary institution.

// schema
preRequisites: [
	...
	{
		advancedCredit: [
			<string>
		]
	}
	...
]