{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "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",
  "definitions": {
    "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
    },
    "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<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
    },
    "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"
    },
    "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"
    },
    "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}$"
    },
    "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"
      ]
    },
    "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."
    },
    "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"
    },
    "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"
    },
    "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)"
    },
    "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"
    },
    "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"
    },
    "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)"
    },
    "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"
    },
    "SCSCOrganization": {
      "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"
    }
  },
  "$id": "https://core.stapps.tu-berlin.de/v4.0.2/lib/schema/SCOrganization.json"
}