{
  "name": "Course",
  "description": "An educational course. Use for online courses, workshops, training programs, or educational content.",
  "schema_type": "Course",
  "version": "1.0.0",
  "fields": [
    { "key": "name", "label": "Course Name", "type": "text", "required": true, "description": "The name of the course" },
    { "key": "description", "label": "Description", "type": "textarea", "required": true, "description": "A description of the course" },
    { "key": "provider", "label": "Course Provider", "type": "object", "required": true, "description": "The organization offering the course" },
    { "key": "url", "label": "Course URL", "type": "url", "required": false, "description": "Link to the course page" },
    { "key": "courseCode", "label": "Course Code", "type": "text", "required": false, "description": "The course identifier or code" },
    { "key": "hasCourseInstance", "label": "Course Instance", "type": "object", "required": false, "description": "A specific instance of the course" },
    { "key": "offers", "label": "Offers", "type": "object", "required": false, "description": "Pricing information" },
    { "key": "aggregateRating", "label": "Aggregate Rating", "type": "object", "required": false, "description": "Overall rating of the course" },
    { "key": "image", "label": "Image", "type": "url", "required": false, "description": "Course image" }
  ],
  "template": {
    "@context": "https://schema.org",
    "@type": "Course",
    "name": "",
    "description": "",
    "provider": { "@type": "Organization", "name": "", "sameAs": "" },
    "url": "",
    "hasCourseInstance": { "@type": "CourseInstance", "courseMode": "online", "startDate": "", "endDate": "" }
  },
  "google_required": ["name", "description", "provider"],
  "google_recommended": ["url", "offers", "aggregateRating"]
}
