{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://schema.org/schemas/course.json", "title": "Schema.org Course", "description": "A description of an educational course which may be offered as distinct instances which take place at different times or locations, or through different media.", "type": "object", "required": ["@type", "name"], "properties": { "@type": { "type": "string", "const": "Course", "description": "The Schema.org type." }, "@context": { "type": "string", "default": "https://schema.org" }, "name": { "type": "string", "description": "The name of the course." }, "description": { "type": "string", "description": "A description of the course." }, "url": { "type": "string", "format": "uri", "description": "URL of the course." }, "image": { "oneOf": [ { "type": "string", "format": "uri" }, { "$ref": "schema-org-image-object-schema.json" } ], "description": "An image of the course." }, "provider": { "oneOf": [ { "$ref": "schema-org-person-schema.json" }, { "$ref": "schema-org-organization-schema.json" } ], "description": "The service provider of the course." }, "courseCode": { "type": "string", "description": "The identifier for the Course used by the course provider." }, "coursePrerequisites": { "oneOf": [ { "type": "string" }, { "$ref": "#" }, { "type": "array", "items": { "oneOf": [{ "type": "string" }, { "$ref": "#" }] } } ], "description": "Requirements for taking the course." }, "educationalLevel": { "type": "string", "description": "The level in terms of progression through an educational or training context." }, "educationalCredentialAwarded": { "type": "string", "description": "A description of the qualification or credential awarded upon completion." }, "numberOfCredits": { "oneOf": [ { "type": "integer" }, { "type": "object", "properties": { "@type": { "const": "StructuredValue" }, "value": { "type": "integer" } } } ], "description": "The number of credits or units awarded by a Course." }, "hasCourseInstance": { "oneOf": [ { "$ref": "#/$defs/CourseInstance" }, { "type": "array", "items": { "$ref": "#/$defs/CourseInstance" } } ], "description": "An offering of the course at a specific time and place." }, "about": { "type": "object", "description": "The subject matter of the course.", "properties": { "@type": { "type": "string" }, "name": { "type": "string" } } }, "inLanguage": { "type": "string", "description": "The language of the course content." }, "teaches": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ], "description": "The item being described is intended to help a person learn the competency or learning outcome." }, "totalHistoricalEnrollment": { "type": "integer", "description": "The total number of students that have enrolled in the history of the course." }, "financialAidEligible": { "type": "string", "description": "A financial aid type or program which students may use to pay for the course." }, "availableLanguage": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ], "description": "A language someone may use with or at the item." }, "aggregateRating": { "$ref": "schema-org-aggregate-rating-schema.json", "description": "The overall rating." }, "review": { "oneOf": [ { "$ref": "schema-org-review-schema.json" }, { "type": "array", "items": { "$ref": "schema-org-review-schema.json" } } ], "description": "A review of the course." }, "offers": { "oneOf": [ { "$ref": "schema-org-offer-schema.json" }, { "type": "array", "items": { "$ref": "schema-org-offer-schema.json" } } ], "description": "An offer to provide this course." }, "sameAs": { "oneOf": [ { "type": "string", "format": "uri" }, { "type": "array", "items": { "type": "string", "format": "uri" } } ], "description": "URL of a reference Web page that unambiguously indicates the item's identity." } }, "$defs": { "CourseInstance": { "type": "object", "description": "An instance of a Course offered at a specific time and place.", "properties": { "@type": { "type": "string", "const": "CourseInstance" }, "name": { "type": "string", "description": "The name of the course instance." }, "courseMode": { "type": "string", "description": "The medium or means of delivery of the course instance (e.g., online, onsite, blended)." }, "courseWorkload": { "type": "string", "description": "The amount of work expected of students." }, "instructor": { "$ref": "schema-org-person-schema.json", "description": "A person assigned to instruct or provide educational instruction." }, "startDate": { "type": "string", "format": "date", "description": "The start date." }, "endDate": { "type": "string", "format": "date", "description": "The end date." }, "location": { "oneOf": [{ "type": "string" }, { "$ref": "schema-org-place-schema.json" }], "description": "The location of the course instance." }, "courseSchedule": { "type": "object", "description": "Represents the schedule for the course.", "properties": { "@type": { "const": "Schedule" }, "repeatFrequency": { "type": "string" }, "repeatCount": { "type": "integer" } } } } } } }