{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$ref": "#/definitions/SCSearchResult",
  "description": "A search response",
  "definitions": {
    "SCSearchResult": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThings"
          },
          "description": "Data (any data object)"
        },
        "facets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCFacet"
          },
          "description": "Facets (aggregations over all matching data)"
        },
        "pagination": {
          "$ref": "#/definitions/SCSearchResultPagination",
          "description": "Pagination information"
        },
        "stats": {
          "$ref": "#/definitions/SCSearchResultSearchEngineStats",
          "description": "Stats of the search engine"
        }
      },
      "required": [
        "data",
        "facets",
        "pagination",
        "stats"
      ],
      "additionalProperties": false,
      "description": "A search response"
    },
    "SCThings": {
      "anyOf": [
        {
          "$ref": "#/definitions/SCIndexableThings"
        },
        {
          "$ref": "#/definitions/SCDiff"
        },
        {
          "$ref": "#/definitions/SCFavorite"
        },
        {
          "$ref": "#/definitions/SCSetting"
        }
      ],
      "description": "An object that exists in the StAppsCore"
    },
    "SCIndexableThings": {
      "anyOf": [
        {
          "$ref": "#/definitions/SCAssessment"
        },
        {
          "$ref": "#/definitions/SCAcademicEvent"
        },
        {
          "$ref": "#/definitions/SCArticle"
        },
        {
          "$ref": "#/definitions/SCBook"
        },
        {
          "$ref": "#/definitions/SCBuilding"
        },
        {
          "$ref": "#/definitions/SCCatalog"
        },
        {
          "$ref": "#/definitions/SCContactPoint"
        },
        {
          "$ref": "#/definitions/SCCourseOfStudy"
        },
        {
          "$ref": "#/definitions/SCCertification"
        },
        {
          "$ref": "#/definitions/SCDateSeries"
        },
        {
          "$ref": "#/definitions/SCDish"
        },
        {
          "$ref": "#/definitions/SCFloor"
        },
        {
          "$ref": "#/definitions/SCIdCard"
        },
        {
          "$ref": "#/definitions/SCMessage"
        },
        {
          "$ref": "#/definitions/SCOrganization"
        },
        {
          "$ref": "#/definitions/SCPeriodical"
        },
        {
          "$ref": "#/definitions/SCPerson"
        },
        {
          "$ref": "#/definitions/SCPointOfInterest"
        },
        {
          "$ref": "#/definitions/SCPublicationEvent"
        },
        {
          "$ref": "#/definitions/SCRoom"
        },
        {
          "$ref": "#/definitions/SCSemester"
        },
        {
          "$ref": "#/definitions/SCSportCourse"
        },
        {
          "$ref": "#/definitions/SCStudyModule"
        },
        {
          "$ref": "#/definitions/SCTicket"
        },
        {
          "$ref": "#/definitions/SCToDo"
        },
        {
          "$ref": "#/definitions/SCTour"
        },
        {
          "$ref": "#/definitions/SCVideo"
        },
        {
          "$ref": "#/definitions/SCJobPosting"
        }
      ]
    },
    "SCAssessment": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCAssessmentTranslatableProperties%3E",
          "description": "Translated fields of an assessment"
        },
        "type": {
          "type": "string",
          "const": "assessment",
          "description": "Type of an assessment"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCAssessmentCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "attempt": {
          "type": "number",
          "description": "Number of attempts"
        },
        "date": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Date assessment was taken or graded"
        },
        "ects": {
          "type": "number",
          "description": "ECTS (credit-points)"
        },
        "grade": {
          "type": "string",
          "description": "Grade"
        },
        "status": {
          "type": "string",
          "description": "Current status"
        },
        "courseOfStudy": {
          "$ref": "#/definitions/SCCourseOfStudyWithoutReferences",
          "description": "Course of study the assessment was taken for"
        },
        "superAssessments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCAssessmentWithoutReferences"
          },
          "description": "An array of assessments from the 'level 0' (root) assessment to the direct parent"
        }
      },
      "required": [
        "categories",
        "grade",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An assessment"
    },
    "SCMap<string>": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "description": "One value for each key"
      },
      "description": "Capsulation for a map with a string as key with values of type `T`\n\n!!! BEWARE !!! Can't be refactored to a `Map<K, V>`, because it can't be serialized via JSON.stringify(map)"
    },
    "SCTranslations<SCAssessmentTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCAssessmentTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCAssessmentTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCAssessmentTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        },
        "status": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "SCThingTranslatablePropertyOrigin": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Translation of the name of the origin"
        }
      },
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "description": "Translatable property of an origin"
    },
    "SCUuid": {
      "type": "string",
      "description": "Universally unique identifier of the thing",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    },
    "SCAssessmentCategories": {
      "type": "string",
      "const": "university assessment",
      "description": "Categories of assessments"
    },
    "SCMap<SCThingWithCategoriesSpecificValues>": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/SCThingWithCategoriesSpecificValues",
        "description": "One value for each key"
      },
      "description": "Capsulation for a map with a string as key with values of type `T`\n\n!!! BEWARE !!! Can't be refactored to a `Map<K, V>`, because it can't be serialized via JSON.stringify(map)"
    },
    "SCThingWithCategoriesSpecificValues": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Category specific alternate names of a thing"
        },
        "description": {
          "type": "string",
          "description": "Category specific description of a thing"
        },
        "image": {
          "type": "string",
          "description": "URL of a category specific image of a thing"
        },
        "name": {
          "type": "string",
          "description": "Category specific name of a thing"
        },
        "url": {
          "type": "string",
          "description": "Category specific URL of a thing"
        }
      },
      "additionalProperties": false,
      "description": "Category specific values of a thing with categories\n\nThis interface contains properties that can be specific to a certain category."
    },
    "SCThingRemoteOrigin": {
      "type": "object",
      "properties": {
        "maintainer": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCPersonWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCOrganizationWithoutReferences"
            }
          ],
          "description": "Maintainer of the origin\n\ne.g. restaurant of a dish"
        },
        "modified": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "When the thing was modified last in the origin"
        },
        "type": {
          "type": "string",
          "const": "remote",
          "description": "Type of the origin"
        },
        "indexed": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "When the thing was indexed last from the origin"
        },
        "name": {
          "type": "string",
          "description": "Name of the origin"
        },
        "originalId": {
          "type": "string",
          "description": "Original ID of the thing in the origin"
        },
        "responsibleEntity": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCPersonWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCOrganizationWithoutReferences"
            }
          ],
          "description": "Entity that is responsible for the entity\n\ne.g. an organizer for an event"
        },
        "url": {
          "type": "string",
          "description": "Main URL of the origin"
        }
      },
      "required": [
        "indexed",
        "name",
        "type"
      ],
      "additionalProperties": false,
      "description": "Remote origin of a thing"
    },
    "SCPersonWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "The complete name of the person combining all the parts of the name into one."
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "person",
          "description": "Type of a person"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "additionalName": {
          "type": "string",
          "description": "Additional first names of the person."
        },
        "birthDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "The birth date of the person."
        },
        "email": {
          "type": "string",
          "description": "The private email address of the person."
        },
        "familyName": {
          "type": "string",
          "description": "The family name of the person."
        },
        "faxNumber": {
          "type": "string",
          "description": "The private fax number of the person."
        },
        "gender": {
          "$ref": "#/definitions/SCPersonGender",
          "description": "The gender of the person."
        },
        "givenName": {
          "type": "string",
          "description": "The first name of the person."
        },
        "honorificPrefix": {
          "type": "string",
          "description": "Honorific prefix of the person."
        },
        "honorificSuffix": {
          "type": "string",
          "description": "Honorific suffix of the person."
        },
        "jobTitles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Titles of jobs that the person has."
        },
        "nationality": {
          "$ref": "#/definitions/SCNationality",
          "description": "The nationality of the person."
        },
        "telephone": {
          "type": "string",
          "description": "The private telephone number of the person."
        }
      },
      "required": [
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A person without references"
    },
    "SCTranslations<SCThingTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCThingTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCThingTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCThingTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        }
      },
      "additionalProperties": false,
      "description": "Translatable properties of things"
    },
    "SCISO8601Date": {
      "type": "string",
      "description": "An ISO8601 date",
      "pattern": "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])(T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])([\\.,][0-9]{0,7})?(Z|[+-](?:2[0-3]|[01][0-9])(:?[0-5][0-9])?)?)?$"
    },
    "SCPersonGender": {
      "type": "string",
      "enum": [
        "male",
        "female",
        "inter",
        "undefined"
      ],
      "description": "Gender of a person"
    },
    "SCNationality": {
      "type": "string",
      "enum": [
        "Afghanistan",
        "Åland Islands",
        "Albania",
        "Algeria",
        "American Samoa",
        "Andorra",
        "Angola",
        "Anguilla",
        "Antarctica",
        "Antigua and Barbuda",
        "Argentina",
        "Armenia",
        "Aruba",
        "Australia",
        "Austria",
        "Azerbaijan",
        "Bahamas",
        "Bahrain",
        "Bangladesh",
        "Barbados",
        "Belarus",
        "Belgium",
        "Belize",
        "Benin",
        "Bermuda",
        "Bhutan",
        "Bolivia (Plurinational State of)",
        "Bonaire, Sint Eustatius and Saba",
        "Bosnia and Herzegovina",
        "Botswana",
        "Bouvet Island",
        "Brazil",
        "British Indian Ocean Territory",
        "Brunei Darussalam",
        "Bulgaria",
        "Burkina Faso",
        "Burundi",
        "Cambodia",
        "Cameroon",
        "Canada",
        "Cabo Verde",
        "Cayman Islands",
        "Central African Republic",
        "Chad",
        "Chile",
        "China",
        "Christmas Island",
        "Cocos (Keeling) Islands",
        "Colombia",
        "Comoros",
        "Congo",
        "Congo (Democratic Republic of the)",
        "Cook Islands",
        "Costa Rica",
        "Côte d'Ivoire",
        "Croatia",
        "Cuba",
        "Curaçao",
        "Cyprus",
        "Czech Republic",
        "Denmark",
        "Djibouti",
        "Dominica",
        "Dominican Republic",
        "Ecuador",
        "Egypt",
        "El Salvador",
        "Equatorial Guinea",
        "Eritrea",
        "Estonia",
        "Ethiopia",
        "Falkland Islands (Malvinas)",
        "Faroe Islands",
        "Fiji",
        "Finland",
        "France",
        "French Guiana",
        "French Polynesia",
        "French Southern Territories",
        "Gabon",
        "Gambia",
        "Georgia",
        "Germany",
        "Ghana",
        "Gibraltar",
        "Greece",
        "Greenland",
        "Grenada",
        "Guadeloupe",
        "Guam",
        "Guatemala",
        "Guernsey",
        "Guinea",
        "Guinea-Bissau",
        "Guyana",
        "Haiti",
        "Heard Island and McDonald Islands",
        "Holy See",
        "Honduras",
        "Hong Kong",
        "Hungary",
        "Iceland",
        "India",
        "Indonesia",
        "Iran (Islamic Republic of)",
        "Iraq",
        "Ireland",
        "Isle of Man",
        "Israel",
        "Italy",
        "Jamaica",
        "Japan",
        "Jersey",
        "Jordan",
        "Kazakhstan",
        "Kenya",
        "Kiribati",
        "Korea (Democratic People's Republic of)",
        "Korea (Republic of)",
        "Kuwait",
        "Kyrgyzstan",
        "Lao People's Democratic Republic",
        "Latvia",
        "Lebanon",
        "Lesotho",
        "Liberia",
        "Libya",
        "Liechtenstein",
        "Lithuania",
        "Luxembourg",
        "Macao",
        "Macedonia (the former Yugoslav Republic of)",
        "Madagascar",
        "Malawi",
        "Malaysia",
        "Maldives",
        "Mali",
        "Malta",
        "Marshall Islands",
        "Martinique",
        "Mauritania",
        "Mauritius",
        "Mayotte",
        "Mexico",
        "Micronesia (Federated States of)",
        "Moldova (Republic of)",
        "Monaco",
        "Mongolia",
        "Montenegro",
        "Montserrat",
        "Morocco",
        "Mozambique",
        "Myanmar",
        "Namibia",
        "Nauru",
        "Nepal",
        "Netherlands",
        "New Caledonia",
        "New Zealand",
        "Nicaragua",
        "Niger",
        "Nigeria",
        "Niue",
        "Norfolk Island",
        "Northern Mariana Islands",
        "Norway",
        "Oman",
        "Pakistan",
        "Palau",
        "Palestine, State of",
        "Panama",
        "Papua New Guinea",
        "Paraguay",
        "Peru",
        "Philippines",
        "Pitcairn",
        "Poland",
        "Portugal",
        "Puerto Rico",
        "Qatar",
        "Réunion",
        "Romania",
        "Russian Federation",
        "Rwanda",
        "Saint Barthélemy",
        "Saint Helena, Ascension and Tristan da Cunha",
        "Saint Kitts and Nevis",
        "Saint Lucia",
        "Saint Martin (French part)",
        "Saint Pierre and Miquelon",
        "Saint Vincent and the Grenadines",
        "Samoa",
        "San Marino",
        "Sao Tome and Principe",
        "Saudi Arabia",
        "Senegal",
        "Serbia",
        "Seychelles",
        "Sierra Leone",
        "Singapore",
        "Sint Maarten (Dutch part)",
        "Slovakia",
        "Slovenia",
        "Solomon Islands",
        "Somalia",
        "South Africa",
        "South Georgia and the South Sandwich Islands",
        "South Sudan",
        "Spain",
        "Sri Lanka",
        "Sudan",
        "Suriname",
        "Svalbard and Jan Mayen",
        "Swaziland",
        "Sweden",
        "Switzerland",
        "Syrian Arab Republic",
        "Taiwan, Province of China",
        "Tajikistan",
        "Tanzania, United Republic of",
        "Thailand",
        "Timor-Leste",
        "Togo",
        "Tokelau",
        "Tonga",
        "Trinidad and Tobago",
        "Tunisia",
        "Turkey",
        "Turkmenistan",
        "Turks and Caicos Islands",
        "Tuvalu",
        "Uganda",
        "Ukraine",
        "United Arab Emirates",
        "United Kingdom of Great Britain and Northern Ireland",
        "United States of America",
        "United States Minor Outlying Islands",
        "Uruguay",
        "Uzbekistan",
        "Vanuatu",
        "Venezuela (Bolivarian Republic of)",
        "Viet Nam",
        "Virgin Islands (British)",
        "Virgin Islands (U.S.)",
        "Wallis and Futuna",
        "Western Sahara",
        "Yemen",
        "Zambia",
        "Zimbabwe"
      ],
      "description": "A list of possible nationalities"
    },
    "SCOrganizationWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "organization",
          "description": "Type of an organization"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        }
      },
      "required": [
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An organization without references"
    },
    "SCThingUserOrigin": {
      "type": "object",
      "properties": {
        "maintainer": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCPersonWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCOrganizationWithoutReferences"
            }
          ],
          "description": "Maintainer of the origin\n\ne.g. restaurant of a dish"
        },
        "modified": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "When the thing was modified last in the origin"
        },
        "type": {
          "type": "string",
          "const": "user",
          "description": "Type of the origin"
        },
        "created": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "When the thing was created"
        },
        "deleted": {
          "type": "boolean",
          "description": "If it is deleted or not, defaults to false"
        },
        "updated": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "When the saved thing was last updated with the latest state (e.g. from the backend)"
        }
      },
      "required": [
        "created",
        "type"
      ],
      "additionalProperties": false,
      "description": "User origin of a thing (data created through user interaction)"
    },
    "SCCourseOfStudyWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCCourseOfStudyTranslatableProperties%3E",
          "description": "Translated fields of a dish"
        },
        "type": {
          "type": "string",
          "const": "course of study",
          "description": "Type of the course of study"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "academicDegree": {
          "type": "string",
          "description": "The achievable academic degree"
        },
        "academicDegreewithField": {
          "type": "string",
          "description": "The achievable academic degree with academic field specification (eg. Master of Science)"
        },
        "academicDegreewithFieldShort": {
          "type": "string",
          "description": "The achievable academic degree with academic field specification shorted (eg. M.Sc.)."
        },
        "mainLanguage": {
          "$ref": "#/definitions/SCLanguage",
          "description": "The main language in which the course of study is beeing offered"
        },
        "mode": {
          "$ref": "#/definitions/SCCourseOfStudyMode",
          "description": "The modes the course of study is offered in"
        },
        "timeMode": {
          "$ref": "#/definitions/SCCourseOfStudyTimeMode",
          "description": "The time modes the course of study is offered in"
        }
      },
      "required": [
        "academicDegree",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A course of study without references"
    },
    "SCTranslations<SCCourseOfStudyTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCCourseOfStudyTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCCourseOfStudyTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCCourseOfStudyTranslatableProperties": {
      "$ref": "#/definitions/SCThingThatCanBeOfferedTranslatableProperties",
      "description": "Translatable properties of a course of study"
    },
    "SCThingThatCanBeOfferedTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "offers[].availability": {
          "type": "string",
          "description": "Availability of an offer"
        }
      },
      "additionalProperties": false,
      "description": "Translatable properties of a thing that can be offered"
    },
    "SCLanguage": {
      "type": "object",
      "properties": {
        "code": {
          "$ref": "#/definitions/SCLanguageCode",
          "description": "The two letter ISO 639-1 Code of the Language"
        },
        "name": {
          "$ref": "#/definitions/SCLanguageName",
          "description": "The Fulltext name of the Language"
        }
      },
      "required": [
        "code",
        "name"
      ],
      "additionalProperties": false,
      "description": "An Language"
    },
    "SCLanguageCode": {
      "type": "string",
      "enum": [
        "aa",
        "ab",
        "ae",
        "af",
        "ak",
        "am",
        "an",
        "ar",
        "as",
        "av",
        "ay",
        "az",
        "ba",
        "be",
        "bg",
        "bh",
        "bi",
        "bm",
        "bn",
        "bo",
        "br",
        "bs",
        "ca",
        "ce",
        "ch",
        "co",
        "cr",
        "cs",
        "cu",
        "cv",
        "cy",
        "da",
        "de",
        "dv",
        "dz",
        "ee",
        "el",
        "en",
        "eo",
        "es",
        "et",
        "eu",
        "fa",
        "ff",
        "fi",
        "fj",
        "fl",
        "fo",
        "fr",
        "fy",
        "ga",
        "gd",
        "gl",
        "gn",
        "gu",
        "gv",
        "ha",
        "he",
        "hi",
        "ho",
        "hr",
        "ht",
        "hu",
        "hy",
        "hz",
        "ia",
        "id",
        "ig",
        "ii",
        "ik",
        "io",
        "is",
        "it",
        "iu",
        "ja",
        "jv",
        "ka",
        "kg",
        "ki",
        "kj",
        "kk",
        "kl",
        "km",
        "kn",
        "ko",
        "kr",
        "ks",
        "ku",
        "kv",
        "kw",
        "ky",
        "la",
        "lb",
        "lg",
        "li",
        "ln",
        "lo",
        "lt",
        "lu",
        "lv",
        "mg",
        "mh",
        "mi",
        "mk",
        "ml",
        "mn",
        "mr",
        "ms",
        "mt",
        "my",
        "na",
        "nb",
        "nd",
        "ne",
        "ng",
        "nl",
        "nn",
        "no",
        "nr",
        "nv",
        "ny",
        "oc",
        "oj",
        "om",
        "or",
        "os",
        "pa",
        "pi",
        "pl",
        "ps",
        "pt",
        "qu",
        "rm",
        "rn",
        "ro",
        "ru",
        "rw",
        "sa",
        "sc",
        "sd",
        "se",
        "sg",
        "si",
        "sk",
        "sl",
        "sm",
        "sn",
        "so",
        "sq",
        "sr",
        "ss",
        "st",
        "su",
        "sv",
        "sw",
        "ta",
        "te",
        "tg",
        "th",
        "ti",
        "tk",
        "tl",
        "tn",
        "to",
        "tr",
        "ts",
        "tt",
        "tw",
        "ty",
        "ug",
        "uk",
        "ur",
        "uz",
        "ve",
        "vi",
        "vo",
        "wa",
        "wo",
        "xh",
        "yi",
        "yo",
        "za",
        "zh",
        "zu"
      ],
      "description": "A List of all possible Languages as ISO 639-1 Codes"
    },
    "SCLanguageName": {
      "type": "string",
      "enum": [
        "afar",
        "abkhazian",
        "avestan",
        "afrikaans",
        "akan",
        "amharic",
        "aragonese",
        "arabic",
        "assamese",
        "avaric",
        "aymara",
        "azerbaijani",
        "bashkir",
        "belarusian",
        "bulgarian",
        "bihari languages",
        "bislama",
        "bambara",
        "bengali",
        "tibetan",
        "breton",
        "bosnian",
        "catalan; valencian",
        "chechen",
        "chamorro",
        "corsican",
        "cree",
        "czech",
        "church slavic; old slavonic; church slavonic; old bulgarian; old church slavonic",
        "chuvash",
        "welsh",
        "danish",
        "german",
        "divehi; dhivehi; maldivian",
        "dzongkha",
        "ewe",
        "greek, modern (1453-)",
        "english",
        "esperanto",
        "spanish; castilian",
        "estonian",
        "basque",
        "persian",
        "fulah",
        "finnish",
        "fijian",
        "filipino",
        "faroese",
        "french",
        "western frisian",
        "irish",
        "gaelic; scottish gaelic",
        "galician",
        "guarani",
        "gujarati",
        "manx",
        "hausa",
        "hebrew",
        "hindi",
        "hiri motu",
        "croatian",
        "haitian; haitian creole",
        "hungarian",
        "armenian",
        "herero",
        "interlingua (international auxiliary language association)",
        "indonesian",
        "interlingue; occidental",
        "igbo",
        "sichuan yi; nuosu",
        "inupiaq",
        "ido",
        "icelandic",
        "italian",
        "inuktitut",
        "japanese",
        "javanese",
        "georgian",
        "kongo",
        "kikuyu; gikuyu",
        "kuanyama; kwanyama",
        "kazakh",
        "kalaallisut; greenlandic",
        "central khmer",
        "kannada",
        "korean",
        "kanuri",
        "kashmiri",
        "kurdish",
        "komi",
        "cornish",
        "kirghiz; kyrgyz",
        "latin",
        "luxembourgish; letzeburgesch",
        "ganda",
        "limburgan; limburger; limburgish",
        "lingala",
        "lao",
        "lithuanian",
        "luba-katanga",
        "latvian",
        "malagasy",
        "marshallese",
        "maori",
        "macedonian",
        "malayalam",
        "mongolian",
        "marathi",
        "malay",
        "maltese",
        "burmese",
        "nauru",
        "bokmål, norwegian; norwegian bokmål",
        "ndebele, north; north ndebele",
        "nepali",
        "ndonga",
        "dutch; flemish",
        "norwegian nynorsk; nynorsk, norwegian",
        "norwegian",
        "ndebele, south; south ndebele",
        "navajo; navaho",
        "chichewa; chewa; nyanja",
        "occitan (post 1500); provençal",
        "ojibwa",
        "oromo",
        "oriya",
        "ossetian; ossetic",
        "panjabi; punjabi",
        "pali",
        "polish",
        "pushto; pashto",
        "portuguese",
        "quechua",
        "romansh",
        "rundi",
        "romanian; moldavian; moldovan",
        "russian",
        "kinyarwanda",
        "sanskrit",
        "sardinian",
        "sindhi",
        "northern sami",
        "sango",
        "sinhala; sinhalese",
        "slovak",
        "slovenian",
        "samoan",
        "shona",
        "somali",
        "albanian",
        "serbian",
        "swati",
        "sotho, southern",
        "sundanese",
        "swedish",
        "swahili",
        "tamil",
        "telugu",
        "tajik",
        "thai",
        "tigrinya",
        "turkmen",
        "tagalog",
        "tswana",
        "tonga (tonga islands)",
        "turkish",
        "tsonga",
        "tatar",
        "twi",
        "tahitian",
        "uighur; uyghur",
        "ukrainian",
        "urdu",
        "uzbek",
        "venda",
        "vietnamese",
        "volapük",
        "walloon",
        "wolof",
        "xhosa",
        "yiddish",
        "yoruba",
        "zhuang; chuang",
        "chinese",
        "zulu"
      ],
      "description": "A list of possible languages in english"
    },
    "SCCourseOfStudyMode": {
      "type": "string",
      "enum": [
        "combination",
        "dual",
        "double-degree",
        "standard"
      ],
      "description": "Types of (german) course of study modes"
    },
    "SCCourseOfStudyTimeMode": {
      "type": "string",
      "enum": [
        "fulltime",
        "parttime"
      ],
      "description": "Types of (german) course of study time modes"
    },
    "SCAssessmentWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCAssessmentTranslatableProperties%3E",
          "description": "Translated fields of an assessment"
        },
        "type": {
          "type": "string",
          "const": "assessment",
          "description": "Type of an assessment"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCAssessmentCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "attempt": {
          "type": "number",
          "description": "Number of attempts"
        },
        "date": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Date assessment was taken or graded"
        },
        "ects": {
          "type": "number",
          "description": "ECTS (credit-points)"
        },
        "grade": {
          "type": "string",
          "description": "Grade"
        },
        "status": {
          "type": "string",
          "description": "Current status"
        }
      },
      "required": [
        "categories",
        "grade",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An assessment without references"
    },
    "SCAcademicEvent": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCAcademicEventTranslatableProperties%3E",
          "description": "Translated fields of an academic event"
        },
        "type": {
          "type": "string",
          "const": "academic event",
          "description": "Type of an academic event"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCAcademicEventCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "maximumParticipants": {
          "type": "number",
          "description": "Maximum number of participants of the event\n\nA maximum number of people that can participate in the event."
        },
        "remainingAttendeeCapacity": {
          "type": "number",
          "description": "Remaining attendee capacity of the event\n\nThis number represents the remaining open spots."
        },
        "majors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Majors of the academic event that this event belongs to"
        },
        "originalCategory": {
          "type": "string",
          "description": "Original unmapped category from the source of the academic event"
        },
        "academicTerms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCSemesterWithoutReferences"
          },
          "description": "Academic terms that an event belongs to, e.g. semester(s)."
        },
        "catalogs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCatalogWithoutReferences"
          },
          "description": "Catalogs to which an event belongs"
        },
        "creativeWorks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCreativeWorkWithoutReferences"
          },
          "description": "A list of creative works that are associated with this event\n\nThis can be recommended books, CDs that can be bought, etc."
        },
        "organizers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Organizers of the event"
        },
        "performers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Performers of the event"
        }
      },
      "required": [
        "categories",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An academic event"
    },
    "SCTranslations<SCAcademicEventTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCAcademicEventTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCAcademicEventTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCAcademicEventTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        },
        "majors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Translations of the majors of the academic event that this event belongs to"
        },
        "originalCategory": {
          "type": "string",
          "description": "Translation of the original unmapped category from the source of the academic event"
        }
      },
      "additionalProperties": false,
      "description": "Translatable properties of an academic event"
    },
    "SCAcademicEventCategories": {
      "type": "string",
      "enum": [
        "lecture",
        "seminar",
        "integrated course",
        "written exam",
        "oral exam",
        "tutorial",
        "project",
        "colloquium",
        "practicum",
        "introductory class",
        "course",
        "practicum introduction",
        "excursion",
        "exercise",
        "special"
      ],
      "description": "Categories of academic events"
    },
    "SCSemesterWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "semester",
          "description": "Type of the semester"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "acronym": {
          "type": "string",
          "description": "The short name of the semester, using the given pattern.",
          "pattern": "^(WS|SS|WiSe|SoSe) [0-9]{4}(/[0-9]{2})?$"
        },
        "endDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "End date of the academic term"
        },
        "eventsEndDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "End date of lectures in the academic term"
        },
        "eventsStartDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Start date of lectures in the academic term"
        },
        "startDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Start date of the academic term"
        }
      },
      "required": [
        "acronym",
        "endDate",
        "name",
        "startDate",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A semester without references"
    },
    "SCCatalogWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingWithCategoriesTranslatableProperties%3E",
          "description": "Translated fields of a thing with categories"
        },
        "type": {
          "type": "string",
          "const": "catalog",
          "description": "Type of a catalog"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCatalogCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "level": {
          "type": "number",
          "description": "Level of the catalog (0 for 'root catalog', 1 for its subcatalog, 2 for its subcatalog etc.)\n\nNeeded for keeping order in catalog inheritance array."
        }
      },
      "required": [
        "categories",
        "level",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A catalog without references"
    },
    "SCTranslations<SCThingWithCategoriesTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCThingWithCategoriesTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCThingWithCategoriesTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCThingWithCategoriesTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        }
      },
      "additionalProperties": false,
      "description": "Translatable properties of a thing with categories"
    },
    "SCCatalogCategories": {
      "type": "string",
      "const": "university events",
      "description": "Categories of catalogs"
    },
    "SCCreativeWorkWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCCreativeWorkTranslatableProperties%3E",
          "description": "Translated fields of the creative work"
        },
        "type": {
          "$ref": "#/definitions/SCThingType",
          "description": "Type of the thing"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "availableLanguages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCLanguageCode"
          },
          "description": "Languages this creative work is available in"
        },
        "datePublished": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Date the creative work was published"
        },
        "edition": {
          "type": "string",
          "description": "Edition of a creative work (e.g. the book edition or edition of an article)"
        },
        "firstPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was published for the first time"
        },
        "inLanguage": {
          "$ref": "#/definitions/SCLanguageCode",
          "description": "Languages this creative work is written/recorded/... in"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords of the creative work"
        },
        "lastPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was most recently"
        }
      },
      "additionalProperties": false,
      "required": [
        "name",
        "type",
        "uid"
      ],
      "description": "A creative work without references"
    },
    "SCTranslations<SCCreativeWorkTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCCreativeWorkTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCCreativeWorkTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCCreativeWorkTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Translation of the keywords of the creative work"
        }
      },
      "additionalProperties": false,
      "description": "Translatable properties of creative works"
    },
    "SCThingType": {
      "type": "string",
      "enum": [
        "assessment",
        "academic event",
        "article",
        "book",
        "periodical",
        "building",
        "catalog",
        "certification",
        "contact point",
        "course of study",
        "date series",
        "diff",
        "dish",
        "favorite",
        "floor",
        "id card",
        "message",
        "organization",
        "person",
        "point of interest",
        "publication event",
        "room",
        "semester",
        "setting",
        "sport course",
        "study module",
        "ticket",
        "todo",
        "tour",
        "video",
        "job posting"
      ],
      "description": "Types a thing can be"
    },
    "SCArticle": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCArticleTranslatableProperties%3E",
          "description": "Translated fields of an article"
        },
        "type": {
          "type": "string",
          "const": "article",
          "description": "Type of an article"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCArticleCategories"
          },
          "description": "Categories of an article"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "availableLanguages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCLanguageCode"
          },
          "description": "Languages this creative work is available in"
        },
        "datePublished": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Date the creative work was published"
        },
        "edition": {
          "type": "string",
          "description": "Edition of a creative work (e.g. the book edition or edition of an article)"
        },
        "firstPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was published for the first time"
        },
        "inLanguage": {
          "$ref": "#/definitions/SCLanguageCode",
          "description": "Languages this creative work is written/recorded/... in"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords of the creative work"
        },
        "lastPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was most recently"
        },
        "articleBody": {
          "type": "string",
          "description": "Article itself as markdown"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "offers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatCanBeOfferedOffer%3CSCAcademicPriceGroup%3E"
          },
          "description": "List of offers for that thing"
        },
        "authors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Authors of the creative work"
        },
        "isPartOf": {
          "$ref": "#/definitions/SCPeriodicalWithoutReferences",
          "description": "A periodical to which this article belongs"
        },
        "publications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPublicationEventWithoutReferences"
          },
          "description": "List of events at which the creative work was published"
        },
        "publishers": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "$ref": "#/definitions/SCPersonWithoutReferences"
              },
              {
                "$ref": "#/definitions/SCOrganizationWithoutReferences"
              }
            ]
          },
          "description": "List of publishers of the creative work"
        },
        "sourceOrganization": {
          "type": "string",
          "description": "A text representing on organization on whose behalf the creator was working"
        },
        "reference": {
          "type": "string",
          "description": "Additional information about how to find the article inside of its \"parent\" (which is provided in 'isPartOf') e.g. \"40, 2011, S. 2-3\""
        }
      },
      "required": [
        "categories",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An article"
    },
    "SCTranslations<SCArticleTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCArticleTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCArticleTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCArticleTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Translation of the keywords of the creative work"
        },
        "offers[].availability": {
          "type": "string",
          "description": "Availability of an offer"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        },
        "articleBody": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Translation of the article itself as markdown"
        }
      },
      "additionalProperties": false,
      "description": "Translatable properties of an article"
    },
    "SCArticleCategories": {
      "type": "string",
      "enum": [
        "unipedia",
        "article",
        "eArticle"
      ],
      "description": "Categories of an article"
    },
    "SCThingThatCanBeOfferedOffer<SCAcademicPriceGroup>": {
      "type": "object",
      "properties": {
        "inPlace": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCBuildingWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            }
          ],
          "description": "Place the thing is or happens in"
        },
        "availability": {
          "$ref": "#/definitions/SCThingThatCanBeOfferedAvailability",
          "description": "Availability of an offer"
        },
        "availabilityRange": {
          "$ref": "#/definitions/SCISO8601DateRange",
          "description": "The time when the thing is available."
        },
        "prices": {
          "$ref": "#/definitions/SCAcademicPriceGroup",
          "description": "List of prices that are distinct for specific groups"
        },
        "provider": {
          "$ref": "#/definitions/SCThingThatCanBeOfferedProvider",
          "description": "Provider of an offer"
        }
      },
      "required": [
        "availability",
        "provider"
      ],
      "additionalProperties": false,
      "description": "Offer of a thing"
    },
    "SCBuildingWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCBuildingTranslatableProperties%3E",
          "description": "Translated fields of a building"
        },
        "type": {
          "type": "string",
          "const": "building",
          "description": "Type of the building"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "address": {
          "$ref": "#/definitions/SCPostalAddress",
          "description": "Address of the place"
        },
        "geo": {
          "$ref": "#/definitions/SCGeoInformation",
          "description": "Positional information of the place\n\n!!! BEWARE !!! Can not be a GeometryCollection because ElasticSearch does not allow distance filtering/sorting on other types"
        },
        "openingHours": {
          "type": "string",
          "description": "Opening hours of the place"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCBuildingCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "floors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of floor names of the place"
        }
      },
      "required": [
        "categories",
        "geo",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false
    },
    "SCTranslations<SCBuildingTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCBuildingTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCBuildingTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCBuildingTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        },
        "address": {
          "$ref": "#/definitions/SCPostalAddress",
          "description": "Address of a place"
        },
        "floors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "SCPostalAddress": {
      "type": "object",
      "properties": {
        "addressCountry": {
          "type": "string",
          "description": "Country of the address"
        },
        "addressLocality": {
          "type": "string",
          "description": "City of the address"
        },
        "addressRegion": {
          "type": "string",
          "description": "State of the address"
        },
        "postalCode": {
          "type": "string",
          "description": "Zip code of the address"
        },
        "postOfficeBoxNumber": {
          "type": "string",
          "description": "Optional post box number"
        },
        "streetAddress": {
          "type": "string",
          "description": "Street of the address - with house number!"
        }
      },
      "required": [
        "addressCountry",
        "addressLocality",
        "postalCode",
        "streetAddress"
      ],
      "additionalProperties": false,
      "description": "A postal address"
    },
    "SCGeoInformation": {
      "type": "object",
      "properties": {
        "point": {
          "$ref": "#/definitions/Point",
          "description": "Center point of a place"
        },
        "polygon": {
          "$ref": "#/definitions/Polygon",
          "description": "Shape of a place"
        }
      },
      "required": [
        "point"
      ],
      "additionalProperties": false,
      "description": "Positional information"
    },
    "Point": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "Point"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "crs": {
          "$ref": "#/definitions/CoordinateReferenceSystem"
        },
        "coordinates": {
          "$ref": "#/definitions/Position"
        }
      },
      "required": [
        "coordinates",
        "type"
      ],
      "additionalProperties": false,
      "description": "* http://geojson.org/geojson-spec.html#point"
    },
    "CoordinateReferenceSystem": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "properties": {}
      },
      "required": [
        "type",
        "properties"
      ],
      "additionalProperties": false,
      "description": "* http://geojson.org/geojson-spec.html#coordinate-reference-system-objects"
    },
    "Position": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "* http://geojson.org/geojson-spec.html#positions"
    },
    "Polygon": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "Polygon"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "crs": {
          "$ref": "#/definitions/CoordinateReferenceSystem"
        },
        "coordinates": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/Position"
            }
          }
        }
      },
      "required": [
        "coordinates",
        "type"
      ],
      "additionalProperties": false,
      "description": "* http://geojson.org/geojson-spec.html#polygon"
    },
    "SCBuildingCategories": {
      "type": "string",
      "enum": [
        "cafe",
        "education",
        "library",
        "office",
        "canteen",
        "student canteen",
        "restaurant",
        "restroom"
      ]
    },
    "SCPointOfInterestWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingWithCategoriesTranslatableProperties%3E",
          "description": "Translated properties of a point of interest"
        },
        "type": {
          "type": "string",
          "const": "point of interest",
          "description": "Type of a point of interest"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "address": {
          "$ref": "#/definitions/SCPostalAddress",
          "description": "Address of the place"
        },
        "geo": {
          "$ref": "#/definitions/SCGeoInformation",
          "description": "Positional information of the place\n\n!!! BEWARE !!! Can not be a GeometryCollection because ElasticSearch does not allow distance filtering/sorting on other types"
        },
        "openingHours": {
          "type": "string",
          "description": "Opening hours of the place"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPointOfInterestCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        }
      },
      "required": [
        "categories",
        "geo",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A point of interest without references"
    },
    "SCPointOfInterestCategories": {
      "type": "string",
      "enum": [
        "computer",
        "validator",
        "card charger",
        "printer",
        "disabled access"
      ],
      "description": "Categories of a point of interest"
    },
    "SCRoomWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingWithCategoriesTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "room",
          "description": "Type of the room"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCRoomCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCRoomSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "paymentsAccepted": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatAcceptsPaymentsAcceptedPayments"
          },
          "description": "Accepted payments of the place"
        },
        "address": {
          "$ref": "#/definitions/SCPostalAddress",
          "description": "Address of the place"
        },
        "geo": {
          "$ref": "#/definitions/SCGeoInformation",
          "description": "Positional information of the place\n\n!!! BEWARE !!! Can not be a GeometryCollection because ElasticSearch does not allow distance filtering/sorting on other types"
        },
        "openingHours": {
          "type": "string",
          "description": "Opening hours of the place"
        },
        "floorName": {
          "type": "string",
          "description": "The name of the floor in which the room is in."
        },
        "inventory": {
          "$ref": "#/definitions/SCMap%3Cnumber%3E",
          "description": "The inventory of the place/room as a list of items and their quantity."
        }
      },
      "required": [
        "categories",
        "geo",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A room without references"
    },
    "SCRoomCategories": {
      "type": "string",
      "enum": [
        "cafe",
        "canteen",
        "computer",
        "education",
        "laboratory",
        "learn",
        "library",
        "lounge",
        "office",
        "restaurant",
        "restroom",
        "student canteen",
        "student union"
      ],
      "description": "Categories of a room"
    },
    "SCMap<SCRoomSpecificValues>": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/SCRoomSpecificValues",
        "description": "One value for each key"
      },
      "description": "Capsulation for a map with a string as key with values of type `T`\n\n!!! BEWARE !!! Can't be refactored to a `Map<K, V>`, because it can't be serialized via JSON.stringify(map)"
    },
    "SCRoomSpecificValues": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Category specific alternate names of a thing"
        },
        "description": {
          "type": "string",
          "description": "Category specific description of a thing"
        },
        "image": {
          "type": "string",
          "description": "URL of a category specific image of a thing"
        },
        "name": {
          "type": "string",
          "description": "Category specific name of a thing"
        },
        "url": {
          "type": "string",
          "description": "Category specific URL of a thing"
        },
        "openingHours": {
          "type": "string",
          "description": "Category specific opening hours of the room"
        },
        "serviceHours": {
          "type": "string",
          "description": "Category specific service hours of the room (e.g. cooked food serving hours)"
        }
      },
      "additionalProperties": false,
      "description": "Category specific values of a room"
    },
    "SCThingThatAcceptsPaymentsAcceptedPayments": {
      "type": "string",
      "enum": [
        "cash",
        "credit",
        "cafeteria card"
      ],
      "description": "Types of payment that are accepted at a place."
    },
    "SCMap<number>": {
      "type": "object",
      "additionalProperties": {
        "type": "number",
        "description": "One value for each key"
      },
      "description": "Capsulation for a map with a string as key with values of type `T`\n\n!!! BEWARE !!! Can't be refactored to a `Map<K, V>`, because it can't be serialized via JSON.stringify(map)"
    },
    "SCThingThatCanBeOfferedAvailability": {
      "type": "string",
      "enum": [
        "in stock",
        "out of stock",
        "online only",
        "limited availability"
      ],
      "description": "Availability of an Offer"
    },
    "SCISO8601DateRange": {
      "$ref": "#/definitions/SCRange%3CSCISO8601Date%3E",
      "description": "Date Range\n\nCAUTION: Changing the name requires changes in the core-tools premaps"
    },
    "SCRange<SCISO8601Date>": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "gte": {
              "$ref": "#/definitions/SCISO8601Date",
              "description": "Greater or equal to value"
            },
            "lte": {
              "$ref": "#/definitions/SCISO8601Date",
              "description": "Greater or equal to value"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "gt": {
              "$ref": "#/definitions/SCISO8601Date"
            },
            "lt": {
              "$ref": "#/definitions/SCISO8601Date"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "gt": {
              "$ref": "#/definitions/SCISO8601Date"
            },
            "lte": {
              "$ref": "#/definitions/SCISO8601Date"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "gte": {
              "$ref": "#/definitions/SCISO8601Date"
            },
            "lt": {
              "$ref": "#/definitions/SCISO8601Date"
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "Generic range type"
    },
    "SCAcademicPriceGroup": {
      "type": "object",
      "properties": {
        "default": {
          "type": "number",
          "description": "Default price of the thing"
        },
        "employee": {
          "type": "number",
          "description": "Price for employees"
        },
        "guest": {
          "type": "number",
          "description": "Price for guests"
        },
        "student": {
          "type": "number",
          "description": "Price for students"
        }
      },
      "additionalProperties": false,
      "required": [
        "default"
      ],
      "description": "Price distinctions for academic context"
    },
    "SCThingThatCanBeOfferedProvider": {
      "anyOf": [
        {
          "$ref": "#/definitions/SCOrganizationWithoutReferences"
        },
        {
          "$ref": "#/definitions/SCPersonWithoutReferences"
        }
      ],
      "description": "Entity responsible for the offer"
    },
    "SCPeriodicalWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCPeriodicalTranslatableFields%3E",
          "description": "Translated properties of a periodical"
        },
        "type": {
          "type": "string",
          "const": "periodical",
          "description": "Type of a periodical"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPeriodicalCategories"
          },
          "description": "Categories of a periodical"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "availableLanguages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCLanguageCode"
          },
          "description": "Languages this creative work is available in"
        },
        "datePublished": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Date the creative work was published"
        },
        "edition": {
          "type": "string",
          "description": "Edition of a creative work (e.g. the book edition or edition of an article)"
        },
        "firstPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was published for the first time"
        },
        "inLanguage": {
          "$ref": "#/definitions/SCLanguageCode",
          "description": "Languages this creative work is written/recorded/... in"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords of the creative work"
        },
        "lastPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was most recently"
        },
        "ISSNs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of ISSNs of a periodical"
        }
      },
      "required": [
        "categories",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A periodical without references"
    },
    "SCTranslations<SCPeriodicalTranslatableFields>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCPeriodicalTranslatableFields",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCPeriodicalTranslatableFields",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCPeriodicalTranslatableFields": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Translation of the keywords of the creative work"
        },
        "offers[].availability": {
          "type": "string",
          "description": "Availability of an offer"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        }
      },
      "description": "Translatable properties of a periodical"
    },
    "SCPeriodicalCategories": {
      "type": "string",
      "enum": [
        "eJournal",
        "electronic",
        "journal"
      ],
      "description": "Categories of a periodical"
    },
    "SCPublicationEventWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCPublicationEventTranslatableProperties%3E",
          "description": "Translated fields of an publication event"
        },
        "type": {
          "type": "string",
          "const": "publication event",
          "description": "Type of an publication event"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "maximumParticipants": {
          "type": "number",
          "description": "Maximum number of participants of the event\n\nA maximum number of people that can participate in the event."
        },
        "remainingAttendeeCapacity": {
          "type": "number",
          "description": "Remaining attendee capacity of the event\n\nThis number represents the remaining open spots."
        },
        "locations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "All the locations related to the event (e.g. where a creative work was published)"
        },
        "publisher": {
          "type": "string",
          "description": "An organization (or a person) that is publishing at the event"
        }
      },
      "required": [
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An publication event without references"
    },
    "SCTranslations<SCPublicationEventTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCPublicationEventTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCPublicationEventTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCPublicationEventTranslatableProperties": {
      "$ref": "#/definitions/SCThingTranslatableProperties",
      "description": "Translatable properties of an publication event"
    },
    "SCBook": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCBookTranslatableFields%3E",
          "description": "Translated properties of a book"
        },
        "type": {
          "type": "string",
          "const": "book",
          "description": "Type of a book"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCBookCategories"
          },
          "description": "Categories of a book"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "availableLanguages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCLanguageCode"
          },
          "description": "Languages this creative work is available in"
        },
        "datePublished": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Date the creative work was published"
        },
        "edition": {
          "type": "string",
          "description": "Edition of a creative work (e.g. the book edition or edition of an article)"
        },
        "firstPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was published for the first time"
        },
        "inLanguage": {
          "$ref": "#/definitions/SCLanguageCode",
          "description": "Languages this creative work is written/recorded/... in"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords of the creative work"
        },
        "lastPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was most recently"
        },
        "ISBNs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "ISBNs of a book"
        },
        "numberOfPages": {
          "type": "number",
          "description": "Number of pages of a book"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "offers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatCanBeOfferedOffer%3CSCAcademicPriceGroup%3E"
          },
          "description": "List of offers for that thing"
        },
        "authors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Authors of the creative work"
        },
        "isPartOf": {
          "$ref": "#/definitions/SCCreativeWorkWithoutReferences",
          "description": "A creative work to which the creative work belongs"
        },
        "publications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPublicationEventWithoutReferences"
          },
          "description": "List of events at which the creative work was published"
        },
        "publishers": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "$ref": "#/definitions/SCPersonWithoutReferences"
              },
              {
                "$ref": "#/definitions/SCOrganizationWithoutReferences"
              }
            ]
          },
          "description": "List of publishers of the creative work"
        },
        "sourceOrganization": {
          "type": "string",
          "description": "A text representing on organization on whose behalf the creator was working"
        }
      },
      "required": [
        "categories",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A book"
    },
    "SCTranslations<SCBookTranslatableFields>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCBookTranslatableFields",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCBookTranslatableFields",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCBookTranslatableFields": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Translation of the keywords of the creative work"
        },
        "offers[].availability": {
          "type": "string",
          "description": "Availability of an offer"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        }
      },
      "description": "Translatable properties of a book"
    },
    "SCBookCategories": {
      "type": "string",
      "enum": [
        "audio",
        "audiobook",
        "book",
        "cd",
        "dvd",
        "eAudiobook",
        "ebook",
        "ePhoto",
        "hierarchy",
        "kit",
        "manuscript",
        "map",
        "microfilm",
        "mixed_material",
        "musicalscore",
        "photo",
        "physicalobject",
        "retro",
        "sensorimage",
        "unknown",
        "video"
      ],
      "description": "Categories of a book"
    },
    "SCBuilding": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCBuildingTranslatableProperties%3E",
          "description": "Translated fields of a building"
        },
        "type": {
          "type": "string",
          "const": "building",
          "description": "Type of the building"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCBuildingCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "address": {
          "$ref": "#/definitions/SCPostalAddress",
          "description": "Address of the place"
        },
        "geo": {
          "$ref": "#/definitions/SCGeoInformation",
          "description": "Positional information of the place\n\n!!! BEWARE !!! Can not be a GeometryCollection because ElasticSearch does not allow distance filtering/sorting on other types"
        },
        "openingHours": {
          "type": "string",
          "description": "Opening hours of the place"
        },
        "floors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of floor names of the place"
        }
      },
      "required": [
        "categories",
        "geo",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A building"
    },
    "SCCatalog": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingWithCategoriesTranslatableProperties%3E",
          "description": "Translated fields of a catalog"
        },
        "type": {
          "type": "string",
          "const": "catalog",
          "description": "Type of a catalog"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCatalogCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "level": {
          "type": "number",
          "description": "Level of the catalog (0 for 'root catalog', 1 for its subcatalog, 2 for its subcatalog etc.)\n\nNeeded for keeping order in catalog inheritance array."
        },
        "academicTerm": {
          "$ref": "#/definitions/SCAcademicTermWithoutReferences",
          "description": "Academic term that a catalog belongs to (e.g. semester)"
        },
        "superCatalog": {
          "$ref": "#/definitions/SCCatalogWithoutReferences",
          "description": "The direct parent of a catalog"
        },
        "superCatalogs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCatalogWithoutReferences"
          },
          "description": "An array of catalogs from the 'level 0' (root) catalog to the direct parent"
        }
      },
      "required": [
        "categories",
        "level",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A catalog"
    },
    "SCAcademicTermWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "$ref": "#/definitions/SCThingType",
          "description": "Type of the thing"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "acronym": {
          "type": "string",
          "description": "Short name of the academic term, using the given pattern"
        },
        "endDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "End date of the academic term"
        },
        "eventsEndDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "End date of lectures in the academic term"
        },
        "eventsStartDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Start date of lectures in the academic term"
        },
        "startDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Start date of the academic term"
        }
      },
      "required": [
        "acronym",
        "endDate",
        "name",
        "startDate",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An academic term without references"
    },
    "SCContactPoint": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "contact point",
          "description": "Type of a contact point"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "email": {
          "type": "string",
          "description": "E-mail at the work location"
        },
        "faxNumber": {
          "type": "string",
          "description": "Fax number at the work location"
        },
        "officeHours": {
          "type": "string",
          "description": "Office hours for contacting someone at the work location"
        },
        "telephone": {
          "type": "string",
          "description": "Contact number at the work location"
        },
        "url": {
          "type": "string",
          "description": "URL at the work location"
        },
        "areaServed": {
          "$ref": "#/definitions/SCRoomWithoutReferences",
          "description": "Exact place where work is performed"
        }
      },
      "required": [
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A contact point"
    },
    "SCCourseOfStudy": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCCourseOfStudyTranslatableProperties%3E",
          "description": "Translated fields of a course of study"
        },
        "type": {
          "type": "string",
          "const": "course of study",
          "description": "Type of the course of study"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "academicDegree": {
          "type": "string",
          "description": "The achievable academic degree"
        },
        "academicDegreewithField": {
          "type": "string",
          "description": "The achievable academic degree with academic field specification (eg. Master of Science)"
        },
        "academicDegreewithFieldShort": {
          "type": "string",
          "description": "The achievable academic degree with academic field specification shorted (eg. M.Sc.)."
        },
        "offers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatCanBeOfferedOffer%3CSCAcademicPriceGroup%3E"
          },
          "description": "List of offers for that thing"
        },
        "mainLanguage": {
          "$ref": "#/definitions/SCLanguage",
          "description": "The main language in which the course of study is beeing offered"
        },
        "mode": {
          "$ref": "#/definitions/SCCourseOfStudyMode",
          "description": "The modes the course of study is offered in"
        },
        "timeMode": {
          "$ref": "#/definitions/SCCourseOfStudyTimeMode",
          "description": "The time modes the course of study is offered in"
        },
        "department": {
          "$ref": "#/definitions/SCOrganizationWithoutReferences",
          "description": "The department that manages the course of study"
        },
        "secretary": {
          "$ref": "#/definitions/SCOrganizationWithoutReferences",
          "description": "The secretary that administers requests and questions concerning the course of study"
        },
        "startDates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCDateSeriesWithoutReferences"
          },
          "description": "Dates at which the course of study is planned to start"
        }
      },
      "required": [
        "academicDegree",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A course of study"
    },
    "SCDateSeriesWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCDateSeriesTranslatableProperties%3E",
          "description": "Translated properties"
        },
        "type": {
          "type": "string",
          "const": "date series",
          "description": "Type of a date series"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "dates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCISO8601Date"
          },
          "description": "Dates of the date series that are initially planned to be held"
        },
        "duration": {
          "$ref": "#/definitions/SCISO8601Duration",
          "description": "Duration of the date series"
        },
        "exceptions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCISO8601Date"
          },
          "description": "Dates that where initially planned to be held but are cancelled"
        },
        "repeatFrequency": {
          "$ref": "#/definitions/SCISO8601Duration",
          "description": "Frequency of the date series"
        }
      },
      "required": [
        "dates",
        "duration",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A date without references"
    },
    "SCTranslations<SCDateSeriesTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCDateSeriesTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCDateSeriesTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCDateSeriesTranslatableProperties": {
      "$ref": "#/definitions/SCThingThatCanBeOfferedTranslatableProperties",
      "description": "Translatable properties of date series'"
    },
    "SCISO8601Duration": {
      "type": "string",
      "description": "An ISO8601 duration",
      "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$"
    },
    "SCCertification": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCCertificationTranslatableProperties%3E",
          "description": "Translations of a certification"
        },
        "type": {
          "type": "string",
          "const": "certification",
          "description": "Type of certification"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCertificationCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "compactImage": {
          "type": "string",
          "description": "A compact version of the image, for example for showing in list views"
        },
        "certificationAuthority": {
          "$ref": "#/definitions/SCOrganizationWithoutReferences",
          "description": "The authority responsible for issuing this certification"
        }
      },
      "required": [
        "categories",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false
    },
    "SCTranslations<SCCertificationTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCCertificationTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCCertificationTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCCertificationTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        },
        "image": {
          "type": "string"
        },
        "compactImage": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "SCCertificationCategories": {
      "type": "string",
      "enum": [
        "water consumption",
        "animal welfare",
        "climate impact",
        "rainforest protection"
      ]
    },
    "SCDateSeries": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCDateSeriesTranslatableProperties%3E",
          "description": "Translated properties"
        },
        "type": {
          "type": "string",
          "const": "date series",
          "description": "Type of a date series"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "offers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatCanBeOfferedOffer%3CSCSportCoursePriceGroup%3E"
          },
          "description": "List of offers for that thing"
        },
        "inPlace": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCBuildingWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            }
          ],
          "description": "Place the thing is or happens in"
        },
        "dates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCISO8601Date"
          },
          "description": "Dates of the date series that are initially planned to be held"
        },
        "duration": {
          "$ref": "#/definitions/SCISO8601Duration",
          "description": "Duration of the date series"
        },
        "exceptions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCISO8601Date"
          },
          "description": "Dates that where initially planned to be held but are cancelled"
        },
        "repeatFrequency": {
          "$ref": "#/definitions/SCISO8601Duration",
          "description": "Frequency of the date series"
        },
        "event": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCAcademicEventWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCSportCourseWithoutReferences"
            }
          ],
          "description": "Event to which the date series belongs"
        },
        "performers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Performers of the date series"
        }
      },
      "required": [
        "dates",
        "duration",
        "event",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A date series"
    },
    "SCThingThatCanBeOfferedOffer<SCSportCoursePriceGroup>": {
      "type": "object",
      "properties": {
        "inPlace": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCBuildingWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            }
          ],
          "description": "Place the thing is or happens in"
        },
        "availability": {
          "$ref": "#/definitions/SCThingThatCanBeOfferedAvailability",
          "description": "Availability of an offer"
        },
        "availabilityRange": {
          "$ref": "#/definitions/SCISO8601DateRange",
          "description": "The time when the thing is available."
        },
        "prices": {
          "$ref": "#/definitions/SCSportCoursePriceGroup",
          "description": "List of prices that are distinct for specific groups"
        },
        "provider": {
          "$ref": "#/definitions/SCThingThatCanBeOfferedProvider",
          "description": "Provider of an offer"
        }
      },
      "required": [
        "availability",
        "provider"
      ],
      "additionalProperties": false,
      "description": "Offer of a thing"
    },
    "SCSportCoursePriceGroup": {
      "type": "object",
      "properties": {
        "default": {
          "type": "number",
          "description": "Default price of the thing"
        },
        "employee": {
          "type": "number",
          "description": "Price for employees"
        },
        "guest": {
          "type": "number",
          "description": "Price for guests"
        },
        "student": {
          "type": "number",
          "description": "Price for students"
        },
        "alumni": {
          "type": "number",
          "description": "Price for alumnis"
        }
      },
      "additionalProperties": false,
      "required": [
        "default"
      ],
      "description": "Price groups for sport courses"
    },
    "SCAcademicEventWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCAcademicEventTranslatableProperties%3E",
          "description": "Translated fields of an academic event"
        },
        "type": {
          "type": "string",
          "const": "academic event",
          "description": "Type of an academic event"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCAcademicEventCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "maximumParticipants": {
          "type": "number",
          "description": "Maximum number of participants of the event\n\nA maximum number of people that can participate in the event."
        },
        "remainingAttendeeCapacity": {
          "type": "number",
          "description": "Remaining attendee capacity of the event\n\nThis number represents the remaining open spots."
        },
        "majors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Majors of the academic event that this event belongs to"
        },
        "originalCategory": {
          "type": "string",
          "description": "Original unmapped category from the source of the academic event"
        }
      },
      "required": [
        "categories",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An academic event without references"
    },
    "SCSportCourseWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "sport course",
          "description": "Type of a sport course"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "maximumParticipants": {
          "type": "number",
          "description": "Maximum number of participants of the event\n\nA maximum number of people that can participate in the event."
        },
        "remainingAttendeeCapacity": {
          "type": "number",
          "description": "Remaining attendee capacity of the event\n\nThis number represents the remaining open spots."
        }
      },
      "required": [
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A sport course without references"
    },
    "SCDish": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCDishTranslatableProperties%3E",
          "description": "Translated fields of a dish"
        },
        "type": {
          "type": "string",
          "const": "dish",
          "description": "Type of a dish"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCDishCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "offers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatCanBeOfferedOffer%3CSCAcademicPriceGroup%3E"
          },
          "description": "List of offers for that thing"
        },
        "additives": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Additives of the dish"
        },
        "characteristics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCDishCharacteristic"
          },
          "description": "Characteristics of the dish"
        },
        "nutrition": {
          "$ref": "#/definitions/SCNutritionInformation",
          "description": "Nutrition information (calories and nutrients with amounts)"
        },
        "menuSection": {
          "$ref": "#/definitions/SCMenuSection",
          "description": "Section of the restaurant menu to which the dish belongs"
        },
        "dishAddOns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCDishWithoutReferences"
          },
          "description": "Dishes (\"Beilagen\") that are served with the dish (if only certain supplement dishes can be taken with a dish)"
        },
        "certifications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCertificationWithoutReferences"
          },
          "description": "Certifications this dish received"
        }
      },
      "required": [
        "categories",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A dish"
    },
    "SCTranslations<SCDishTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCDishTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCDishTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCDishTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "offers[].availability": {
          "type": "string",
          "description": "Availability of an offer"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        },
        "additives": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Additives of the dish"
        },
        "characteristics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCDishCharacteristic"
          },
          "description": "Characteristics of the dish"
        }
      },
      "additionalProperties": false
    },
    "SCDishCharacteristic": {
      "type": "object",
      "properties": {
        "image": {
          "type": "string",
          "description": "URL of an image of the characteristic"
        },
        "name": {
          "type": "string",
          "description": "Name of the characteristic"
        }
      },
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "description": "Composition of properties of a food characteristic"
    },
    "SCDishCategories": {
      "type": "string",
      "enum": [
        "appetizer",
        "salad",
        "main dish",
        "dessert",
        "soup",
        "side dish"
      ],
      "description": "A list of categories for dishes"
    },
    "SCNutritionInformation": {
      "type": "object",
      "properties": {
        "calories": {
          "type": "number",
          "description": "Number of calories contained (in kcal)"
        },
        "carbohydrateContent": {
          "type": "number",
          "description": "Content of carbohydrates (in grams)"
        },
        "fatContent": {
          "type": "number",
          "description": "Content of fat (in grams)"
        },
        "proteinContent": {
          "type": "number",
          "description": "Content of proteins (in grams)"
        },
        "saltContent": {
          "type": "number",
          "description": "Content of salt (in grams)"
        },
        "saturatedFatContent": {
          "type": "number",
          "description": "Content of saturated fat (in grams)"
        },
        "sugarContent": {
          "type": "number",
          "description": "Content of sugar (in grams)"
        }
      },
      "additionalProperties": false,
      "description": "Type definition for SCNutritionInformation"
    },
    "SCMenuSection": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "enum": [
            "breakfast",
            "lunch",
            "dinner"
          ],
          "description": "Name of the menu section (mostly to be used as a section title)"
        },
        "servingHours": {
          "type": "string",
          "description": "The time span when the dishes from the sections are available."
        }
      },
      "required": [
        "name"
      ],
      "additionalProperties": false
    },
    "SCDishWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCDishTranslatableProperties%3E",
          "description": "Translated fields of a dish"
        },
        "type": {
          "type": "string",
          "const": "dish",
          "description": "Type of a dish"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCDishCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "additives": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Additives of the dish"
        },
        "characteristics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCDishCharacteristic"
          },
          "description": "Characteristics of the dish"
        },
        "nutrition": {
          "$ref": "#/definitions/SCNutritionInformation",
          "description": "Nutrition information (calories and nutrients with amounts)"
        },
        "menuSection": {
          "$ref": "#/definitions/SCMenuSection",
          "description": "Section of the restaurant menu to which the dish belongs"
        }
      },
      "required": [
        "categories",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A dish without references"
    },
    "SCCertificationWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCCertificationTranslatableProperties%3E",
          "description": "Translations of a certification"
        },
        "type": {
          "type": "string",
          "const": "certification",
          "description": "Type of certification"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCertificationCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "compactImage": {
          "type": "string",
          "description": "A compact version of the image, for example for showing in list views"
        }
      },
      "required": [
        "categories",
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false
    },
    "SCFloor": {
      "type": "object",
      "properties": {
        "inPlace": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCBuildingWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            }
          ],
          "description": "Place the thing is or happens in"
        },
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCFloorTranslatableProperties%3E",
          "description": "Translated fields of a floor"
        },
        "type": {
          "type": "string",
          "const": "floor",
          "description": "Type of a floor"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "floorName": {
          "type": "string",
          "description": "Floor name in the place it is in e.g. \"first floor\", \"ground floor\". This doesn't reference the building name."
        },
        "plan": {
          "$ref": "#/definitions/SCFloorFeatureCollectionWithPlaces%3CLineString%3E",
          "description": "Floor plan"
        }
      },
      "required": [
        "floorName",
        "name",
        "origin",
        "plan",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A floor"
    },
    "SCTranslations<SCFloorTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCFloorTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCFloorTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCFloorTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "floorName": {
          "type": "string",
          "description": "Translation of the floor name"
        }
      },
      "additionalProperties": false,
      "description": "Translatable properties of a floor"
    },
    "SCFloorFeatureCollectionWithPlaces<LineString>": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "FeatureCollection"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "crs": {
          "$ref": "#/definitions/CoordinateReferenceSystem"
        },
        "features": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCFloorFeatureWithPlace%3CLineString%3E"
          },
          "description": "Features of the collection"
        }
      },
      "required": [
        "features",
        "type"
      ],
      "additionalProperties": false,
      "description": "A feature collection"
    },
    "SCFloorFeatureWithPlace<LineString>": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "Feature"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "crs": {
          "$ref": "#/definitions/CoordinateReferenceSystem"
        },
        "geometry": {
          "$ref": "#/definitions/LineString"
        },
        "properties": {},
        "id": {
          "type": [
            "string",
            "number"
          ]
        },
        "place": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            }
          ],
          "description": "The place of the feature"
        }
      },
      "additionalProperties": false,
      "required": [
        "geometry",
        "properties",
        "type"
      ],
      "description": "* A feature with a place"
    },
    "LineString": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "LineString"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "crs": {
          "$ref": "#/definitions/CoordinateReferenceSystem"
        },
        "coordinates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Position"
          }
        }
      },
      "required": [
        "coordinates",
        "type"
      ],
      "additionalProperties": false,
      "description": "* http://geojson.org/geojson-spec.html#linestring"
    },
    "SCIdCard": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCIdCardTranslatableProperties%3E",
          "description": "Translated fields of a message"
        },
        "type": {
          "type": "string",
          "const": "id card",
          "description": "Type"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "validity": {
          "$ref": "#/definitions/SCISO8601DateRange",
          "description": "Validity range"
        }
      },
      "required": [
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A message"
    },
    "SCTranslations<SCIdCardTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCIdCardTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCIdCardTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCIdCardTranslatableProperties": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        }
      },
      "description": "Translatable properties of a message"
    },
    "SCMessage": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCMessageTranslatableProperties%3E",
          "description": "Translated fields of a message"
        },
        "type": {
          "type": "string",
          "const": "message",
          "description": "Type of a message"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCMessageCategories"
          },
          "description": "Categories of a message"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "availableLanguages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCLanguageCode"
          },
          "description": "Languages this creative work is available in"
        },
        "datePublished": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Date the creative work was published"
        },
        "edition": {
          "type": "string",
          "description": "Edition of a creative work (e.g. the book edition or edition of an article)"
        },
        "firstPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was published for the first time"
        },
        "inLanguage": {
          "$ref": "#/definitions/SCLanguageCode",
          "description": "Languages this creative work is written/recorded/... in"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords of the creative work"
        },
        "lastPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was most recently"
        },
        "audienceOrganizations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCOrganizationWithoutReferences"
          },
          "description": "Organizational unit for which the message is intended"
        },
        "audiences": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCUserGroup"
          },
          "description": "Roles for which the message is intended"
        },
        "dateCreated": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "When the message was created"
        },
        "messageBody": {
          "type": "string",
          "description": "Message itself"
        },
        "sequenceIndex": {
          "type": "number",
          "description": "An index for applying a custom sorting of multiple messages"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "authors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Authors of the creative work"
        },
        "isPartOf": {
          "$ref": "#/definitions/SCCreativeWorkWithoutReferences",
          "description": "A creative work to which the creative work belongs"
        },
        "publications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPublicationEventWithoutReferences"
          },
          "description": "List of events at which the creative work was published"
        },
        "publishers": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "$ref": "#/definitions/SCPersonWithoutReferences"
              },
              {
                "$ref": "#/definitions/SCOrganizationWithoutReferences"
              }
            ]
          },
          "description": "List of publishers of the creative work"
        },
        "sourceOrganization": {
          "type": "string",
          "description": "A text representing on organization on whose behalf the creator was working"
        }
      },
      "required": [
        "audiences",
        "categories",
        "messageBody",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A message"
    },
    "SCTranslations<SCMessageTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCMessageTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCMessageTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCMessageTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "offers[].availability": {
          "type": "string",
          "description": "Availability of an offer"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Translation of the keywords of the creative work"
        },
        "messageBody": {
          "type": "string",
          "description": "Message itself"
        }
      },
      "additionalProperties": false,
      "description": "Translatable properties of a message"
    },
    "SCMessageCategories": {
      "type": "string",
      "const": "news",
      "description": "Categories of a message"
    },
    "SCUserGroup": {
      "type": "string",
      "enum": [
        "students",
        "employees",
        "guests"
      ],
      "description": "Types of data consumers"
    },
    "SCOrganization": {
      "type": "object",
      "properties": {
        "inPlace": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCBuildingWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            }
          ],
          "description": "Place the thing is or happens in"
        },
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "organization",
          "description": "Type of an organization"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "contactPoints": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCContactPointWithoutReferences"
          },
          "description": "A list of contact points concerning the organization"
        }
      },
      "required": [
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An organization"
    },
    "SCContactPointWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "contact point",
          "description": "Type of a contact point"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "email": {
          "type": "string",
          "description": "E-mail at the work location"
        },
        "faxNumber": {
          "type": "string",
          "description": "Fax number at the work location"
        },
        "officeHours": {
          "type": "string",
          "description": "Office hours for contacting someone at the work location"
        },
        "telephone": {
          "type": "string",
          "description": "Contact number at the work location"
        },
        "url": {
          "type": "string",
          "description": "URL at the work location"
        }
      },
      "required": [
        "name",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A contact point without references"
    },
    "SCPeriodical": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCPeriodicalTranslatableFields%3E",
          "description": "Translated properties of a periodical"
        },
        "type": {
          "type": "string",
          "const": "periodical",
          "description": "Type of a periodical"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPeriodicalCategories"
          },
          "description": "Categories of a periodical"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "availableLanguages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCLanguageCode"
          },
          "description": "Languages this creative work is available in"
        },
        "datePublished": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Date the creative work was published"
        },
        "edition": {
          "type": "string",
          "description": "Edition of a creative work (e.g. the book edition or edition of an article)"
        },
        "firstPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was published for the first time"
        },
        "inLanguage": {
          "$ref": "#/definitions/SCLanguageCode",
          "description": "Languages this creative work is written/recorded/... in"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords of the creative work"
        },
        "lastPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was most recently"
        },
        "ISSNs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of ISSNs of a periodical"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "offers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatCanBeOfferedOffer%3CSCAcademicPriceGroup%3E"
          },
          "description": "List of offers for that thing"
        },
        "authors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Authors of the creative work"
        },
        "isPartOf": {
          "$ref": "#/definitions/SCCreativeWorkWithoutReferences",
          "description": "A creative work to which the creative work belongs"
        },
        "publications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPublicationEventWithoutReferences"
          },
          "description": "List of events at which the creative work was published"
        },
        "publishers": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "$ref": "#/definitions/SCPersonWithoutReferences"
              },
              {
                "$ref": "#/definitions/SCOrganizationWithoutReferences"
              }
            ]
          },
          "description": "List of publishers of the creative work"
        },
        "sourceOrganization": {
          "type": "string",
          "description": "A text representing on organization on whose behalf the creator was working"
        }
      },
      "required": [
        "categories",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A publication published at regular intervals (e.g. a magazine or newspaper)"
    },
    "SCPerson": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "The complete name of the person combining all the parts of the name into one."
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "person",
          "description": "Type of a person"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "additionalName": {
          "type": "string",
          "description": "Additional first names of the person."
        },
        "birthDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "The birth date of the person."
        },
        "email": {
          "type": "string",
          "description": "The private email address of the person."
        },
        "familyName": {
          "type": "string",
          "description": "The family name of the person."
        },
        "faxNumber": {
          "type": "string",
          "description": "The private fax number of the person."
        },
        "gender": {
          "$ref": "#/definitions/SCPersonGender",
          "description": "The gender of the person."
        },
        "givenName": {
          "type": "string",
          "description": "The first name of the person."
        },
        "honorificPrefix": {
          "type": "string",
          "description": "Honorific prefix of the person."
        },
        "honorificSuffix": {
          "type": "string",
          "description": "Honorific suffix of the person."
        },
        "jobTitles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Titles of jobs that the person has."
        },
        "nationality": {
          "$ref": "#/definitions/SCNationality",
          "description": "The nationality of the person."
        },
        "telephone": {
          "type": "string",
          "description": "The private telephone number of the person."
        },
        "affiliations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCOrganizationWithoutReferences"
          },
          "description": "Organization the person works for"
        },
        "homeLocations": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "$ref": "#/definitions/SCBuildingWithoutReferences"
              },
              {
                "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
              },
              {
                "$ref": "#/definitions/SCRoomWithoutReferences"
              }
            ]
          },
          "description": "A list of homes of the person"
        },
        "workLocations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCContactPointWithoutReferences"
          },
          "description": "Locations where the person performs her/his work"
        }
      },
      "required": [
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A person"
    },
    "SCPointOfInterest": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingWithCategoriesTranslatableProperties%3E",
          "description": "Translated properties of a point of interest"
        },
        "type": {
          "type": "string",
          "const": "point of interest",
          "description": "Type of a point of interest"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPointOfInterestCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "address": {
          "$ref": "#/definitions/SCPostalAddress",
          "description": "Address of the place"
        },
        "geo": {
          "$ref": "#/definitions/SCGeoInformation",
          "description": "Positional information of the place\n\n!!! BEWARE !!! Can not be a GeometryCollection because ElasticSearch does not allow distance filtering/sorting on other types"
        },
        "openingHours": {
          "type": "string",
          "description": "Opening hours of the place"
        },
        "inPlace": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCBuildingWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            }
          ],
          "description": "Place the thing is or happens in"
        }
      },
      "required": [
        "categories",
        "geo",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A point of interest"
    },
    "SCPublicationEvent": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCPublicationEventTranslatableProperties%3E",
          "description": "Translated fields of an publication event"
        },
        "type": {
          "type": "string",
          "const": "publication event",
          "description": "Type of an publication event"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "maximumParticipants": {
          "type": "number",
          "description": "Maximum number of participants of the event\n\nA maximum number of people that can participate in the event."
        },
        "remainingAttendeeCapacity": {
          "type": "number",
          "description": "Remaining attendee capacity of the event\n\nThis number represents the remaining open spots."
        },
        "locations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "All the locations related to the event (e.g. where a creative work was published)"
        },
        "publisher": {
          "type": "string",
          "description": "An organization (or a person) that is publishing at the event"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "academicTerms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCSemesterWithoutReferences"
          },
          "description": "Academic terms that an event belongs to, e.g. semester(s)."
        },
        "catalogs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCatalogWithoutReferences"
          },
          "description": "Catalogs to which an event belongs"
        },
        "creativeWorks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCreativeWorkWithoutReferences"
          },
          "description": "A list of creative works that are associated with this event\n\nThis can be recommended books, CDs that can be bought, etc."
        },
        "organizers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Organizers of the event"
        },
        "performers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Performers of the event"
        }
      },
      "required": [
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "An publication event"
    },
    "SCRoom": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingWithCategoriesTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "room",
          "description": "Type of the room"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCRoomCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCRoomSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "address": {
          "$ref": "#/definitions/SCPostalAddress",
          "description": "Address of the place"
        },
        "geo": {
          "$ref": "#/definitions/SCGeoInformation",
          "description": "Positional information of the place\n\n!!! BEWARE !!! Can not be a GeometryCollection because ElasticSearch does not allow distance filtering/sorting on other types"
        },
        "openingHours": {
          "type": "string",
          "description": "Opening hours of the place"
        },
        "paymentsAccepted": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatAcceptsPaymentsAcceptedPayments"
          },
          "description": "Accepted payments of the place"
        },
        "inPlace": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCBuildingWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            }
          ],
          "description": "Place the thing is or happens in"
        },
        "floorName": {
          "type": "string",
          "description": "The name of the floor in which the room is in."
        },
        "inventory": {
          "$ref": "#/definitions/SCMap%3Cnumber%3E",
          "description": "The inventory of the place/room as a list of items and their quantity."
        }
      },
      "required": [
        "categories",
        "geo",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A room"
    },
    "SCSemester": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "semester",
          "description": "Type of the semester"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "acronym": {
          "type": "string",
          "description": "The short name of the semester, using the given pattern.",
          "pattern": "^(WS|SS|WiSe|SoSe) [0-9]{4}(/[0-9]{2})?$"
        },
        "endDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "End date of the academic term"
        },
        "eventsEndDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "End date of lectures in the academic term"
        },
        "eventsStartDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Start date of lectures in the academic term"
        },
        "startDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Start date of the academic term"
        }
      },
      "required": [
        "acronym",
        "endDate",
        "name",
        "origin",
        "startDate",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A semester"
    },
    "SCSportCourse": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "sport course",
          "description": "Type of a sport course"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "maximumParticipants": {
          "type": "number",
          "description": "Maximum number of participants of the event\n\nA maximum number of people that can participate in the event."
        },
        "remainingAttendeeCapacity": {
          "type": "number",
          "description": "Remaining attendee capacity of the event\n\nThis number represents the remaining open spots."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "academicTerms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCSemesterWithoutReferences"
          },
          "description": "Academic terms that an event belongs to, e.g. semester(s)."
        },
        "catalogs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCatalogWithoutReferences"
          },
          "description": "Catalogs to which an event belongs"
        },
        "creativeWorks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCCreativeWorkWithoutReferences"
          },
          "description": "A list of creative works that are associated with this event\n\nThis can be recommended books, CDs that can be bought, etc."
        },
        "organizers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Organizers of the event"
        },
        "performers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Performers of the event"
        }
      },
      "required": [
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A sport course"
    },
    "SCStudyModule": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCStudyModuleTranslatableProperties%3E",
          "description": "Translated fields of a study module"
        },
        "type": {
          "type": "string",
          "const": "study module",
          "description": "Type of the study module"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "offers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatCanBeOfferedOffer%3CSCAcademicPriceGroup%3E"
          },
          "description": "List of offers for that thing"
        },
        "ects": {
          "type": "number",
          "description": "ECTS points (European Credit Transfer System)"
        },
        "language": {
          "$ref": "#/definitions/SCLanguage",
          "description": "The language in which the study module is offered"
        },
        "majors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Majors that this study module is meant for"
        },
        "necessity": {
          "$ref": "#/definitions/SCMap%3CSCStudyModuleNecessity%3E",
          "description": "Represents the modules necessity for each given major (of the major property)"
        },
        "academicEvents": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCAcademicEventWithoutReferences"
          },
          "description": "Academic events that make up a study module"
        },
        "faculty": {
          "$ref": "#/definitions/SCOrganizationWithoutReferences",
          "description": "The faculty that manages and curates the study module"
        },
        "partnerModules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCStudyModuleWithoutReferences"
          },
          "description": "Study modules needed for each others fulfillment"
        },
        "requiredModules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCStudyModuleWithoutReferences"
          },
          "description": "Study modules required beforehand"
        },
        "secretary": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCOrganizationWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPersonWithoutReferences"
            }
          ],
          "description": "The secretary that administers requests and questions concerning the study module by eg. students"
        }
      },
      "required": [
        "academicEvents",
        "ects",
        "faculty",
        "language",
        "majors",
        "name",
        "necessity",
        "origin",
        "secretary",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A study module"
    },
    "SCTranslations<SCStudyModuleTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCStudyModuleTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCStudyModuleTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCStudyModuleTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "offers[].availability": {
          "type": "string",
          "description": "Availability of an offer"
        },
        "majors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Translations of the majors that this study module is meant for"
        },
        "necessity": {
          "$ref": "#/definitions/SCMap%3CSCStudyModuleNecessity%3E",
          "description": "Translations of the modules necessity for each given major (of the major property)"
        }
      },
      "required": [
        "necessity"
      ],
      "additionalProperties": false
    },
    "SCMap<SCStudyModuleNecessity>": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/SCStudyModuleNecessity",
        "description": "One value for each key"
      },
      "description": "Capsulation for a map with a string as key with values of type `T`\n\n!!! BEWARE !!! Can't be refactored to a `Map<K, V>`, because it can't be serialized via JSON.stringify(map)"
    },
    "SCStudyModuleNecessity": {
      "type": "string",
      "enum": [
        "required",
        "elective",
        "optional"
      ],
      "description": "Represents a modules necessity (in a major) as it may be required, optional or is in a pool of n optional modules were m out of them have to be taken/completed. Hence the elective option."
    },
    "SCStudyModuleWithoutReferences": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCStudyModuleTranslatableProperties%3E",
          "description": "Translated fields of a study module"
        },
        "type": {
          "type": "string",
          "const": "study module",
          "description": "Type of the study module"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "ects": {
          "type": "number",
          "description": "ECTS points (European Credit Transfer System)"
        },
        "language": {
          "$ref": "#/definitions/SCLanguage",
          "description": "The language in which the study module is offered"
        },
        "majors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Majors that this study module is meant for"
        },
        "necessity": {
          "$ref": "#/definitions/SCMap%3CSCStudyModuleNecessity%3E",
          "description": "Represents the modules necessity for each given major (of the major property)"
        }
      },
      "required": [
        "ects",
        "language",
        "majors",
        "name",
        "necessity",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A study module without references"
    },
    "SCTicket": {
      "type": "object",
      "properties": {
        "inPlace": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCBuildingWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            }
          ],
          "description": "Place the thing is or happens in"
        },
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "ticket",
          "description": "Type of a ticket"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "approxWaitingTime": {
          "$ref": "#/definitions/SCISO8601Duration",
          "description": "Approximate wait time"
        },
        "currentTicketNumber": {
          "type": "string",
          "description": "Waiting number of the ticket"
        },
        "serviceType": {
          "type": "string",
          "description": "Service type of the ticket"
        }
      },
      "required": [
        "approxWaitingTime",
        "currentTicketNumber",
        "name",
        "origin",
        "serviceType",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A ticket"
    },
    "SCToDo": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingWithCategoriesTranslatableProperties%3E",
          "description": "Translated fields of a thing with categories"
        },
        "type": {
          "type": "string",
          "const": "todo",
          "description": "Type of the \"to do\""
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "done": {
          "type": "boolean",
          "description": "Whether or not the \"to do\" is already done"
        },
        "dueDate": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "A date when the \"to do\" is due"
        },
        "priority": {
          "$ref": "#/definitions/SCToDoPriority",
          "description": "Priority of the \"to do\""
        }
      },
      "required": [
        "categories",
        "done",
        "name",
        "origin",
        "priority",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A \"to do\""
    },
    "SCToDoPriority": {
      "type": "number",
      "enum": [
        0,
        2,
        5
      ],
      "description": "A priority of a \"to do\""
    },
    "SCTour": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "tour",
          "description": "Type of a tour"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "init": {
          "type": "string",
          "description": "Init script for the tour"
        },
        "steps": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCTourStep"
          },
          "description": "Steps of a tour"
        }
      },
      "required": [
        "name",
        "origin",
        "steps",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A tour"
    },
    "SCTourStep": {
      "anyOf": [
        {
          "$ref": "#/definitions/SCTourStepMenu"
        },
        {
          "$ref": "#/definitions/SCTourStepLocation"
        },
        {
          "$ref": "#/definitions/SCTourStepTooltip"
        }
      ],
      "description": "A step in a tour"
    },
    "SCTourStepMenu": {
      "type": "object",
      "properties": {
        "action": {
          "type": "string",
          "const": "close",
          "description": "The action that needs to be completed on the menu"
        },
        "side": {
          "type": "string",
          "const": "right",
          "description": "The side of the menu that the step refers to"
        },
        "type": {
          "type": "string",
          "const": "menu",
          "description": "The type of the step"
        }
      },
      "required": [
        "action",
        "side",
        "type"
      ],
      "additionalProperties": false,
      "description": "Menu interaction of a tour step"
    },
    "SCTourStepLocation": {
      "type": "object",
      "properties": {
        "location": {
          "type": "string",
          "description": "Location to go to"
        },
        "type": {
          "type": "string",
          "const": "location",
          "description": "Type of the step"
        }
      },
      "required": [
        "location",
        "type"
      ],
      "additionalProperties": false,
      "description": "A location of a tour step"
    },
    "SCTourStepTooltip": {
      "type": "object",
      "properties": {
        "canFail": {
          "type": "boolean",
          "description": "Whether the tooltip may fail or not"
        },
        "element": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ],
          "description": "Element that the tooltip shall be pointing at or a list of elements to try in the specified order"
        },
        "position": {
          "type": "string",
          "enum": [
            "bottom",
            "left",
            "right",
            "top"
          ],
          "description": "Position of the tooltip"
        },
        "resolved": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCTourResolvedElement"
            },
            {
              "$ref": "#/definitions/SCTourResolvedEvent"
            },
            {
              "$ref": "#/definitions/SCTourResolvedLocation"
            },
            {
              "$ref": "#/definitions/SCTourResolvedMenu"
            }
          ],
          "description": "How the step shall be resolved"
        },
        "text": {
          "type": "string",
          "description": "Text that the tooltip shall contain"
        },
        "tries": {
          "type": "number",
          "description": "How often it shall be retried"
        },
        "type": {
          "type": "string",
          "const": "tooltip",
          "description": "Type of the step"
        }
      },
      "required": [
        "element",
        "text",
        "type"
      ],
      "additionalProperties": false,
      "description": "A tooltip in a tour step"
    },
    "SCTourResolvedElement": {
      "type": "object",
      "properties": {
        "element": {
          "type": "string",
          "description": "Element name"
        }
      },
      "required": [
        "element"
      ],
      "additionalProperties": false,
      "description": "Tour step resolved by an element"
    },
    "SCTourResolvedEvent": {
      "type": "object",
      "properties": {
        "event": {
          "type": "string",
          "description": "Event name"
        }
      },
      "required": [
        "event"
      ],
      "additionalProperties": false,
      "description": "Tour step resolved by an event"
    },
    "SCTourResolvedLocation": {
      "type": "object",
      "properties": {
        "location": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCTourResolvedLocationTypeIs"
            },
            {
              "$ref": "#/definitions/SCTourResolvedLocationTypeMatch"
            }
          ],
          "description": "Matching location"
        }
      },
      "required": [
        "location"
      ],
      "additionalProperties": false,
      "description": "Tour step resolved by a location"
    },
    "SCTourResolvedLocationTypeIs": {
      "type": "object",
      "properties": {
        "is": {
          "type": "string",
          "description": "Specific location name"
        }
      },
      "required": [
        "is"
      ],
      "additionalProperties": false,
      "description": "Tour step resolved by a location for a specific location"
    },
    "SCTourResolvedLocationTypeMatch": {
      "type": "object",
      "properties": {
        "match": {
          "type": "string",
          "description": "Regex location name"
        }
      },
      "required": [
        "match"
      ],
      "additionalProperties": false,
      "description": "Tour step resolved by a location for a specific location"
    },
    "SCTourResolvedMenu": {
      "type": "object",
      "properties": {
        "menu": {
          "type": "string",
          "enum": [
            "open-left",
            "open-right"
          ],
          "description": "Menu location"
        }
      },
      "required": [
        "menu"
      ],
      "additionalProperties": false,
      "description": "Tour step resolved by interacting with a menu"
    },
    "SCVideo": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCVideoTranslatableFields%3E",
          "description": "Translated fields of a video"
        },
        "type": {
          "type": "string",
          "const": "video",
          "description": "Type of a video"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "availableLanguages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCLanguageCode"
          },
          "description": "Languages this creative work is available in"
        },
        "datePublished": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Date the creative work was published"
        },
        "edition": {
          "type": "string",
          "description": "Edition of a creative work (e.g. the book edition or edition of an article)"
        },
        "firstPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was published for the first time"
        },
        "inLanguage": {
          "$ref": "#/definitions/SCLanguageCode",
          "description": "Languages this creative work is written/recorded/... in"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords of the creative work"
        },
        "lastPublished": {
          "type": "string",
          "description": "Date (in text form) the creative work was most recently"
        },
        "duration": {
          "$ref": "#/definitions/SCISO8601Duration",
          "description": "The Duration of the Video"
        },
        "sources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCVideoSource"
          },
          "description": "Downloadable/Streamable Files of the Video"
        },
        "thumbnails": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "URLs to a thumbnails for the Video"
        },
        "tracks": {
          "$ref": "#/definitions/SCVideoTrack",
          "description": "Track Files for the Video"
        },
        "transcript": {
          "type": "string",
          "description": "A Transcript of the Video"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "offers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCThingThatCanBeOfferedOffer%3CSCAcademicPriceGroup%3E"
          },
          "description": "List of offers for that thing"
        },
        "authors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Authors of the creative work"
        },
        "isPartOf": {
          "$ref": "#/definitions/SCCreativeWorkWithoutReferences",
          "description": "A creative work to which the creative work belongs"
        },
        "publications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPublicationEventWithoutReferences"
          },
          "description": "List of events at which the creative work was published"
        },
        "publishers": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "$ref": "#/definitions/SCPersonWithoutReferences"
              },
              {
                "$ref": "#/definitions/SCOrganizationWithoutReferences"
              }
            ]
          },
          "description": "List of publishers of the creative work"
        },
        "sourceOrganization": {
          "type": "string",
          "description": "A text representing on organization on whose behalf the creator was working"
        },
        "actors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCPersonWithoutReferences"
          },
          "description": "Persons acting in the Video"
        }
      },
      "required": [
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A video"
    },
    "SCTranslations<SCVideoTranslatableFields>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCVideoTranslatableFields",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCVideoTranslatableFields",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCVideoTranslatableFields": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "offers[].availability": {
          "type": "string",
          "description": "Availability of an offer"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Translation of the keywords of the creative work"
        }
      },
      "description": "Translatable properties of a video"
    },
    "SCVideoSource": {
      "type": "object",
      "properties": {
        "height": {
          "type": "number",
          "description": "Pixel Height of the Video"
        },
        "mimeType": {
          "$ref": "#/definitions/SCVideoMimeType",
          "description": "MIME-Type of the source File"
        },
        "size": {
          "type": "number",
          "description": "Size of the Video File in bytes"
        },
        "url": {
          "type": "string",
          "description": "URL to the Video File"
        },
        "width": {
          "type": "number",
          "description": "Pixel Width of the Video"
        }
      },
      "required": [
        "mimeType",
        "url"
      ],
      "additionalProperties": false
    },
    "SCVideoMimeType": {
      "type": "string",
      "enum": [
        "video/mp4",
        "video/ogg",
        "video/webm",
        "application/vnd.apple.mpegurl",
        "application/dash+xml"
      ],
      "description": "Video Encoding Formats"
    },
    "SCVideoTrack": {
      "type": "object",
      "properties": {
        "language": {
          "$ref": "#/definitions/SCLanguage",
          "description": "Language of the Subtitle"
        },
        "type": {
          "$ref": "#/definitions/SCVideoTrackTypes",
          "description": "Content Type of the Track File"
        },
        "url": {
          "type": "string",
          "description": "URL to the Track File"
        }
      },
      "required": [
        "language",
        "type",
        "url"
      ],
      "additionalProperties": false
    },
    "SCVideoTrackTypes": {
      "type": "string",
      "enum": [
        "closed captions",
        "chapters",
        "description",
        "metadata",
        "subtitles"
      ],
      "description": "Video Track Types"
    },
    "SCJobPosting": {
      "type": "object",
      "properties": {
        "inPlace": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCBuildingWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCPointOfInterestWithoutReferences"
            },
            {
              "$ref": "#/definitions/SCRoomWithoutReferences"
            }
          ],
          "description": "Place the thing is or happens in"
        },
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingWithCategoriesTranslatableProperties%3E",
          "description": "Translated fields of a thing with categories"
        },
        "type": {
          "type": "string",
          "const": "job posting",
          "description": "A JobPosting"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCJobCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "employerOverview": {
          "$ref": "#/definitions/SCOrganizationWithoutReferences",
          "description": "A description of the employer"
        }
      },
      "required": [
        "categories",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A JobPosting"
    },
    "SCJobCategories": {
      "type": "string",
      "enum": [
        "law",
        "business",
        "natural",
        "it",
        "education",
        "other",
        "arts",
        "social",
        "engineering",
        "communication",
        "medical"
      ],
      "description": "categories of a job posting"
    },
    "SCDiff": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "diff",
          "description": "Type of a diff"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "action": {
          "type": "string",
          "enum": [
            "changed",
            "removed"
          ],
          "description": "Action of the diff"
        },
        "changes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/jsonpatch.OpPatch"
          },
          "description": "Diff patch. Only when action === 'changed'"
        },
        "dateCreated": {
          "$ref": "#/definitions/SCISO8601Date",
          "description": "Creation date of the diff."
        },
        "object": {
          "$ref": "#/definitions/SCIndexableThings",
          "description": "Original object the diff was generated on"
        }
      },
      "required": [
        "action",
        "dateCreated",
        "name",
        "object",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A diff"
    },
    "jsonpatch.OpPatch": {
      "anyOf": [
        {
          "$ref": "#/definitions/jsonpatch.AddPatch"
        },
        {
          "$ref": "#/definitions/jsonpatch.RemovePatch"
        },
        {
          "$ref": "#/definitions/jsonpatch.ReplacePatch"
        },
        {
          "$ref": "#/definitions/jsonpatch.MovePatch"
        },
        {
          "$ref": "#/definitions/jsonpatch.CopyPatch"
        },
        {
          "$ref": "#/definitions/jsonpatch.TestPatch"
        }
      ]
    },
    "jsonpatch.AddPatch": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string"
        },
        "op": {
          "type": "string",
          "const": "add"
        },
        "value": {}
      },
      "required": [
        "op",
        "path",
        "value"
      ],
      "additionalProperties": false
    },
    "jsonpatch.RemovePatch": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string"
        },
        "op": {
          "type": "string",
          "const": "remove"
        }
      },
      "required": [
        "op",
        "path"
      ],
      "additionalProperties": false
    },
    "jsonpatch.ReplacePatch": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string"
        },
        "op": {
          "type": "string",
          "const": "replace"
        },
        "value": {}
      },
      "required": [
        "op",
        "path",
        "value"
      ],
      "additionalProperties": false
    },
    "jsonpatch.MovePatch": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string"
        },
        "op": {
          "type": "string",
          "const": "move"
        },
        "from": {
          "type": "string"
        }
      },
      "required": [
        "from",
        "op",
        "path"
      ],
      "additionalProperties": false
    },
    "jsonpatch.CopyPatch": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string"
        },
        "op": {
          "type": "string",
          "const": "copy"
        },
        "from": {
          "type": "string"
        }
      },
      "required": [
        "from",
        "op",
        "path"
      ],
      "additionalProperties": false
    },
    "jsonpatch.TestPatch": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string"
        },
        "op": {
          "type": "string",
          "const": "test"
        },
        "value": {}
      },
      "required": [
        "op",
        "path",
        "value"
      ],
      "additionalProperties": false
    },
    "SCFavorite": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCThingTranslatableProperties%3E",
          "description": "Translations of specific values of the object\n\nTake precedence over \"main\" value for selected languages."
        },
        "type": {
          "type": "string",
          "const": "favorite",
          "description": "Type of a favorite"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingUserOrigin",
          "description": "Type of the origin"
        },
        "data": {
          "$ref": "#/definitions/SCIndexableThings",
          "description": "The contained data"
        }
      },
      "required": [
        "data",
        "name",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A favorite"
    },
    "SCSetting": {
      "type": "object",
      "properties": {
        "alternateNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate names of the thing"
        },
        "description": {
          "type": "string",
          "description": "Description of the thing",
          "minLength": 1
        },
        "identifiers": {
          "$ref": "#/definitions/SCMap%3Cstring%3E",
          "description": "The identifier property represents any kind of additional identifier for any kind of SCThing\n\nE.g. GTIN codes, UUIDs, Database IDs etc."
        },
        "image": {
          "type": "string",
          "description": "URL of an image of the thing"
        },
        "name": {
          "type": "string",
          "description": "Name of the thing",
          "minLength": 1
        },
        "sameAs": {
          "type": "string",
          "description": "URL of a reference Web page that unambiguously indicates the item's identity\n\nE.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."
        },
        "translations": {
          "$ref": "#/definitions/SCTranslations%3CSCSettingValueTranslatableProperties%3E",
          "description": "Translated fields of a setting"
        },
        "type": {
          "type": "string",
          "const": "setting",
          "description": "The type of this model"
        },
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "Universally unique identifier of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCSettingCategories"
          },
          "description": "Categories of a thing with categories"
        },
        "categorySpecificValues": {
          "$ref": "#/definitions/SCMap%3CSCThingWithCategoriesSpecificValues%3E",
          "description": "Use this to explicitly override general opening hours brought in scope by openingHoursSpecification or openingHours\n\nA map from categories to their specific values."
        },
        "origin": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCThingRemoteOrigin"
            },
            {
              "$ref": "#/definitions/SCThingUserOrigin"
            }
          ],
          "description": "Origin of the thing"
        },
        "defaultValue": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCSettingValue"
            },
            {
              "$ref": "#/definitions/SCSettingValues"
            }
          ],
          "description": "The default value of a setting"
        },
        "inputType": {
          "$ref": "#/definitions/SCSettingInputType",
          "description": "The input type of this setting"
        },
        "order": {
          "type": "number",
          "description": "The order number this setting should show up in its category list"
        },
        "value": {
          "anyOf": [
            {
              "$ref": "#/definitions/SCSettingValue"
            },
            {
              "$ref": "#/definitions/SCSettingValues"
            }
          ],
          "description": "The key of a value of a setting"
        },
        "values": {
          "$ref": "#/definitions/SCSettingValues",
          "description": "The possible values of a setting"
        }
      },
      "required": [
        "categories",
        "defaultValue",
        "inputType",
        "name",
        "order",
        "origin",
        "type",
        "uid"
      ],
      "additionalProperties": false,
      "description": "A setting with references"
    },
    "SCTranslations<SCSettingValueTranslatableProperties>": {
      "type": "object",
      "properties": {
        "de": {
          "$ref": "#/definitions/SCSettingValueTranslatableProperties",
          "description": "German translations"
        },
        "en": {
          "$ref": "#/definitions/SCSettingValueTranslatableProperties",
          "description": "English translations"
        }
      },
      "additionalProperties": false,
      "description": "Translations for specific languages"
    },
    "SCSettingValueTranslatableProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Translation of the description of the thing"
        },
        "name": {
          "type": "string",
          "description": "Translation of the name of the thing"
        },
        "origin": {
          "$ref": "#/definitions/SCThingTranslatablePropertyOrigin",
          "description": "Origin of the thing"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "translations of the categories of a thing with categories"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The translations of the possible values of a setting"
        }
      },
      "additionalProperties": false,
      "description": "Translatable properties of a setting"
    },
    "SCSettingCategories": {
      "type": "string",
      "enum": [
        "profile",
        "privacy",
        "credentials",
        "others"
      ],
      "description": "A list of categories for settings"
    },
    "SCSettingValue": {
      "type": [
        "string",
        "number",
        "boolean"
      ],
      "description": "The type a value of a setting can have"
    },
    "SCSettingValues": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/SCSettingValue"
      },
      "description": "The type of multiple values a setting can have"
    },
    "SCSettingInputType": {
      "type": "string",
      "enum": [
        "single choice",
        "multiple choice",
        "number",
        "text",
        "password"
      ],
      "description": "The types of input/value a setting object can carry"
    },
    "SCFacet": {
      "type": "object",
      "properties": {
        "buckets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SCFacetBucket"
          },
          "description": "Buckets for the aggregation"
        },
        "field": {
          "$ref": "#/definitions/SCThingsField",
          "description": "Field of the aggregation"
        },
        "onlyOnType": {
          "$ref": "#/definitions/SCThingType",
          "description": "Type of the aggregation"
        }
      },
      "required": [
        "buckets",
        "field"
      ],
      "additionalProperties": false,
      "description": "A search facet"
    },
    "SCFacetBucket": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "description": "Count of matching search results"
        },
        "key": {
          "type": "string",
          "description": "Key of a bucket"
        }
      },
      "required": [
        "count",
        "key"
      ],
      "additionalProperties": false,
      "description": "A bucket of a facet"
    },
    "SCThingsField": {
      "type": "string",
      "description": "A field of a thing"
    },
    "SCSearchResultPagination": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "description": "Count of given data. Same as data.length"
        },
        "offset": {
          "type": "number",
          "description": "Offset of data on all matching data. Given by [[SCSearchQuery.from]]"
        },
        "total": {
          "type": "number",
          "description": "Number of total matching data"
        }
      },
      "required": [
        "count",
        "offset",
        "total"
      ],
      "additionalProperties": false,
      "description": "Stores information about Pagination"
    },
    "SCSearchResultSearchEngineStats": {
      "type": "object",
      "properties": {
        "time": {
          "type": "number",
          "description": "Response time of the search engine in ms"
        }
      },
      "required": [
        "time"
      ],
      "additionalProperties": false,
      "description": "Statistics of search engine"
    },
    "SCSCSearchResponse": {
      "$ref": "#/definitions/SCSearchResult",
      "description": "A search response"
    }
  },
  "$id": "https://core.stapps.tu-berlin.de/v4.0.2/lib/schema/SCSearchResponse.json"
}