{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/university-of-helsinki/main/json-schema/university-of-helsinki-finbif-laji-schemas.json",
  "title": "Laji API — component schemas",
  "description": "JSON Schema bundle derived from the component schemas of openapi/university-of-helsinki-finbif-laji-openapi.yml, which was harvested verbatim from the University of Helsinki API portal (https://api.laji.fi/openapi/swagger-ui-init.js). Schemas are reproduced unchanged from the provider's own OpenAPI; only the $schema/$id/$defs envelope is ours.",
  "x-generated": "2026-08-30",
  "x-method": "derived",
  "x-source": "openapi/university-of-helsinki-finbif-laji-openapi.yml",
  "$defs": {
    "Participant": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "fullName": {
          "type": "string"
        },
        "emailAddress": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "lintuvaaraLoginName": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "lastDoc": {
          "type": "string"
        },
        "docCount": {
          "type": "number"
        }
      },
      "required": [
        "id",
        "fullName",
        "emailAddress",
        "address",
        "lintuvaaraLoginName",
        "lastDoc",
        "docCount"
      ]
    },
    "Person": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "emailAddress": {
          "type": "string"
        },
        "inheritedName": {
          "type": "string"
        },
        "preferredName": {
          "type": "string"
        },
        "lajiAuthLoginName": {
          "type": "string"
        },
        "fullName": {
          "type": "string"
        },
        "role": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "MA.admin",
              "_IMPORT_"
            ]
          }
        },
        "group": {
          "type": "string"
        },
        "organisation": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "organisationAdmin": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "securePortalUserRoleExpires": {
          "type": "string"
        },
        "roleAnnotation": {
          "type": "string",
          "enum": [
            "MMAN.expert"
          ]
        },
        "address": {
          "type": "string"
        },
        "lintuvaaraLoginName": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "@context": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "emailAddress",
        "role",
        "roleAnnotation",
        "@context"
      ]
    },
    "Profile": {
      "type": "object",
      "properties": {
        "settings": {
          "type": "object",
          "default": {},
          "additionalProperties": true
        },
        "id": {
          "type": "string"
        },
        "userID": {
          "type": "string"
        },
        "profileDescription": {
          "type": "string"
        },
        "personalCollectionIdentifier": {
          "type": "string"
        },
        "taxonExpertise": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "taxonExpertiseNotes": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "friends": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "blocked": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "friendRequests": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "id",
        "userID",
        "profileDescription",
        "personalCollectionIdentifier",
        "taxonExpertise",
        "taxonExpertiseNotes",
        "image",
        "friends",
        "blocked",
        "friendRequests"
      ]
    },
    "PersonTokenInfo": {
      "type": "object",
      "properties": {
        "personId": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "target": {
          "type": "string"
        }
      },
      "required": [
        "personId",
        "next",
        "target"
      ]
    },
    "StoreDeleteResponse": {
      "type": "object",
      "properties": {
        "affected": {
          "type": "number"
        }
      },
      "required": [
        "affected"
      ]
    },
    "MultiLangDto": {
      "type": "string"
    },
    "MetadataClass": {
      "type": "object",
      "properties": {
        "class": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "shortName": {
          "type": "string"
        }
      },
      "required": [
        "class",
        "shortName"
      ]
    },
    "Property": {
      "type": "object",
      "properties": {
        "domain": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "maxOccurs": {
          "type": "string"
        },
        "minOccurs": {
          "type": "string"
        },
        "required": {
          "type": "boolean"
        },
        "property": {
          "type": "string"
        },
        "multiLanguage": {
          "type": "boolean"
        },
        "shortName": {
          "type": "string"
        },
        "range": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "hasMany": {
          "type": "boolean"
        },
        "sortOrder": {
          "type": "number"
        },
        "isEmbeddable": {
          "type": "boolean"
        }
      },
      "required": [
        "domain",
        "maxOccurs",
        "minOccurs",
        "required",
        "property",
        "multiLanguage",
        "shortName",
        "range",
        "hasMany",
        "sortOrder",
        "isEmbeddable"
      ]
    },
    "Alt": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ]
    },
    "Collection": {
      "type": "object",
      "properties": {
        "collectionName": {
          "type": "object"
        },
        "description": {
          "type": "object"
        },
        "concealmentBasis": {
          "type": "object"
        },
        "onlineUrl": {
          "type": "object"
        },
        "longName": {
          "type": "object"
        },
        "dataQualityDescription": {
          "type": "object"
        },
        "dataUseTerm": {
          "type": "object"
        },
        "hasChildren": {
          "type": "boolean"
        },
        "collectionLocation": {
          "type": "object"
        },
        "dataLocation": {
          "type": "object"
        },
        "inMustikka": {
          "type": "boolean"
        },
        "editor": {
          "type": "string"
        },
        "creator": {
          "type": "string"
        },
        "longNameMultiLang": {
          "type": "object"
        },
        "descriptionMultiLang": {
          "type": "object"
        },
        "onlineUrlMultiLang": {
          "type": "object"
        },
        "@context": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "metadataStatus": {
          "type": "string",
          "enum": [
            "MY.metadataStatusHidden"
          ]
        },
        "isPartOf": {
          "type": "string"
        },
        "abbreviation": {
          "type": "string"
        },
        "temporalCoverage": {
          "type": "object"
        },
        "taxonomicCoverage": {
          "type": "object"
        },
        "methods": {
          "type": "object"
        },
        "coverageBasis": {
          "type": "object"
        },
        "geographicCoverage": {
          "type": "object"
        },
        "downloadRequestHandler": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "shareToFEO": {
          "type": "boolean"
        },
        "shareToGbif": {
          "type": "string"
        },
        "collectionType": {
          "type": "object"
        },
        "intellectualRights": {
          "type": "object"
        }
      },
      "required": [
        "collectionName",
        "longName",
        "@context",
        "id",
        "intellectualRights"
      ]
    },
    "FormPermissionPersonDto": {
      "type": "object",
      "properties": {
        "admins": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "editors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "permissionRequests": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "admins",
        "editors",
        "permissionRequests"
      ]
    },
    "FormPermissionDto": {
      "type": "object",
      "properties": {
        "restrictAccess": {
          "enum": [
            "MHL.restrictAccessStrict",
            "MHL.restrictAccessLoose"
          ],
          "type": "string"
        },
        "admins": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "editors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "permissionRequests": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "collectionID": {
          "type": "string"
        },
        "hasAdmins": {
          "type": "boolean"
        }
      },
      "required": [
        "admins",
        "editors",
        "permissionRequests",
        "collectionID"
      ]
    },
    "ErrorsObj": {
      "type": "object",
      "properties": {},
      "required": []
    },
    "BatchJobValidationStatus": {
      "type": "object",
      "properties": {
        "percentage": {
          "type": "number"
        },
        "processed": {
          "type": "number",
          "default": 0
        },
        "total": {
          "type": "number"
        }
      },
      "required": [
        "percentage",
        "processed",
        "total"
      ]
    },
    "BatchJobValidationStatusResponse": {
      "type": "object",
      "properties": {
        "errors": {
          "type": "array",
          "default": [],
          "items": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ErrorsObj"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "phase": {
          "type": "string",
          "enum": [
            "VALIDATING",
            "READY_TO_COMPLETE",
            "COMPLETING",
            "COMPLETED",
            "FAILED_UPON_VALIDATION",
            "FAILED_UPON_COMPLETION"
          ]
        },
        "id": {
          "type": "string"
        },
        "status": {
          "$ref": "#/components/schemas/BatchJobValidationStatus"
        }
      },
      "required": [
        "errors",
        "phase",
        "id",
        "status"
      ]
    },
    "DocumentCountItemResponse": {
      "type": "object",
      "properties": {
        "year": {
          "type": "string"
        },
        "count": {
          "type": "number"
        }
      },
      "required": [
        "year",
        "count"
      ]
    },
    "StatisticsResponse": {
      "type": "object",
      "properties": {
        "dateMedian": {
          "type": "string"
        }
      },
      "required": [
        "dateMedian"
      ]
    },
    "NamedPlace": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "geometry": {
          "type": "object"
        },
        "public": {
          "type": "object",
          "default": false
        },
        "owners": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "editors": {
          "description": "Read access, not edit access",
          "default": [],
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "prepopulatedDocument": {
          "type": "object"
        }
      },
      "required": [
        "id",
        "geometry",
        "public",
        "owners",
        "editors"
      ]
    },
    "RedListEvaluation": {
      "type": "object",
      "properties": {
        "primaryHabitatSearchStrings": {
          "type": "string"
        },
        "anyHabitatSearchStrings": {
          "type": "string"
        }
      },
      "required": [
        "primaryHabitatSearchStrings",
        "anyHabitatSearchStrings"
      ]
    },
    "TaxonElastic": {
      "type": "object",
      "properties": {
        "latestRedListEvaluation": {
          "$ref": "#/components/schemas/RedListEvaluation"
        },
        "isPartOf": {
          "type": "object"
        },
        "isPartOfNonHidden": {
          "type": "object"
        },
        "depth": {
          "type": "object"
        },
        "nonHiddenDepth": {
          "type": "object"
        },
        "nonHiddenParents": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nameAccordingTo": {
          "type": "string"
        },
        "vernacularName": {
          "type": "object"
        },
        "colloquialVernacularName": {
          "type": "object"
        }
      },
      "required": [
        "latestRedListEvaluation",
        "isPartOf",
        "isPartOfNonHidden",
        "depth",
        "nonHiddenDepth",
        "nonHiddenParents",
        "nameAccordingTo",
        "vernacularName",
        "colloquialVernacularName"
      ]
    },
    "ApiUserEntity": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "accessToken": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "systemID": {
          "type": "string"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "id",
        "accessToken",
        "email",
        "created"
      ]
    },
    "ApiUserUpdateDto": {
      "type": "object",
      "properties": {
        "systemID": {
          "type": "string"
        }
      },
      "required": [
        "systemID"
      ]
    },
    "FileUploadResponse": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "fileName": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "expires": {
          "type": "number"
        }
      },
      "required": [
        "name",
        "fileName",
        "id",
        "expires"
      ]
    },
    "Image": {
      "type": "object",
      "properties": {
        "intellectualRights": {
          "type": "string",
          "enum": [
            "MZ.intellectualRightsCC-BY-SA-4.0",
            "MZ.intellectualRightsCC-BY-NC-4.0",
            "MZ.intellectualRightsCC-BY-NC-SA-4.0",
            "MZ.intellectualRightsCC-BY-4.0",
            "MZ.intellectualRightsCC0-4.0",
            "MZ.intellectualRightsODBL-1.0",
            "MZ.intellectualRightsPD",
            "MZ.intellectualRightsARR",
            "MZ.intellectualRightsCC-BY-2.0",
            "MZ.intellectualRightsCC-BY-SA-2.0",
            "MZ.intellectualRightsCC-BY-SA-2.0-DE",
            "MZ.intellectualRightsCC-BY-NC-2.0",
            "MZ.intellectualRightsCC-BY-NC-SA-2.0",
            "MZ.intellectualRightsCC-BY-NC-ND-2.0",
            "MZ.intellectualRightsCC-BY-SA-2.5",
            "MZ.intellectualRightsCC-BY-SA-2.5-SE",
            "MZ.intellectualRightsCC-BY-3.0",
            "MZ.intellectualRightsCC-BY-SA-3.0",
            "MZ.intellectualRightsCC-BY-NC-SA-3.0",
            "MZ.intellectualRightsCC-BY-ND-4.0",
            "MZ.intellectualRightsCC-BY-NC-ND-4.0"
          ]
        },
        "caption": {
          "type": "string"
        },
        "captureDateTime": {
          "type": "string"
        },
        "capturerVerbatim": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "fullURL": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "intellectualOwner": {
          "type": "string"
        },
        "keyword": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "largeURL": {
          "type": "string"
        },
        "originalURL": {
          "type": "string"
        },
        "squareThumbnailURL": {
          "type": "string"
        },
        "thumbnailURL": {
          "type": "string"
        },
        "uploadedBy": {
          "type": "string"
        }
      },
      "required": [
        "intellectualRights",
        "fullURL",
        "intellectualOwner",
        "largeURL",
        "squareThumbnailURL",
        "thumbnailURL"
      ]
    },
    "ImagesPagedDto": {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Image"
          }
        },
        "currentPage": {
          "type": "number"
        },
        "pageSize": {
          "type": "number"
        },
        "total": {
          "type": "number"
        },
        "lastPage": {
          "type": "number"
        },
        "prevPage": {
          "type": "number"
        },
        "nextPage": {
          "type": "number"
        },
        "@context": {
          "type": "string"
        }
      },
      "required": [
        "results",
        "currentPage",
        "pageSize",
        "total",
        "lastPage",
        "@context"
      ]
    },
    "Audio": {
      "type": "object",
      "properties": {
        "intellectualRights": {
          "type": "string",
          "enum": [
            "MZ.intellectualRightsCC-BY-SA-4.0",
            "MZ.intellectualRightsCC-BY-NC-4.0",
            "MZ.intellectualRightsCC-BY-NC-SA-4.0",
            "MZ.intellectualRightsCC-BY-4.0",
            "MZ.intellectualRightsCC0-4.0",
            "MZ.intellectualRightsODBL-1.0",
            "MZ.intellectualRightsPD",
            "MZ.intellectualRightsARR",
            "MZ.intellectualRightsCC-BY-2.0",
            "MZ.intellectualRightsCC-BY-SA-2.0",
            "MZ.intellectualRightsCC-BY-SA-2.0-DE",
            "MZ.intellectualRightsCC-BY-NC-2.0",
            "MZ.intellectualRightsCC-BY-NC-SA-2.0",
            "MZ.intellectualRightsCC-BY-NC-ND-2.0",
            "MZ.intellectualRightsCC-BY-SA-2.5",
            "MZ.intellectualRightsCC-BY-SA-2.5-SE",
            "MZ.intellectualRightsCC-BY-3.0",
            "MZ.intellectualRightsCC-BY-SA-3.0",
            "MZ.intellectualRightsCC-BY-NC-SA-3.0",
            "MZ.intellectualRightsCC-BY-ND-4.0",
            "MZ.intellectualRightsCC-BY-NC-ND-4.0"
          ]
        },
        "caption": {
          "type": "string"
        },
        "captureDateTime": {
          "type": "string"
        },
        "capturerVerbatim": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "flacURL": {
          "type": "string"
        },
        "fullURL": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "intellectualOwner": {
          "type": "string"
        },
        "keyword": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "mp3URL": {
          "type": "string"
        },
        "thumbnailURL": {
          "type": "string"
        },
        "uploadedBy": {
          "type": "string"
        },
        "wavURL": {
          "type": "string"
        }
      },
      "required": [
        "intellectualRights",
        "fullURL",
        "intellectualOwner",
        "mp3URL",
        "thumbnailURL"
      ]
    },
    "AudioPagedDto": {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Audio"
          }
        },
        "currentPage": {
          "type": "number"
        },
        "pageSize": {
          "type": "number"
        },
        "total": {
          "type": "number"
        },
        "lastPage": {
          "type": "number"
        },
        "prevPage": {
          "type": "number"
        },
        "nextPage": {
          "type": "number"
        },
        "@context": {
          "type": "string"
        }
      },
      "required": [
        "results",
        "currentPage",
        "pageSize",
        "total",
        "lastPage",
        "@context"
      ]
    },
    "FeaturedImage": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "caption": {
          "type": "string"
        },
        "alt": {
          "type": "string"
        }
      },
      "required": [
        "url",
        "caption"
      ]
    },
    "InformationChild": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/InformationChild"
          }
        }
      },
      "required": [
        "title",
        "id"
      ]
    },
    "Information": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "posted": {
          "type": "string"
        },
        "featuredImage": {
          "$ref": "#/components/schemas/FeaturedImage"
        },
        "tags": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "modified": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/InformationChild"
          }
        },
        "parents": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/InformationChild"
          }
        }
      },
      "required": [
        "id",
        "content",
        "title",
        "author",
        "posted",
        "tags"
      ]
    },
    "GetPersonsResponseDto": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "group": {
          "type": "string"
        }
      },
      "required": [
        "key"
      ]
    },
    "TaxonAutocompleteResponseDto": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "key",
        "value"
      ]
    },
    "TripReportUnitShorthandResponseDto": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "isNonMatching": {
          "type": "boolean"
        },
        "matchType": {
          "type": "string"
        },
        "unit": {
          "type": "object"
        },
        "interpretedFrom": {
          "type": "object",
          "properties": {
            "taxon": {
              "type": "string"
            },
            "count": {
              "type": "string"
            },
            "maleIndividualCount": {
              "type": "string"
            },
            "femaleIndividualCount": {
              "type": "string"
            }
          },
          "required": [
            "taxon",
            "count",
            "maleIndividualCount",
            "femaleIndividualCount"
          ]
        }
      },
      "required": [
        "key",
        "value",
        "unit",
        "interpretedFrom"
      ]
    },
    "TripReportUnitListResultDto": {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "count": {
          "type": "number"
        },
        "nonMatchingCount": {
          "type": "number"
        }
      },
      "required": [
        "results",
        "count",
        "nonMatchingCount"
      ]
    },
    "LineTransectUnitShorthandResponseDto": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "matchType": {
          "type": "string"
        },
        "unit": {
          "type": "object"
        },
        "interpretedFrom": {
          "type": "object",
          "properties": {
            "taxon": {
              "type": "string"
            },
            "count": {
              "type": "string"
            },
            "maleIndividualCount": {
              "type": "string"
            },
            "femaleIndividualCount": {
              "type": "string"
            }
          },
          "required": [
            "taxon",
            "count",
            "maleIndividualCount",
            "femaleIndividualCount"
          ]
        }
      },
      "required": [
        "key",
        "value",
        "unit",
        "interpretedFrom"
      ]
    },
    "AddressComponent": {
      "type": "object",
      "properties": {
        "long_name": {
          "type": "string"
        },
        "short_name": {
          "$ref": "#/components/schemas/MultiLangDto"
        },
        "types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "short_name",
        "types"
      ]
    },
    "Location": {
      "type": "object",
      "properties": {
        "address_components": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/AddressComponent"
          }
        },
        "types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "formatted_address": {
          "type": "string"
        },
        "place_id": {
          "type": "string"
        }
      },
      "required": [
        "address_components",
        "types",
        "place_id"
      ]
    },
    "FeedbackDto": {
      "type": "object",
      "properties": {
        "subject": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "meta": {
          "type": "string"
        }
      },
      "required": [
        "subject",
        "message",
        "meta"
      ]
    },
    "Source": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "$ref": "#/components/schemas/MultiLangDto"
        }
      },
      "required": [
        "description"
      ]
    },
    "GetTmpTokenDto": {
      "type": "object",
      "properties": {
        "loginURL": {
          "type": "string"
        },
        "tmpToken": {
          "type": "string"
        }
      },
      "required": [
        "tmpToken"
      ]
    },
    "CheckTmpTokenDto": {
      "type": "object",
      "properties": {
        "tmpToken": {
          "type": "string"
        }
      },
      "required": [
        "tmpToken"
      ]
    },
    "LajiBackendNewsNode": {
      "type": "object",
      "properties": {
        "external": {
          "type": "boolean"
        },
        "externalURL": {
          "type": "string"
        },
        "tag": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "posted": {
          "type": "string"
        },
        "featuredImage": {
          "$ref": "#/components/schemas/FeaturedImage"
        },
        "modified": {
          "type": "string"
        }
      },
      "required": [
        "external",
        "id"
      ]
    },
    "NewsPagedDto": {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendNewsNode"
          }
        },
        "currentPage": {
          "type": "number"
        },
        "pageSize": {
          "type": "number"
        },
        "total": {
          "type": "number"
        },
        "lastPage": {
          "type": "number"
        },
        "prevPage": {
          "type": "number"
        },
        "nextPage": {
          "type": "number"
        },
        "@context": {
          "type": "string"
        }
      },
      "required": [
        "results",
        "currentPage",
        "pageSize",
        "total",
        "lastPage",
        "@context"
      ]
    },
    "LajiBackendCMSNode": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "posted": {
          "type": "string"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "featuredImage": {
          "$ref": "#/components/schemas/FeaturedImage"
        },
        "modified": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ]
    },
    "WarehouseDwQuery_CountResponse": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer"
        },
        "cacheTimestamp": {
          "type": "integer"
        }
      },
      "required": [
        "total",
        "cacheTimestamp"
      ]
    },
    "WarehouseDwQuery_ListResponse": {
      "type": "object",
      "properties": {
        "currentPage": {
          "type": "integer"
        },
        "prevPage": {
          "type": "integer"
        },
        "nextPage": {
          "type": "integer"
        },
        "lastPage": {
          "type": "integer"
        },
        "pageSize": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_JoinedRow"
          }
        },
        "cacheTimestamp": {
          "type": "integer"
        }
      },
      "required": [
        "currentPage",
        "prevPage",
        "nextPage",
        "lastPage",
        "pageSize",
        "total",
        "results",
        "cacheTimestamp"
      ]
    },
    "WarehouseDwQuery_AggregateResponse": {
      "type": "object",
      "properties": {
        "currentPage": {
          "type": "integer"
        },
        "prevPage": {
          "type": "integer"
        },
        "nextPage": {
          "type": "integer"
        },
        "lastPage": {
          "type": "integer"
        },
        "pageSize": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_AggregateRow"
          }
        },
        "cacheTimestamp": {
          "type": "integer"
        }
      },
      "required": [
        "currentPage",
        "prevPage",
        "nextPage",
        "lastPage",
        "pageSize",
        "total",
        "results",
        "cacheTimestamp"
      ]
    },
    "WarehouseDwQuery_JoinedRow": {
      "type": "object",
      "properties": {
        "document": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Document"
        },
        "gathering": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Gathering"
        },
        "unit": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Unit"
        },
        "annotation": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Annotation"
        },
        "media": {
          "$ref": "#/components/schemas/WarehouseDwQuery_MediaObject"
        },
        "sample": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Sample"
        }
      },
      "required": [
        "document",
        "gathering",
        "unit",
        "annotation",
        "media",
        "sample"
      ]
    },
    "WarehouseDwQuery_AggregateRow": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer"
        },
        "gatheringCount": {
          "type": "integer"
        },
        "securedCount": {
          "type": "integer"
        },
        "oldestRecord": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "newestRecord": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "firstLoadDateMin": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "firstLoadDateMax": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "individualCountSum": {
          "type": "integer"
        },
        "individualCountMax": {
          "type": "integer"
        },
        "recordQualityMax": {
          "type": "string",
          "format": "URI"
        },
        "redListStatusMax": {
          "type": "string",
          "format": "URI"
        },
        "speciesCount": {
          "type": "integer"
        },
        "taxonCount": {
          "type": "integer"
        },
        "lineLengthSum": {
          "type": "integer"
        },
        "pairCountSum": {
          "type": "integer"
        },
        "pairCountMax": {
          "type": "integer"
        },
        "atlasCodeMax": {
          "type": "string",
          "format": "URI"
        },
        "atlasClassMax": {
          "type": "string",
          "format": "URI"
        },
        "aggregateBy": {
          "type": "object"
        }
      },
      "required": [
        "count",
        "gatheringCount",
        "securedCount",
        "oldestRecord",
        "newestRecord",
        "firstLoadDateMin",
        "firstLoadDateMax",
        "individualCountSum",
        "individualCountMax",
        "recordQualityMax",
        "redListStatusMax",
        "speciesCount",
        "taxonCount",
        "lineLengthSum",
        "pairCountSum",
        "pairCountMax",
        "atlasCodeMax",
        "atlasClassMax",
        "aggregateBy"
      ]
    },
    "WarehouseDwQuery_Document": {
      "type": "object",
      "properties": {
        "documentId": {
          "type": "string",
          "format": "URI"
        },
        "secureLevel": {
          "type": "string",
          "enum": [
            "NOSHOW",
            "HIGHEST",
            "KM100",
            "KM50",
            "KM25",
            "KM10",
            "KM5",
            "KM1",
            "NONE"
          ]
        },
        "secureReasons": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "DEFAULT_TAXON_CONSERVATION",
              "BREEDING_SITE_CONSERVATION",
              "NATURA_AREA_CONSERVATION",
              "WINTER_SEASON_TAXON_CONSERVATION",
              "BREEDING_SEASON_TAXON_CONSERVATION",
              "CUSTOM",
              "USER_HIDDEN",
              "ADMIN_HIDDEN",
              "DATA_QUARANTINE_PERIOD",
              "ONLY_PRIVATE",
              "USER_PERSON_NAMES_HIDDEN",
              "USER_HIDDEN_LOCATION",
              "USER_HIDDEN_TIME"
            ]
          }
        },
        "partial": {
          "type": "boolean"
        },
        "collectionId": {
          "type": "string",
          "format": "URI"
        },
        "licenseId": {
          "type": "string"
        },
        "dataSource": {
          "type": "string"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwQuery_DocumentDWLinkings"
        },
        "quality": {
          "$ref": "#/components/schemas/WarehouseDwQuery_DocumentQuality"
        },
        "sourceId": {
          "type": "string",
          "format": "URI"
        },
        "namedPlace": {
          "$ref": "#/components/schemas/WarehouseDwQuery_NamedPlaceEntity"
        },
        "siteType": {
          "type": "string"
        },
        "siteStatus": {
          "type": "string"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "firstLoadDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "loadDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "createdDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "modifiedDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "notes": {
          "type": "string"
        },
        "annotations": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Annotation"
          }
        },
        "completeListTaxonId": {
          "type": "string"
        },
        "completeListType": {
          "type": "string"
        },
        "editorUserIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Fact"
          }
        },
        "formId": {
          "type": "string"
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_MediaObject"
          }
        },
        "mediaCount": {
          "type": "integer"
        },
        "namedPlaceId": {
          "type": "string"
        },
        "prefix": {
          "type": "string"
        },
        "referenceURL": {
          "type": "string"
        },
        "secured": {
          "type": "boolean"
        },
        "siteDead": {
          "type": "boolean"
        },
        "sourceTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        }
      },
      "required": [
        "documentId",
        "secureLevel",
        "secureReasons",
        "partial",
        "collectionId",
        "licenseId",
        "dataSource",
        "linkings",
        "quality",
        "sourceId",
        "namedPlace",
        "siteType",
        "siteStatus",
        "keywords",
        "firstLoadDate",
        "loadDate",
        "createdDate",
        "modifiedDate",
        "notes",
        "annotations",
        "completeListTaxonId",
        "completeListType",
        "editorUserIds",
        "facts",
        "formId",
        "media",
        "mediaCount",
        "namedPlaceId",
        "prefix",
        "referenceURL",
        "secured",
        "siteDead",
        "sourceTags"
      ]
    },
    "WarehouseDwQuery_Gathering": {
      "type": "object",
      "properties": {
        "gatheringId": {
          "type": "string",
          "format": "URI"
        },
        "gatheringOrder": {
          "type": "integer"
        },
        "gatheringSection": {
          "type": "integer"
        },
        "geo": {
          "type": "object",
          "externalDocs": {
            "url": "http://geojson.org/geojson-spec.html#geometry-objects"
          },
          "description": "GeoJSON object with custom \"crs\" required property that takes in values WGS84,EUREF,YKJ (WGS84 = EPSG:4326; EUREF = ETRS-TM35FIN EPSG:3067; YKJ = EPSG:2393)"
        },
        "eventDate": {
          "$ref": "#/components/schemas/WarehouseDwQuery_DateRange"
        },
        "hourBegin": {
          "type": "integer"
        },
        "hourEnd": {
          "type": "integer"
        },
        "displayDateTime": {
          "type": "string"
        },
        "team": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "conversions": {
          "$ref": "#/components/schemas/WarehouseDwQuery_GatheringConversions"
        },
        "interpretations": {
          "$ref": "#/components/schemas/WarehouseDwQuery_GatheringInterpretations"
        },
        "stateLand": {
          "type": "boolean"
        },
        "accurateArea": {
          "type": "boolean"
        },
        "higherGeography": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "municipality": {
          "type": "string"
        },
        "biogeographicalProvince": {
          "type": "string"
        },
        "province": {
          "type": "string"
        },
        "locality": {
          "type": "string"
        },
        "quality": {
          "$ref": "#/components/schemas/WarehouseDwQuery_GatheringQuality"
        },
        "notes": {
          "type": "string"
        },
        "coordinatesVerbatim": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Fact"
          }
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwQuery_GatheringDWLinkings"
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_MediaObject"
          }
        },
        "mediaCount": {
          "type": "integer"
        },
        "minutesBegin": {
          "type": "integer"
        },
        "minutesEnd": {
          "type": "integer"
        },
        "observerUserIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "taxonCensus": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_TaxonCensus"
          }
        }
      },
      "required": [
        "gatheringId",
        "gatheringOrder",
        "gatheringSection",
        "geo",
        "eventDate",
        "hourBegin",
        "hourEnd",
        "displayDateTime",
        "team",
        "conversions",
        "interpretations",
        "stateLand",
        "accurateArea",
        "higherGeography",
        "country",
        "municipality",
        "biogeographicalProvince",
        "province",
        "locality",
        "quality",
        "notes",
        "coordinatesVerbatim",
        "facts",
        "linkings",
        "media",
        "mediaCount",
        "minutesBegin",
        "minutesEnd",
        "observerUserIds",
        "taxonCensus"
      ]
    },
    "WarehouseDwQuery_Unit": {
      "type": "object",
      "properties": {
        "unitId": {
          "type": "string",
          "format": "URI"
        },
        "unitOrder": {
          "type": "integer"
        },
        "taxonVerbatim": {
          "type": "string"
        },
        "quality": {
          "$ref": "#/components/schemas/WarehouseDwQuery_UnitQuality"
        },
        "reportedTaxonConfidence": {
          "type": "string",
          "enum": [
            "SURE",
            "UNSURE",
            "SUBSPECIES_UNSURE"
          ]
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwQuery_UnitDWLinkings"
        },
        "abundanceString": {
          "type": "string"
        },
        "abundanceUnit": {
          "type": "string",
          "enum": [
            "OCCURS_DOES_NOT_OCCUR",
            "INDIVIDUAL_COUNT",
            "PAIRCOUNT",
            "NESTS",
            "BREEDING_SITES",
            "FEEDING_SITES",
            "COLONIES",
            "QUEENS",
            "FRUITBODIES",
            "SPROUTS",
            "HUMMOCKS",
            "THALLI",
            "FLOWERS",
            "SPOTS",
            "TRUNKS",
            "SHELLS",
            "DROPPINGS",
            "FEEDING_MARKS",
            "INDIRECT_MARKS",
            "SQUARE_DM",
            "SQUARE_M",
            "RELATIVE_DENSITY"
          ]
        },
        "interpretations": {
          "$ref": "#/components/schemas/WarehouseDwQuery_UnitInterpretations"
        },
        "superRecordBasis": {
          "type": "string",
          "enum": [
            "PRESERVED_SPECIMEN",
            "LIVING_SPECIMEN",
            "FOSSIL_SPECIMEN",
            "SUBFOSSIL_SPECIMEN",
            "SUBFOSSIL_AMBER_INCLUSION_SPECIMEN",
            "MICROBIAL_SPECIMEN",
            "HUMAN_OBSERVATION_UNSPECIFIED",
            "HUMAN_OBSERVATION_SEEN",
            "HUMAN_OBSERVATION_HEARD",
            "HUMAN_OBSERVATION_PHOTO",
            "HUMAN_OBSERVATION_INDIRECT",
            "HUMAN_OBSERVATION_HANDLED",
            "HUMAN_OBSERVATION_VIDEO",
            "HUMAN_OBSERVATION_RECORDED_AUDIO",
            "MACHINE_OBSERVATION_UNSPECIFIED",
            "MACHINE_OBSERVATION_PHOTO",
            "MACHINE_OBSERVATION_VIDEO",
            "MACHINE_OBSERVATION_AUDIO",
            "MACHINE_OBSERVATION_GEOLOGGER",
            "MACHINE_OBSERVATION_SATELLITE_TRANSMITTER",
            "LITERATURE",
            "MATERIAL_SAMPLE",
            "MATERIAL_SAMPLE_AIR",
            "MATERIAL_SAMPLE_SOIL",
            "MATERIAL_SAMPLE_WATER"
          ]
        },
        "recordBasis": {
          "type": "string",
          "enum": [
            "PRESERVED_SPECIMEN",
            "LIVING_SPECIMEN",
            "FOSSIL_SPECIMEN",
            "SUBFOSSIL_SPECIMEN",
            "SUBFOSSIL_AMBER_INCLUSION_SPECIMEN",
            "MICROBIAL_SPECIMEN",
            "HUMAN_OBSERVATION_UNSPECIFIED",
            "HUMAN_OBSERVATION_SEEN",
            "HUMAN_OBSERVATION_HEARD",
            "HUMAN_OBSERVATION_PHOTO",
            "HUMAN_OBSERVATION_INDIRECT",
            "HUMAN_OBSERVATION_HANDLED",
            "HUMAN_OBSERVATION_VIDEO",
            "HUMAN_OBSERVATION_RECORDED_AUDIO",
            "MACHINE_OBSERVATION_UNSPECIFIED",
            "MACHINE_OBSERVATION_PHOTO",
            "MACHINE_OBSERVATION_VIDEO",
            "MACHINE_OBSERVATION_AUDIO",
            "MACHINE_OBSERVATION_GEOLOGGER",
            "MACHINE_OBSERVATION_SATELLITE_TRANSMITTER",
            "LITERATURE",
            "MATERIAL_SAMPLE",
            "MATERIAL_SAMPLE_AIR",
            "MATERIAL_SAMPLE_SOIL",
            "MATERIAL_SAMPLE_WATER"
          ]
        },
        "typeSpecimen": {
          "type": "boolean"
        },
        "det": {
          "type": "string"
        },
        "sex": {
          "type": "string",
          "enum": [
            "MALE",
            "FEMALE",
            "WORKER",
            "UNKNOWN",
            "NOT_APPLICABLE",
            "GYNANDROMORPH",
            "MULTIPLE",
            "CONFLICTING"
          ]
        },
        "lifeStage": {
          "type": "string",
          "enum": [
            "ADULT",
            "JUVENILE",
            "IMMATURE",
            "EGG",
            "TADPOLE",
            "PUPA",
            "NYMPH",
            "SUBIMAGO",
            "LARVA",
            "SNAG",
            "EMBRYO",
            "SUBADULT",
            "MATURE",
            "STERILE",
            "FERTILE",
            "SPROUT",
            "DEAD_SPROUT",
            "BUD",
            "FLOWER",
            "WITHERED_FLOWER",
            "SEED",
            "RIPENING_FRUIT",
            "RIPE_FRUIT",
            "SUBTERRANEAN",
            "GALL",
            "MARKS",
            "TRIUNGULIN"
          ]
        },
        "wild": {
          "type": "boolean"
        },
        "alive": {
          "type": "boolean"
        },
        "local": {
          "type": "boolean"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "breedingSite": {
          "type": "boolean"
        },
        "plantStatusCode": {
          "type": "string"
        },
        "atlasCode": {
          "type": "string"
        },
        "atlasClass": {
          "type": "string"
        },
        "individualId": {
          "type": "string"
        },
        "sequenceText": {
          "type": "string"
        },
        "notes": {
          "type": "string"
        },
        "annotationCount": {
          "type": "integer"
        },
        "annotations": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Annotation"
          }
        },
        "audioCount": {
          "type": "integer"
        },
        "author": {
          "type": "string"
        },
        "externalMediaCount": {
          "type": "integer"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Fact"
          }
        },
        "identificationBasis": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "identifications": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_IdentificationEvent"
          }
        },
        "imageCount": {
          "type": "integer"
        },
        "individualCountFemale": {
          "type": "integer"
        },
        "individualCountMale": {
          "type": "integer"
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_MediaObject"
          }
        },
        "mediaCount": {
          "type": "integer"
        },
        "modelCount": {
          "type": "integer"
        },
        "primarySpecimen": {
          "type": "boolean"
        },
        "reportedInformalTaxonGroup": {
          "type": "string",
          "format": "URI"
        },
        "reportedTaxonId": {
          "type": "string",
          "format": "URI"
        },
        "sampleCount": {
          "type": "integer"
        },
        "samples": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Sample"
          }
        },
        "samplingMethod": {
          "type": "string"
        },
        "sourceTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        },
        "types": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_TypeSpecimen"
          }
        },
        "videoCount": {
          "type": "integer"
        }
      },
      "required": [
        "unitId",
        "unitOrder",
        "taxonVerbatim",
        "quality",
        "reportedTaxonConfidence",
        "linkings",
        "abundanceString",
        "abundanceUnit",
        "interpretations",
        "superRecordBasis",
        "recordBasis",
        "typeSpecimen",
        "det",
        "sex",
        "lifeStage",
        "wild",
        "alive",
        "local",
        "keywords",
        "breedingSite",
        "plantStatusCode",
        "atlasCode",
        "atlasClass",
        "individualId",
        "sequenceText",
        "notes",
        "annotationCount",
        "annotations",
        "audioCount",
        "author",
        "externalMediaCount",
        "facts",
        "identificationBasis",
        "identifications",
        "imageCount",
        "individualCountFemale",
        "individualCountMale",
        "media",
        "mediaCount",
        "modelCount",
        "primarySpecimen",
        "reportedInformalTaxonGroup",
        "reportedTaxonId",
        "sampleCount",
        "samples",
        "samplingMethod",
        "sourceTags",
        "types",
        "videoCount"
      ]
    },
    "WarehouseDwQuery_Sample": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "collectionId": {
          "type": "string",
          "format": "URI"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Fact"
          }
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "material": {
          "type": "string"
        },
        "multiple": {
          "type": "boolean"
        },
        "quality": {
          "type": "string"
        },
        "sampleId": {
          "type": "string",
          "format": "URI"
        },
        "sampleOrder": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "notes",
        "collectionId",
        "facts",
        "keywords",
        "material",
        "multiple",
        "quality",
        "sampleId",
        "sampleOrder",
        "status",
        "type"
      ]
    },
    "WarehouseDwQuery_MediaObject": {
      "type": "object",
      "properties": {
        "author": {
          "type": "string"
        },
        "caption": {
          "type": "string"
        },
        "copyrightOwner": {
          "type": "string"
        },
        "fullResolutionMediaAvailable": {
          "type": "boolean"
        },
        "fullURL": {
          "type": "string"
        },
        "highDetailModelURL": {
          "type": "string"
        },
        "licenseId": {
          "type": "string"
        },
        "lowDetailModelURL": {
          "type": "string"
        },
        "mediaType": {
          "type": "string",
          "enum": [
            "IMAGE",
            "AUDIO",
            "VIDEO",
            "MODEL"
          ]
        },
        "mp3URL": {
          "type": "string"
        },
        "squareThumbnailURL": {
          "type": "string"
        },
        "thumbnailURL": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "format": "URI"
        },
        "videoURL": {
          "type": "string"
        },
        "wavURL": {
          "type": "string"
        }
      },
      "required": [
        "author",
        "caption",
        "copyrightOwner",
        "fullResolutionMediaAvailable",
        "fullURL",
        "highDetailModelURL",
        "licenseId",
        "lowDetailModelURL",
        "mediaType",
        "mp3URL",
        "squareThumbnailURL",
        "thumbnailURL",
        "type",
        "videoURL",
        "wavURL"
      ]
    },
    "WarehouseDwQuery_Coordinates": {
      "type": "object",
      "properties": {
        "latMax": {
          "type": "number"
        },
        "latMin": {
          "type": "number"
        },
        "lonMax": {
          "type": "number"
        },
        "lonMin": {
          "type": "number"
        }
      },
      "required": [
        "latMax",
        "latMin",
        "lonMax",
        "lonMin"
      ]
    },
    "WarehouseDwQuery_DateRange": {
      "type": "object",
      "properties": {
        "begin": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "end": {
          "type": "string",
          "format": "yyyy-MM-dd"
        }
      },
      "required": [
        "begin",
        "end"
      ]
    },
    "WarehouseDwQuery_Fact": {
      "type": "object",
      "properties": {
        "fact": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "integerValue": {
          "type": "integer"
        },
        "decimalValue": {
          "type": "number"
        }
      },
      "required": [
        "fact",
        "value",
        "integerValue",
        "decimalValue"
      ]
    },
    "WarehouseDwQuery_TaxonCensus": {
      "type": "object",
      "properties": {
        "taxonId": {
          "type": "string",
          "format": "URI"
        },
        "type": {
          "type": "string",
          "format": "URI"
        }
      },
      "required": [
        "taxonId",
        "type"
      ]
    },
    "WarehouseDwQuery_DocumentQuality": {
      "type": "object",
      "properties": {
        "issue": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Quality"
        }
      },
      "required": [
        "issue"
      ]
    },
    "WarehouseDwQuery_GatheringQuality": {
      "type": "object",
      "properties": {
        "issue": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Quality"
        },
        "locationIssue": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Quality"
        },
        "timeIssue": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Quality"
        }
      },
      "required": [
        "issue",
        "locationIssue",
        "timeIssue"
      ]
    },
    "WarehouseDwQuery_UnitQuality": {
      "type": "object",
      "properties": {
        "documentGatheringUnitQualityIssues": {
          "type": "boolean"
        },
        "issue": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Quality"
        }
      },
      "required": [
        "documentGatheringUnitQualityIssues",
        "issue"
      ]
    },
    "WarehouseDwQuery_Quality": {
      "type": "object",
      "properties": {
        "issue": {
          "type": "string",
          "enum": [
            "REPORTED_UNRELIABLE",
            "MEDIA_ISSUE",
            "INVALID_CREATED_DATE",
            "INVALID_MODIFIED_DATE",
            "COORDINATES_COUNTRY_MISMATCH",
            "COORDINATES_MUNICIPALITY_MISMATCH",
            "TOO_LARGE_AREA",
            "INVALID_GEO",
            "INVALID_YKJ_COORDINATES",
            "INVALID_EUREF_COORDINATES",
            "INVALID_WGS84_COORDINATES",
            "DATE_END_BEFORE_BEGIN",
            "DATE_END_GIVEN_WITHOUT_BEGIN",
            "DATE_IN_FUTURE",
            "DATE_TOO_FAR_IN_THE_PAST",
            "INVALID_DATE",
            "RECORD_BASIS_MISSING",
            "INVALID_HOUR",
            "INVALID_MINUTE",
            "TIME_END_BEFORE_BEGIN",
            "INVALID_COORDINATES",
            "ETL_ISSUE"
          ]
        },
        "message": {
          "type": "string"
        },
        "source": {
          "type": "string",
          "enum": [
            "AUTOMATED_FINBIF_VALIDATION",
            "ORIGINAL_DOCUMENT",
            "QUALITY_CONTROL"
          ]
        }
      },
      "required": [
        "issue",
        "message",
        "source"
      ]
    },
    "WarehouseDwQuery_IdentificationEvent": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "det": {
          "type": "string"
        },
        "detDate": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Fact"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwQuery_IdentificationDwLinkings"
        },
        "preferred": {
          "type": "boolean"
        },
        "taxon": {
          "type": "string"
        },
        "taxonID": {
          "type": "string",
          "format": "URI"
        },
        "taxonSpecifier": {
          "type": "string"
        },
        "taxonSpecifierAuthor": {
          "type": "string"
        }
      },
      "required": [
        "notes",
        "author",
        "det",
        "detDate",
        "facts",
        "id",
        "linkings",
        "preferred",
        "taxon",
        "taxonID",
        "taxonSpecifier",
        "taxonSpecifierAuthor"
      ]
    },
    "WarehouseDwQuery_TypeSpecimen": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "basionymePublication": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Fact"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwQuery_IdentificationDwLinkings"
        },
        "publication": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "format": "URI"
        },
        "taxon": {
          "type": "string"
        },
        "taxonID": {
          "type": "string",
          "format": "URI"
        },
        "taxonSpecifier": {
          "type": "string"
        },
        "taxonSpecifierAuthor": {
          "type": "string"
        },
        "typif": {
          "type": "string"
        },
        "typifDate": {
          "type": "string"
        },
        "verification": {
          "type": "string",
          "format": "URI"
        }
      },
      "required": [
        "notes",
        "author",
        "basionymePublication",
        "facts",
        "id",
        "linkings",
        "publication",
        "status",
        "taxon",
        "taxonID",
        "taxonSpecifier",
        "taxonSpecifierAuthor",
        "typif",
        "typifDate",
        "verification"
      ]
    },
    "WarehouseDwQuery_DocumentDWLinkings": {
      "type": "object",
      "properties": {
        "collectionQuality": {
          "type": "string",
          "enum": [
            "PROFESSIONAL",
            "HOBBYIST",
            "AMATEUR"
          ]
        },
        "editors": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Person"
          }
        }
      },
      "required": [
        "collectionQuality",
        "editors"
      ]
    },
    "WarehouseDwQuery_GatheringInterpretations": {
      "type": "object",
      "properties": {
        "biogeographicalProvince": {
          "type": "string",
          "format": "URI"
        },
        "biogeographicalProvinceDisplayname": {
          "type": "string"
        },
        "biogeographicalProvinces": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "coordinateAccuracy": {
          "type": "integer"
        },
        "country": {
          "type": "string",
          "format": "URI"
        },
        "countryDisplayname": {
          "type": "string"
        },
        "finnishMunicipalities": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "finnishMunicipality": {
          "type": "string",
          "format": "URI"
        },
        "municipalityDisplayname": {
          "type": "string"
        },
        "sourceOfBiogeographicalProvince": {
          "type": "string",
          "enum": [
            "COORDINATES",
            "COORDINATE_CENTERPOINT",
            "REPORTED_VALUE",
            "FINNISH_MUNICIPALITY",
            "OLD_FINNISH_MUNICIPALITY"
          ]
        },
        "sourceOfCoordinates": {
          "type": "string",
          "enum": [
            "COORDINATES",
            "COORDINATE_CENTERPOINT",
            "REPORTED_VALUE",
            "FINNISH_MUNICIPALITY",
            "OLD_FINNISH_MUNICIPALITY"
          ]
        },
        "sourceOfCountry": {
          "type": "string",
          "enum": [
            "COORDINATES",
            "COORDINATE_CENTERPOINT",
            "REPORTED_VALUE",
            "FINNISH_MUNICIPALITY",
            "OLD_FINNISH_MUNICIPALITY"
          ]
        },
        "sourceOfFinnishMunicipality": {
          "type": "string",
          "enum": [
            "COORDINATES",
            "COORDINATE_CENTERPOINT",
            "REPORTED_VALUE",
            "FINNISH_MUNICIPALITY",
            "OLD_FINNISH_MUNICIPALITY"
          ]
        }
      },
      "required": [
        "biogeographicalProvince",
        "biogeographicalProvinceDisplayname",
        "biogeographicalProvinces",
        "coordinateAccuracy",
        "country",
        "countryDisplayname",
        "finnishMunicipalities",
        "finnishMunicipality",
        "municipalityDisplayname",
        "sourceOfBiogeographicalProvince",
        "sourceOfCoordinates",
        "sourceOfCountry",
        "sourceOfFinnishMunicipality"
      ]
    },
    "WarehouseDwQuery_GatheringConversions": {
      "type": "object",
      "properties": {
        "birdAssociationArea": {
          "type": "string",
          "format": "URI"
        },
        "boundingBoxAreaInSquareMeters": {
          "type": "integer"
        },
        "century": {
          "type": "integer"
        },
        "day": {
          "type": "integer"
        },
        "dayOfYearBegin": {
          "type": "integer"
        },
        "dayOfYearEnd": {
          "type": "integer"
        },
        "decade": {
          "type": "integer"
        },
        "euref": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Coordinates"
        },
        "eurefCenterPoint": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "eurefGeo": {
          "type": "object",
          "externalDocs": {
            "url": "http://geojson.org/geojson-spec.html#geometry-objects"
          },
          "description": "GeoJSON object with custom \"crs\" required property that takes in values WGS84,EUREF,YKJ (WGS84 = EPSG:4326; EUREF = ETRS-TM35FIN EPSG:3067; YKJ = EPSG:2393)"
        },
        "eurefWKT": {
          "type": "string"
        },
        "linelengthInMeters": {
          "type": "integer"
        },
        "month": {
          "type": "integer"
        },
        "seasonBegin": {
          "type": "integer"
        },
        "seasonEnd": {
          "type": "integer"
        },
        "wgs84": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Coordinates"
        },
        "wgs84CenterPoint": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "wgs84Geo": {
          "type": "object",
          "externalDocs": {
            "url": "http://geojson.org/geojson-spec.html#geometry-objects"
          },
          "description": "GeoJSON object with custom \"crs\" required property that takes in values WGS84,EUREF,YKJ (WGS84 = EPSG:4326; EUREF = ETRS-TM35FIN EPSG:3067; YKJ = EPSG:2393)"
        },
        "wgs84Grid005": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "wgs84Grid01": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "wgs84Grid05": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "wgs84Grid1": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "wgs84WKT": {
          "type": "string"
        },
        "year": {
          "type": "integer"
        },
        "ykj": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Coordinates"
        },
        "ykj100km": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "ykj100kmCenter": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "ykj10km": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "ykj10kmCenter": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "ykj1km": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "ykj1kmCenter": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "ykj50km": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "ykj50kmCenter": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "ykjGeo": {
          "type": "object",
          "externalDocs": {
            "url": "http://geojson.org/geojson-spec.html#geometry-objects"
          },
          "description": "GeoJSON object with custom \"crs\" required property that takes in values WGS84,EUREF,YKJ (WGS84 = EPSG:4326; EUREF = ETRS-TM35FIN EPSG:3067; YKJ = EPSG:2393)"
        },
        "ykjWKT": {
          "type": "string"
        }
      },
      "required": [
        "birdAssociationArea",
        "boundingBoxAreaInSquareMeters",
        "century",
        "day",
        "dayOfYearBegin",
        "dayOfYearEnd",
        "decade",
        "euref",
        "eurefCenterPoint",
        "eurefGeo",
        "eurefWKT",
        "linelengthInMeters",
        "month",
        "seasonBegin",
        "seasonEnd",
        "wgs84",
        "wgs84CenterPoint",
        "wgs84Geo",
        "wgs84Grid005",
        "wgs84Grid01",
        "wgs84Grid05",
        "wgs84Grid1",
        "wgs84WKT",
        "year",
        "ykj",
        "ykj100km",
        "ykj100kmCenter",
        "ykj10km",
        "ykj10kmCenter",
        "ykj1km",
        "ykj1kmCenter",
        "ykj50km",
        "ykj50kmCenter",
        "ykjGeo",
        "ykjWKT"
      ]
    },
    "WarehouseDwQuery_GatheringDWLinkings": {
      "type": "object",
      "properties": {
        "observers": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Person"
          }
        }
      },
      "required": [
        "observers"
      ]
    },
    "WarehouseDwQuery_UnitDWLinkings": {
      "type": "object",
      "properties": {
        "taxon": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Taxon"
        },
        "originalTaxon": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Taxon"
        }
      },
      "required": [
        "taxon",
        "originalTaxon"
      ]
    },
    "WarehouseDwQuery_UnitInterpretations": {
      "type": "object",
      "properties": {
        "annotatedTaxonId": {
          "type": "string",
          "format": "URI"
        },
        "collectionAndRecordQuality": {
          "type": "string"
        },
        "det": {
          "type": "string"
        },
        "effectiveTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        },
        "individualCount": {
          "type": "integer"
        },
        "invasiveControlEffectiveness": {
          "type": "string",
          "enum": [
            "FULL",
            "PARTIAL",
            "NO_EFFECT",
            "NOT_FOUND"
          ]
        },
        "invasiveControlled": {
          "type": "boolean"
        },
        "needsCheck": {
          "type": "boolean"
        },
        "needsIdentification": {
          "type": "boolean"
        },
        "pairCount": {
          "type": "integer"
        },
        "recordQuality": {
          "type": "string",
          "enum": [
            "EXPERT_VERIFIED",
            "COMMUNITY_VERIFIED",
            "NEUTRAL",
            "UNCERTAIN",
            "ERRONEOUS"
          ]
        },
        "recordQualityNumeric": {
          "type": "number"
        },
        "reliability": {
          "type": "string",
          "enum": [
            "RELIABLE",
            "UNDEFINED",
            "UNRELIABLE"
          ]
        }
      },
      "required": [
        "annotatedTaxonId",
        "collectionAndRecordQuality",
        "det",
        "effectiveTags",
        "individualCount",
        "invasiveControlEffectiveness",
        "invasiveControlled",
        "needsCheck",
        "needsIdentification",
        "pairCount",
        "recordQuality",
        "recordQualityNumeric",
        "reliability"
      ]
    },
    "WarehouseDwQuery_SingleCoordinates": {
      "type": "object",
      "properties": {
        "lat": {
          "type": "number"
        },
        "lon": {
          "type": "number"
        }
      },
      "required": [
        "lat",
        "lon"
      ]
    },
    "WarehouseDwQuery_Person": {
      "type": "object",
      "properties": {
        "fullName": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "userId": {
          "type": "string"
        }
      },
      "required": [
        "fullName",
        "id",
        "userId"
      ]
    },
    "WarehouseDwQuery_Annotation": {
      "type": "object",
      "properties": {
        "addedTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        },
        "annotationByPerson": {
          "type": "string",
          "format": "URI"
        },
        "annotationByPersonName": {
          "type": "string"
        },
        "annotationBySystem": {
          "type": "string",
          "format": "URI"
        },
        "annotationBySystemName": {
          "type": "string"
        },
        "atlasCode": {
          "type": "string",
          "format": "URI"
        },
        "byRole": {
          "type": "string",
          "format": "URI"
        },
        "created": {
          "type": "string"
        },
        "deleted": {
          "type": "boolean"
        },
        "deletedByPerson": {
          "type": "string",
          "format": "URI"
        },
        "deletedByPersonName": {
          "type": "string"
        },
        "deletedDateTime": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "identification": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Identification"
        },
        "notes": {
          "type": "string"
        },
        "occurrenceAtTimeOfAnnotation": {
          "$ref": "#/components/schemas/WarehouseDwQuery_OccurrenceAtTimeOfAnnotation"
        },
        "removedTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        },
        "valid": {
          "type": "boolean"
        }
      },
      "required": [
        "addedTags",
        "annotationByPerson",
        "annotationByPersonName",
        "annotationBySystem",
        "annotationBySystemName",
        "atlasCode",
        "byRole",
        "created",
        "deleted",
        "deletedByPerson",
        "deletedByPersonName",
        "deletedDateTime",
        "id",
        "identification",
        "notes",
        "occurrenceAtTimeOfAnnotation",
        "removedTags",
        "valid"
      ]
    },
    "WarehouseDwQuery_Identification": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwQuery_Fact"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwQuery_IdentificationDwLinkings"
        },
        "taxon": {
          "type": "string"
        },
        "taxonID": {
          "type": "string",
          "format": "URI"
        },
        "taxonSpecifier": {
          "type": "string"
        },
        "taxonSpecifierAuthor": {
          "type": "string"
        }
      },
      "required": [
        "notes",
        "author",
        "facts",
        "id",
        "linkings",
        "taxon",
        "taxonID",
        "taxonSpecifier",
        "taxonSpecifierAuthor"
      ]
    },
    "WarehouseDwQuery_OccurrenceAtTimeOfAnnotation": {
      "type": "object",
      "properties": {
        "countryVerbatim": {
          "type": "string"
        },
        "dateBegin": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "dateEnd": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwQuery_IdentificationDwLinkings"
        },
        "locality": {
          "type": "string"
        },
        "municipalityVerbatim": {
          "type": "string"
        },
        "taxonId": {
          "type": "string",
          "format": "URI"
        },
        "taxonVerbatim": {
          "type": "string"
        },
        "wgs84centerPointLat": {
          "type": "number"
        },
        "wgs84centerPointLon": {
          "type": "number"
        }
      },
      "required": [
        "countryVerbatim",
        "dateBegin",
        "dateEnd",
        "linkings",
        "locality",
        "municipalityVerbatim",
        "taxonId",
        "taxonVerbatim",
        "wgs84centerPointLat",
        "wgs84centerPointLon"
      ]
    },
    "WarehouseDwQuery_IdentificationDwLinkings": {
      "type": "object",
      "properties": {
        "taxon": {
          "$ref": "#/components/schemas/WarehouseDwQuery_Taxon"
        }
      },
      "required": [
        "taxon"
      ]
    },
    "WarehouseDwQuery_RedListStatus": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "format": "URI"
        },
        "year": {
          "type": "integer"
        }
      },
      "required": [
        "status",
        "year"
      ]
    },
    "WarehouseDwQuery_HabitatObject": {
      "type": "object",
      "properties": {
        "habitat": {
          "type": "string",
          "format": "URI"
        },
        "habitatSpecificTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "order": {
          "type": "integer"
        }
      },
      "required": [
        "habitat",
        "habitatSpecificTypes",
        "id",
        "order"
      ]
    },
    "WarehouseDwQuery_NamedPlaceEntity": {
      "type": "object",
      "properties": {
        "alternativeId": {
          "type": "string"
        },
        "alternativeIds": {
          "type": "string"
        },
        "birdAssociationAreaDisplayName": {
          "type": "string"
        },
        "birdAssociationAreaId": {
          "type": "string"
        },
        "collectionId": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "municipalityDisplayName": {
          "type": "string"
        },
        "municipalityId": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "wgs84CenterPoint": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        },
        "ykj10km": {
          "$ref": "#/components/schemas/WarehouseDwQuery_SingleCoordinates"
        }
      },
      "required": [
        "alternativeId",
        "alternativeIds",
        "birdAssociationAreaDisplayName",
        "birdAssociationAreaId",
        "collectionId",
        "id",
        "municipalityDisplayName",
        "municipalityId",
        "name",
        "tags",
        "wgs84CenterPoint",
        "ykj10km"
      ]
    },
    "WarehouseDwETL_DwRoot": {
      "type": "object",
      "properties": {
        "documentId": {
          "type": "string",
          "format": "URI"
        },
        "sourceId": {
          "type": "string",
          "format": "URI"
        },
        "collectionId": {
          "type": "string",
          "format": "URI"
        },
        "publicDocument": {
          "$ref": "#/components/schemas/WarehouseDwETL_Document"
        },
        "privateDocument": {
          "$ref": "#/components/schemas/WarehouseDwETL_Document"
        },
        "deleteRequest": {
          "type": "boolean"
        }
      },
      "required": [
        "documentId",
        "sourceId",
        "collectionId",
        "publicDocument",
        "privateDocument",
        "deleteRequest"
      ]
    },
    "WarehouseDwETL_Document": {
      "type": "object",
      "properties": {
        "documentId": {
          "type": "string",
          "format": "URI"
        },
        "secureLevel": {
          "type": "string",
          "enum": [
            "NOSHOW",
            "HIGHEST",
            "KM100",
            "KM50",
            "KM25",
            "KM10",
            "KM5",
            "KM1",
            "NONE"
          ]
        },
        "secureReasons": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "DEFAULT_TAXON_CONSERVATION",
              "BREEDING_SITE_CONSERVATION",
              "NATURA_AREA_CONSERVATION",
              "WINTER_SEASON_TAXON_CONSERVATION",
              "BREEDING_SEASON_TAXON_CONSERVATION",
              "CUSTOM",
              "USER_HIDDEN",
              "ADMIN_HIDDEN",
              "DATA_QUARANTINE_PERIOD",
              "ONLY_PRIVATE",
              "USER_PERSON_NAMES_HIDDEN",
              "USER_HIDDEN_LOCATION",
              "USER_HIDDEN_TIME"
            ]
          }
        },
        "collectionId": {
          "type": "string",
          "format": "URI"
        },
        "licenseId": {
          "type": "string"
        },
        "dataSource": {
          "type": "string"
        },
        "quality": {
          "$ref": "#/components/schemas/WarehouseDwETL_DocumentQuality"
        },
        "sourceId": {
          "type": "string",
          "format": "URI"
        },
        "siteType": {
          "type": "string"
        },
        "siteStatus": {
          "type": "string"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "createdDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "modifiedDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "notes": {
          "type": "string"
        },
        "completeListTaxonId": {
          "type": "string"
        },
        "completeListType": {
          "type": "string"
        },
        "concealment": {
          "type": "string",
          "enum": [
            "PUBLIC",
            "PRIVATE"
          ]
        },
        "deleted": {
          "type": "boolean"
        },
        "editorUserIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_Fact"
          }
        },
        "formId": {
          "type": "string"
        },
        "gatherings": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_Gathering"
          }
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_MediaObject"
          }
        },
        "namedPlaceId": {
          "type": "string"
        },
        "referenceURL": {
          "type": "string"
        },
        "siteDead": {
          "type": "boolean"
        },
        "sourceTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        }
      },
      "required": [
        "documentId",
        "secureLevel",
        "secureReasons",
        "collectionId",
        "licenseId",
        "dataSource",
        "quality",
        "sourceId",
        "siteType",
        "siteStatus",
        "keywords",
        "createdDate",
        "modifiedDate",
        "notes",
        "completeListTaxonId",
        "completeListType",
        "concealment",
        "deleted",
        "editorUserIds",
        "facts",
        "formId",
        "gatherings",
        "media",
        "namedPlaceId",
        "referenceURL",
        "siteDead",
        "sourceTags"
      ]
    },
    "WarehouseDwETL_Gathering": {
      "type": "object",
      "properties": {
        "gatheringId": {
          "type": "string",
          "format": "URI"
        },
        "gatheringSection": {
          "type": "integer"
        },
        "coordinates": {
          "$ref": "#/components/schemas/WarehouseDwETL_Coordinates"
        },
        "geo": {
          "type": "object",
          "externalDocs": {
            "url": "http://geojson.org/geojson-spec.html#geometry-objects"
          },
          "description": "GeoJSON object with custom \"crs\" required property that takes in values WGS84,EUREF,YKJ (WGS84 = EPSG:4326; EUREF = ETRS-TM35FIN EPSG:3067; YKJ = EPSG:2393)"
        },
        "eventDate": {
          "$ref": "#/components/schemas/WarehouseDwETL_DateRange"
        },
        "hourBegin": {
          "type": "integer"
        },
        "hourEnd": {
          "type": "integer"
        },
        "team": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stateLand": {
          "type": "boolean"
        },
        "accurateArea": {
          "type": "boolean"
        },
        "higherGeography": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "municipality": {
          "type": "string"
        },
        "biogeographicalProvince": {
          "type": "string"
        },
        "province": {
          "type": "string"
        },
        "locality": {
          "type": "string"
        },
        "quality": {
          "$ref": "#/components/schemas/WarehouseDwETL_GatheringQuality"
        },
        "notes": {
          "type": "string"
        },
        "coordinatesVerbatim": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_Fact"
          }
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_MediaObject"
          }
        },
        "minutesBegin": {
          "type": "integer"
        },
        "minutesEnd": {
          "type": "integer"
        },
        "observerUserIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "taxonCensus": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_TaxonCensus"
          }
        },
        "units": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_Unit"
          }
        }
      },
      "required": [
        "gatheringId",
        "gatheringSection",
        "coordinates",
        "geo",
        "eventDate",
        "hourBegin",
        "hourEnd",
        "team",
        "stateLand",
        "accurateArea",
        "higherGeography",
        "country",
        "municipality",
        "biogeographicalProvince",
        "province",
        "locality",
        "quality",
        "notes",
        "coordinatesVerbatim",
        "facts",
        "media",
        "minutesBegin",
        "minutesEnd",
        "observerUserIds",
        "taxonCensus",
        "units"
      ]
    },
    "WarehouseDwETL_Unit": {
      "type": "object",
      "properties": {
        "unitId": {
          "type": "string",
          "format": "URI"
        },
        "taxonVerbatim": {
          "type": "string"
        },
        "quality": {
          "$ref": "#/components/schemas/WarehouseDwETL_UnitQuality"
        },
        "reportedTaxonConfidence": {
          "type": "string",
          "enum": [
            "SURE",
            "UNSURE",
            "SUBSPECIES_UNSURE"
          ]
        },
        "abundanceString": {
          "type": "string"
        },
        "abundanceUnit": {
          "type": "string",
          "enum": [
            "OCCURS_DOES_NOT_OCCUR",
            "INDIVIDUAL_COUNT",
            "PAIRCOUNT",
            "NESTS",
            "BREEDING_SITES",
            "FEEDING_SITES",
            "COLONIES",
            "QUEENS",
            "FRUITBODIES",
            "SPROUTS",
            "HUMMOCKS",
            "THALLI",
            "FLOWERS",
            "SPOTS",
            "TRUNKS",
            "SHELLS",
            "DROPPINGS",
            "FEEDING_MARKS",
            "INDIRECT_MARKS",
            "SQUARE_DM",
            "SQUARE_M",
            "RELATIVE_DENSITY"
          ]
        },
        "recordBasis": {
          "type": "string",
          "enum": [
            "PRESERVED_SPECIMEN",
            "LIVING_SPECIMEN",
            "FOSSIL_SPECIMEN",
            "SUBFOSSIL_SPECIMEN",
            "SUBFOSSIL_AMBER_INCLUSION_SPECIMEN",
            "MICROBIAL_SPECIMEN",
            "HUMAN_OBSERVATION_UNSPECIFIED",
            "HUMAN_OBSERVATION_SEEN",
            "HUMAN_OBSERVATION_HEARD",
            "HUMAN_OBSERVATION_PHOTO",
            "HUMAN_OBSERVATION_INDIRECT",
            "HUMAN_OBSERVATION_HANDLED",
            "HUMAN_OBSERVATION_VIDEO",
            "HUMAN_OBSERVATION_RECORDED_AUDIO",
            "MACHINE_OBSERVATION_UNSPECIFIED",
            "MACHINE_OBSERVATION_PHOTO",
            "MACHINE_OBSERVATION_VIDEO",
            "MACHINE_OBSERVATION_AUDIO",
            "MACHINE_OBSERVATION_GEOLOGGER",
            "MACHINE_OBSERVATION_SATELLITE_TRANSMITTER",
            "LITERATURE",
            "MATERIAL_SAMPLE",
            "MATERIAL_SAMPLE_AIR",
            "MATERIAL_SAMPLE_SOIL",
            "MATERIAL_SAMPLE_WATER"
          ]
        },
        "typeSpecimen": {
          "type": "boolean"
        },
        "det": {
          "type": "string"
        },
        "sex": {
          "type": "string",
          "enum": [
            "MALE",
            "FEMALE",
            "WORKER",
            "UNKNOWN",
            "NOT_APPLICABLE",
            "GYNANDROMORPH",
            "MULTIPLE",
            "CONFLICTING"
          ]
        },
        "lifeStage": {
          "type": "string",
          "enum": [
            "ADULT",
            "JUVENILE",
            "IMMATURE",
            "EGG",
            "TADPOLE",
            "PUPA",
            "NYMPH",
            "SUBIMAGO",
            "LARVA",
            "SNAG",
            "EMBRYO",
            "SUBADULT",
            "MATURE",
            "STERILE",
            "FERTILE",
            "SPROUT",
            "DEAD_SPROUT",
            "BUD",
            "FLOWER",
            "WITHERED_FLOWER",
            "SEED",
            "RIPENING_FRUIT",
            "RIPE_FRUIT",
            "SUBTERRANEAN",
            "GALL",
            "MARKS",
            "TRIUNGULIN"
          ]
        },
        "wild": {
          "type": "boolean"
        },
        "alive": {
          "type": "boolean"
        },
        "local": {
          "type": "boolean"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "breedingSite": {
          "type": "boolean"
        },
        "plantStatusCode": {
          "type": "string"
        },
        "atlasCode": {
          "type": "string"
        },
        "atlasClass": {
          "type": "string"
        },
        "individualId": {
          "type": "string"
        },
        "notes": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "autocompleteSelectedTaxonId": {
          "type": "string",
          "format": "URI"
        },
        "externalMediaCount": {
          "type": "integer"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_Fact"
          }
        },
        "identificationBasis": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "identifications": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_IdentificationEvent"
          }
        },
        "individualCountFemale": {
          "type": "integer"
        },
        "individualCountMale": {
          "type": "integer"
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_MediaObject"
          }
        },
        "primarySpecimen": {
          "type": "boolean"
        },
        "reportedInformalTaxonGroup": {
          "type": "string",
          "format": "URI"
        },
        "reportedTaxonId": {
          "type": "string",
          "format": "URI"
        },
        "samples": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_Sample"
          }
        },
        "samplingMethod": {
          "type": "string"
        },
        "sourceTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        },
        "types": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_TypeSpecimen"
          }
        }
      },
      "required": [
        "unitId",
        "taxonVerbatim",
        "quality",
        "reportedTaxonConfidence",
        "abundanceString",
        "abundanceUnit",
        "recordBasis",
        "typeSpecimen",
        "det",
        "sex",
        "lifeStage",
        "wild",
        "alive",
        "local",
        "keywords",
        "breedingSite",
        "plantStatusCode",
        "atlasCode",
        "atlasClass",
        "individualId",
        "notes",
        "author",
        "autocompleteSelectedTaxonId",
        "externalMediaCount",
        "facts",
        "identificationBasis",
        "identifications",
        "individualCountFemale",
        "individualCountMale",
        "media",
        "primarySpecimen",
        "reportedInformalTaxonGroup",
        "reportedTaxonId",
        "samples",
        "samplingMethod",
        "sourceTags",
        "types"
      ]
    },
    "WarehouseDwETL_Sample": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "collectionId": {
          "type": "string",
          "format": "URI"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_Fact"
          }
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "material": {
          "type": "string"
        },
        "multiple": {
          "type": "boolean"
        },
        "quality": {
          "type": "string"
        },
        "sampleId": {
          "type": "string",
          "format": "URI"
        },
        "status": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "notes",
        "collectionId",
        "facts",
        "keywords",
        "material",
        "multiple",
        "quality",
        "sampleId",
        "status",
        "type"
      ]
    },
    "WarehouseDwETL_MediaObject": {
      "type": "object",
      "properties": {
        "author": {
          "type": "string"
        },
        "caption": {
          "type": "string"
        },
        "copyrightOwner": {
          "type": "string"
        },
        "fullResolutionMediaAvailable": {
          "type": "boolean"
        },
        "fullURL": {
          "type": "string"
        },
        "highDetailModelURL": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "licenseId": {
          "type": "string"
        },
        "lowDetailModelURL": {
          "type": "string"
        },
        "mediaType": {
          "type": "string",
          "enum": [
            "IMAGE",
            "AUDIO",
            "VIDEO",
            "MODEL"
          ]
        },
        "mp3URL": {
          "type": "string"
        },
        "squareThumbnailURL": {
          "type": "string"
        },
        "thumbnailURL": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "format": "URI"
        },
        "videoURL": {
          "type": "string"
        },
        "wavURL": {
          "type": "string"
        }
      },
      "required": [
        "author",
        "caption",
        "copyrightOwner",
        "fullResolutionMediaAvailable",
        "fullURL",
        "highDetailModelURL",
        "id",
        "licenseId",
        "lowDetailModelURL",
        "mediaType",
        "mp3URL",
        "squareThumbnailURL",
        "thumbnailURL",
        "type",
        "videoURL",
        "wavURL"
      ]
    },
    "WarehouseDwETL_Coordinates": {
      "type": "object",
      "properties": {
        "accuracyInMeters": {
          "type": "integer"
        },
        "latMax": {
          "type": "number"
        },
        "latMin": {
          "type": "number"
        },
        "lonMax": {
          "type": "number"
        },
        "lonMin": {
          "type": "number"
        },
        "type": {
          "type": "string",
          "enum": [
            "WGS84",
            "EUREF",
            "YKJ"
          ]
        }
      },
      "required": [
        "accuracyInMeters",
        "latMax",
        "latMin",
        "lonMax",
        "lonMin",
        "type"
      ]
    },
    "WarehouseDwETL_DateRange": {
      "type": "object",
      "properties": {
        "begin": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "end": {
          "type": "string",
          "format": "yyyy-MM-dd"
        }
      },
      "required": [
        "begin",
        "end"
      ]
    },
    "WarehouseDwETL_Fact": {
      "type": "object",
      "properties": {
        "fact": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "fact",
        "value"
      ]
    },
    "WarehouseDwETL_TaxonCensus": {
      "type": "object",
      "properties": {
        "taxonId": {
          "type": "string",
          "format": "URI"
        },
        "type": {
          "type": "string",
          "format": "URI"
        }
      },
      "required": [
        "taxonId",
        "type"
      ]
    },
    "WarehouseDwETL_DocumentQuality": {
      "type": "object",
      "properties": {
        "issue": {
          "$ref": "#/components/schemas/WarehouseDwETL_Quality"
        }
      },
      "required": [
        "issue"
      ]
    },
    "WarehouseDwETL_GatheringQuality": {
      "type": "object",
      "properties": {
        "issue": {
          "$ref": "#/components/schemas/WarehouseDwETL_Quality"
        },
        "locationIssue": {
          "$ref": "#/components/schemas/WarehouseDwETL_Quality"
        },
        "timeIssue": {
          "$ref": "#/components/schemas/WarehouseDwETL_Quality"
        }
      },
      "required": [
        "issue",
        "locationIssue",
        "timeIssue"
      ]
    },
    "WarehouseDwETL_UnitQuality": {
      "type": "object",
      "properties": {
        "issue": {
          "$ref": "#/components/schemas/WarehouseDwETL_Quality"
        }
      },
      "required": [
        "issue"
      ]
    },
    "WarehouseDwETL_Quality": {
      "type": "object",
      "properties": {
        "issue": {
          "type": "string",
          "enum": [
            "REPORTED_UNRELIABLE",
            "MEDIA_ISSUE",
            "INVALID_CREATED_DATE",
            "INVALID_MODIFIED_DATE",
            "COORDINATES_COUNTRY_MISMATCH",
            "COORDINATES_MUNICIPALITY_MISMATCH",
            "TOO_LARGE_AREA",
            "INVALID_GEO",
            "INVALID_YKJ_COORDINATES",
            "INVALID_EUREF_COORDINATES",
            "INVALID_WGS84_COORDINATES",
            "DATE_END_BEFORE_BEGIN",
            "DATE_END_GIVEN_WITHOUT_BEGIN",
            "DATE_IN_FUTURE",
            "DATE_TOO_FAR_IN_THE_PAST",
            "INVALID_DATE",
            "RECORD_BASIS_MISSING",
            "INVALID_HOUR",
            "INVALID_MINUTE",
            "TIME_END_BEFORE_BEGIN",
            "INVALID_COORDINATES",
            "ETL_ISSUE"
          ]
        },
        "message": {
          "type": "string"
        },
        "source": {
          "type": "string",
          "enum": [
            "AUTOMATED_FINBIF_VALIDATION",
            "ORIGINAL_DOCUMENT",
            "QUALITY_CONTROL"
          ]
        }
      },
      "required": [
        "issue",
        "message",
        "source"
      ]
    },
    "WarehouseDwETL_IdentificationEvent": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "det": {
          "type": "string"
        },
        "detDate": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_Fact"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "preferred": {
          "type": "boolean"
        },
        "taxon": {
          "type": "string"
        },
        "taxonID": {
          "type": "string",
          "format": "URI"
        },
        "taxonSpecifier": {
          "type": "string"
        },
        "taxonSpecifierAuthor": {
          "type": "string"
        }
      },
      "required": [
        "notes",
        "author",
        "det",
        "detDate",
        "facts",
        "id",
        "preferred",
        "taxon",
        "taxonID",
        "taxonSpecifier",
        "taxonSpecifierAuthor"
      ]
    },
    "WarehouseDwETL_TypeSpecimen": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "basionymePublication": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwETL_Fact"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "publication": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "format": "URI"
        },
        "taxon": {
          "type": "string"
        },
        "taxonID": {
          "type": "string",
          "format": "URI"
        },
        "taxonSpecifier": {
          "type": "string"
        },
        "taxonSpecifierAuthor": {
          "type": "string"
        },
        "typif": {
          "type": "string"
        },
        "typifDate": {
          "type": "string"
        },
        "verification": {
          "type": "string",
          "format": "URI"
        }
      },
      "required": [
        "notes",
        "author",
        "basionymePublication",
        "facts",
        "id",
        "publication",
        "status",
        "taxon",
        "taxonID",
        "taxonSpecifier",
        "taxonSpecifierAuthor",
        "typif",
        "typifDate",
        "verification"
      ]
    },
    "WarehouseDwSingle_Document": {
      "type": "object",
      "properties": {
        "documentId": {
          "type": "string",
          "format": "URI"
        },
        "secureLevel": {
          "type": "string",
          "enum": [
            "NOSHOW",
            "HIGHEST",
            "KM100",
            "KM50",
            "KM25",
            "KM10",
            "KM5",
            "KM1",
            "NONE"
          ]
        },
        "secureReasons": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "DEFAULT_TAXON_CONSERVATION",
              "BREEDING_SITE_CONSERVATION",
              "NATURA_AREA_CONSERVATION",
              "WINTER_SEASON_TAXON_CONSERVATION",
              "BREEDING_SEASON_TAXON_CONSERVATION",
              "CUSTOM",
              "USER_HIDDEN",
              "ADMIN_HIDDEN",
              "DATA_QUARANTINE_PERIOD",
              "ONLY_PRIVATE",
              "USER_PERSON_NAMES_HIDDEN",
              "USER_HIDDEN_LOCATION",
              "USER_HIDDEN_TIME"
            ]
          }
        },
        "partial": {
          "type": "boolean"
        },
        "collectionId": {
          "type": "string",
          "format": "URI"
        },
        "licenseId": {
          "type": "string"
        },
        "dataSource": {
          "type": "string"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwSingle_DocumentDWLinkings"
        },
        "quality": {
          "$ref": "#/components/schemas/WarehouseDwSingle_DocumentQuality"
        },
        "sourceId": {
          "type": "string",
          "format": "URI"
        },
        "namedPlace": {
          "$ref": "#/components/schemas/WarehouseDwSingle_NamedPlaceEntity"
        },
        "siteType": {
          "type": "string"
        },
        "siteStatus": {
          "type": "string"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "firstLoadDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "loadDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "createdDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "modifiedDate": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "notes": {
          "type": "string"
        },
        "annotations": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Annotation"
          }
        },
        "completeListTaxonId": {
          "type": "string"
        },
        "completeListType": {
          "type": "string"
        },
        "editorUserIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Fact"
          }
        },
        "formId": {
          "type": "string"
        },
        "gatherings": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Gathering"
          }
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_MediaObject"
          }
        },
        "mediaCount": {
          "type": "integer"
        },
        "namedPlaceId": {
          "type": "string"
        },
        "prefix": {
          "type": "string"
        },
        "referenceURL": {
          "type": "string"
        },
        "secured": {
          "type": "boolean"
        },
        "siteDead": {
          "type": "boolean"
        },
        "sourceTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        }
      },
      "required": [
        "documentId",
        "secureLevel",
        "secureReasons",
        "partial",
        "collectionId",
        "licenseId",
        "dataSource",
        "linkings",
        "quality",
        "sourceId",
        "namedPlace",
        "siteType",
        "siteStatus",
        "keywords",
        "firstLoadDate",
        "loadDate",
        "createdDate",
        "modifiedDate",
        "notes",
        "annotations",
        "completeListTaxonId",
        "completeListType",
        "editorUserIds",
        "facts",
        "formId",
        "gatherings",
        "media",
        "mediaCount",
        "namedPlaceId",
        "prefix",
        "referenceURL",
        "secured",
        "siteDead",
        "sourceTags"
      ]
    },
    "WarehouseDwSingle_Gathering": {
      "type": "object",
      "properties": {
        "gatheringId": {
          "type": "string",
          "format": "URI"
        },
        "gatheringOrder": {
          "type": "integer"
        },
        "gatheringSection": {
          "type": "integer"
        },
        "geo": {
          "type": "object",
          "externalDocs": {
            "url": "http://geojson.org/geojson-spec.html#geometry-objects"
          },
          "description": "GeoJSON object with custom \"crs\" required property that takes in values WGS84,EUREF,YKJ (WGS84 = EPSG:4326; EUREF = ETRS-TM35FIN EPSG:3067; YKJ = EPSG:2393)"
        },
        "eventDate": {
          "$ref": "#/components/schemas/WarehouseDwSingle_DateRange"
        },
        "hourBegin": {
          "type": "integer"
        },
        "hourEnd": {
          "type": "integer"
        },
        "displayDateTime": {
          "type": "string"
        },
        "team": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "conversions": {
          "$ref": "#/components/schemas/WarehouseDwSingle_GatheringConversions"
        },
        "interpretations": {
          "$ref": "#/components/schemas/WarehouseDwSingle_GatheringInterpretations"
        },
        "stateLand": {
          "type": "boolean"
        },
        "accurateArea": {
          "type": "boolean"
        },
        "higherGeography": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "municipality": {
          "type": "string"
        },
        "biogeographicalProvince": {
          "type": "string"
        },
        "province": {
          "type": "string"
        },
        "locality": {
          "type": "string"
        },
        "quality": {
          "$ref": "#/components/schemas/WarehouseDwSingle_GatheringQuality"
        },
        "notes": {
          "type": "string"
        },
        "coordinatesVerbatim": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Fact"
          }
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwSingle_GatheringDWLinkings"
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_MediaObject"
          }
        },
        "mediaCount": {
          "type": "integer"
        },
        "minutesBegin": {
          "type": "integer"
        },
        "minutesEnd": {
          "type": "integer"
        },
        "observerUserIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "taxonCensus": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_TaxonCensus"
          }
        },
        "units": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Unit"
          }
        }
      },
      "required": [
        "gatheringId",
        "gatheringOrder",
        "gatheringSection",
        "geo",
        "eventDate",
        "hourBegin",
        "hourEnd",
        "displayDateTime",
        "team",
        "conversions",
        "interpretations",
        "stateLand",
        "accurateArea",
        "higherGeography",
        "country",
        "municipality",
        "biogeographicalProvince",
        "province",
        "locality",
        "quality",
        "notes",
        "coordinatesVerbatim",
        "facts",
        "linkings",
        "media",
        "mediaCount",
        "minutesBegin",
        "minutesEnd",
        "observerUserIds",
        "taxonCensus",
        "units"
      ]
    },
    "WarehouseDwSingle_Unit": {
      "type": "object",
      "properties": {
        "unitId": {
          "type": "string",
          "format": "URI"
        },
        "unitOrder": {
          "type": "integer"
        },
        "taxonVerbatim": {
          "type": "string"
        },
        "quality": {
          "$ref": "#/components/schemas/WarehouseDwSingle_UnitQuality"
        },
        "reportedTaxonConfidence": {
          "type": "string",
          "enum": [
            "SURE",
            "UNSURE",
            "SUBSPECIES_UNSURE"
          ]
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwSingle_UnitDWLinkings"
        },
        "abundanceString": {
          "type": "string"
        },
        "abundanceUnit": {
          "type": "string",
          "enum": [
            "OCCURS_DOES_NOT_OCCUR",
            "INDIVIDUAL_COUNT",
            "PAIRCOUNT",
            "NESTS",
            "BREEDING_SITES",
            "FEEDING_SITES",
            "COLONIES",
            "QUEENS",
            "FRUITBODIES",
            "SPROUTS",
            "HUMMOCKS",
            "THALLI",
            "FLOWERS",
            "SPOTS",
            "TRUNKS",
            "SHELLS",
            "DROPPINGS",
            "FEEDING_MARKS",
            "INDIRECT_MARKS",
            "SQUARE_DM",
            "SQUARE_M",
            "RELATIVE_DENSITY"
          ]
        },
        "interpretations": {
          "$ref": "#/components/schemas/WarehouseDwSingle_UnitInterpretations"
        },
        "superRecordBasis": {
          "type": "string",
          "enum": [
            "PRESERVED_SPECIMEN",
            "LIVING_SPECIMEN",
            "FOSSIL_SPECIMEN",
            "SUBFOSSIL_SPECIMEN",
            "SUBFOSSIL_AMBER_INCLUSION_SPECIMEN",
            "MICROBIAL_SPECIMEN",
            "HUMAN_OBSERVATION_UNSPECIFIED",
            "HUMAN_OBSERVATION_SEEN",
            "HUMAN_OBSERVATION_HEARD",
            "HUMAN_OBSERVATION_PHOTO",
            "HUMAN_OBSERVATION_INDIRECT",
            "HUMAN_OBSERVATION_HANDLED",
            "HUMAN_OBSERVATION_VIDEO",
            "HUMAN_OBSERVATION_RECORDED_AUDIO",
            "MACHINE_OBSERVATION_UNSPECIFIED",
            "MACHINE_OBSERVATION_PHOTO",
            "MACHINE_OBSERVATION_VIDEO",
            "MACHINE_OBSERVATION_AUDIO",
            "MACHINE_OBSERVATION_GEOLOGGER",
            "MACHINE_OBSERVATION_SATELLITE_TRANSMITTER",
            "LITERATURE",
            "MATERIAL_SAMPLE",
            "MATERIAL_SAMPLE_AIR",
            "MATERIAL_SAMPLE_SOIL",
            "MATERIAL_SAMPLE_WATER"
          ]
        },
        "recordBasis": {
          "type": "string",
          "enum": [
            "PRESERVED_SPECIMEN",
            "LIVING_SPECIMEN",
            "FOSSIL_SPECIMEN",
            "SUBFOSSIL_SPECIMEN",
            "SUBFOSSIL_AMBER_INCLUSION_SPECIMEN",
            "MICROBIAL_SPECIMEN",
            "HUMAN_OBSERVATION_UNSPECIFIED",
            "HUMAN_OBSERVATION_SEEN",
            "HUMAN_OBSERVATION_HEARD",
            "HUMAN_OBSERVATION_PHOTO",
            "HUMAN_OBSERVATION_INDIRECT",
            "HUMAN_OBSERVATION_HANDLED",
            "HUMAN_OBSERVATION_VIDEO",
            "HUMAN_OBSERVATION_RECORDED_AUDIO",
            "MACHINE_OBSERVATION_UNSPECIFIED",
            "MACHINE_OBSERVATION_PHOTO",
            "MACHINE_OBSERVATION_VIDEO",
            "MACHINE_OBSERVATION_AUDIO",
            "MACHINE_OBSERVATION_GEOLOGGER",
            "MACHINE_OBSERVATION_SATELLITE_TRANSMITTER",
            "LITERATURE",
            "MATERIAL_SAMPLE",
            "MATERIAL_SAMPLE_AIR",
            "MATERIAL_SAMPLE_SOIL",
            "MATERIAL_SAMPLE_WATER"
          ]
        },
        "typeSpecimen": {
          "type": "boolean"
        },
        "det": {
          "type": "string"
        },
        "sex": {
          "type": "string",
          "enum": [
            "MALE",
            "FEMALE",
            "WORKER",
            "UNKNOWN",
            "NOT_APPLICABLE",
            "GYNANDROMORPH",
            "MULTIPLE",
            "CONFLICTING"
          ]
        },
        "lifeStage": {
          "type": "string",
          "enum": [
            "ADULT",
            "JUVENILE",
            "IMMATURE",
            "EGG",
            "TADPOLE",
            "PUPA",
            "NYMPH",
            "SUBIMAGO",
            "LARVA",
            "SNAG",
            "EMBRYO",
            "SUBADULT",
            "MATURE",
            "STERILE",
            "FERTILE",
            "SPROUT",
            "DEAD_SPROUT",
            "BUD",
            "FLOWER",
            "WITHERED_FLOWER",
            "SEED",
            "RIPENING_FRUIT",
            "RIPE_FRUIT",
            "SUBTERRANEAN",
            "GALL",
            "MARKS",
            "TRIUNGULIN"
          ]
        },
        "wild": {
          "type": "boolean"
        },
        "alive": {
          "type": "boolean"
        },
        "local": {
          "type": "boolean"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "breedingSite": {
          "type": "boolean"
        },
        "plantStatusCode": {
          "type": "string"
        },
        "atlasCode": {
          "type": "string"
        },
        "atlasClass": {
          "type": "string"
        },
        "individualId": {
          "type": "string"
        },
        "sequenceText": {
          "type": "string"
        },
        "notes": {
          "type": "string"
        },
        "annotationCount": {
          "type": "integer"
        },
        "annotations": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Annotation"
          }
        },
        "audioCount": {
          "type": "integer"
        },
        "author": {
          "type": "string"
        },
        "externalMediaCount": {
          "type": "integer"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Fact"
          }
        },
        "identificationBasis": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "identifications": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_IdentificationEvent"
          }
        },
        "imageCount": {
          "type": "integer"
        },
        "individualCountFemale": {
          "type": "integer"
        },
        "individualCountMale": {
          "type": "integer"
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_MediaObject"
          }
        },
        "mediaCount": {
          "type": "integer"
        },
        "modelCount": {
          "type": "integer"
        },
        "primarySpecimen": {
          "type": "boolean"
        },
        "reportedInformalTaxonGroup": {
          "type": "string",
          "format": "URI"
        },
        "reportedTaxonId": {
          "type": "string",
          "format": "URI"
        },
        "sampleCount": {
          "type": "integer"
        },
        "samples": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Sample"
          }
        },
        "samplingMethod": {
          "type": "string"
        },
        "sourceTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        },
        "types": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_TypeSpecimen"
          }
        },
        "videoCount": {
          "type": "integer"
        }
      },
      "required": [
        "unitId",
        "unitOrder",
        "taxonVerbatim",
        "quality",
        "reportedTaxonConfidence",
        "linkings",
        "abundanceString",
        "abundanceUnit",
        "interpretations",
        "superRecordBasis",
        "recordBasis",
        "typeSpecimen",
        "det",
        "sex",
        "lifeStage",
        "wild",
        "alive",
        "local",
        "keywords",
        "breedingSite",
        "plantStatusCode",
        "atlasCode",
        "atlasClass",
        "individualId",
        "sequenceText",
        "notes",
        "annotationCount",
        "annotations",
        "audioCount",
        "author",
        "externalMediaCount",
        "facts",
        "identificationBasis",
        "identifications",
        "imageCount",
        "individualCountFemale",
        "individualCountMale",
        "media",
        "mediaCount",
        "modelCount",
        "primarySpecimen",
        "reportedInformalTaxonGroup",
        "reportedTaxonId",
        "sampleCount",
        "samples",
        "samplingMethod",
        "sourceTags",
        "types",
        "videoCount"
      ]
    },
    "WarehouseDwSingle_Sample": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "collectionId": {
          "type": "string",
          "format": "URI"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Fact"
          }
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "material": {
          "type": "string"
        },
        "multiple": {
          "type": "boolean"
        },
        "quality": {
          "type": "string"
        },
        "sampleId": {
          "type": "string",
          "format": "URI"
        },
        "sampleOrder": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "notes",
        "collectionId",
        "facts",
        "keywords",
        "material",
        "multiple",
        "quality",
        "sampleId",
        "sampleOrder",
        "status",
        "type"
      ]
    },
    "WarehouseDwSingle_MediaObject": {
      "type": "object",
      "properties": {
        "author": {
          "type": "string"
        },
        "caption": {
          "type": "string"
        },
        "copyrightOwner": {
          "type": "string"
        },
        "fullResolutionMediaAvailable": {
          "type": "boolean"
        },
        "fullURL": {
          "type": "string"
        },
        "highDetailModelURL": {
          "type": "string"
        },
        "licenseId": {
          "type": "string"
        },
        "lowDetailModelURL": {
          "type": "string"
        },
        "mediaType": {
          "type": "string",
          "enum": [
            "IMAGE",
            "AUDIO",
            "VIDEO",
            "MODEL"
          ]
        },
        "mp3URL": {
          "type": "string"
        },
        "squareThumbnailURL": {
          "type": "string"
        },
        "thumbnailURL": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "format": "URI"
        },
        "videoURL": {
          "type": "string"
        },
        "wavURL": {
          "type": "string"
        }
      },
      "required": [
        "author",
        "caption",
        "copyrightOwner",
        "fullResolutionMediaAvailable",
        "fullURL",
        "highDetailModelURL",
        "licenseId",
        "lowDetailModelURL",
        "mediaType",
        "mp3URL",
        "squareThumbnailURL",
        "thumbnailURL",
        "type",
        "videoURL",
        "wavURL"
      ]
    },
    "WarehouseDwSingle_Coordinates": {
      "type": "object",
      "properties": {
        "latMax": {
          "type": "number"
        },
        "latMin": {
          "type": "number"
        },
        "lonMax": {
          "type": "number"
        },
        "lonMin": {
          "type": "number"
        }
      },
      "required": [
        "latMax",
        "latMin",
        "lonMax",
        "lonMin"
      ]
    },
    "WarehouseDwSingle_DateRange": {
      "type": "object",
      "properties": {
        "begin": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "end": {
          "type": "string",
          "format": "yyyy-MM-dd"
        }
      },
      "required": [
        "begin",
        "end"
      ]
    },
    "WarehouseDwSingle_Fact": {
      "type": "object",
      "properties": {
        "fact": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "integerValue": {
          "type": "integer"
        },
        "decimalValue": {
          "type": "number"
        }
      },
      "required": [
        "fact",
        "value",
        "integerValue",
        "decimalValue"
      ]
    },
    "WarehouseDwSingle_TaxonCensus": {
      "type": "object",
      "properties": {
        "taxonId": {
          "type": "string",
          "format": "URI"
        },
        "type": {
          "type": "string",
          "format": "URI"
        }
      },
      "required": [
        "taxonId",
        "type"
      ]
    },
    "WarehouseDwSingle_DocumentQuality": {
      "type": "object",
      "properties": {
        "issue": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Quality"
        }
      },
      "required": [
        "issue"
      ]
    },
    "WarehouseDwSingle_GatheringQuality": {
      "type": "object",
      "properties": {
        "issue": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Quality"
        },
        "locationIssue": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Quality"
        },
        "timeIssue": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Quality"
        }
      },
      "required": [
        "issue",
        "locationIssue",
        "timeIssue"
      ]
    },
    "WarehouseDwSingle_UnitQuality": {
      "type": "object",
      "properties": {
        "documentGatheringUnitQualityIssues": {
          "type": "boolean"
        },
        "issue": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Quality"
        }
      },
      "required": [
        "documentGatheringUnitQualityIssues",
        "issue"
      ]
    },
    "WarehouseDwSingle_Quality": {
      "type": "object",
      "properties": {
        "issue": {
          "type": "string",
          "enum": [
            "REPORTED_UNRELIABLE",
            "MEDIA_ISSUE",
            "INVALID_CREATED_DATE",
            "INVALID_MODIFIED_DATE",
            "COORDINATES_COUNTRY_MISMATCH",
            "COORDINATES_MUNICIPALITY_MISMATCH",
            "TOO_LARGE_AREA",
            "INVALID_GEO",
            "INVALID_YKJ_COORDINATES",
            "INVALID_EUREF_COORDINATES",
            "INVALID_WGS84_COORDINATES",
            "DATE_END_BEFORE_BEGIN",
            "DATE_END_GIVEN_WITHOUT_BEGIN",
            "DATE_IN_FUTURE",
            "DATE_TOO_FAR_IN_THE_PAST",
            "INVALID_DATE",
            "RECORD_BASIS_MISSING",
            "INVALID_HOUR",
            "INVALID_MINUTE",
            "TIME_END_BEFORE_BEGIN",
            "INVALID_COORDINATES",
            "ETL_ISSUE"
          ]
        },
        "message": {
          "type": "string"
        },
        "source": {
          "type": "string",
          "enum": [
            "AUTOMATED_FINBIF_VALIDATION",
            "ORIGINAL_DOCUMENT",
            "QUALITY_CONTROL"
          ]
        }
      },
      "required": [
        "issue",
        "message",
        "source"
      ]
    },
    "WarehouseDwSingle_IdentificationEvent": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "det": {
          "type": "string"
        },
        "detDate": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Fact"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwSingle_IdentificationDwLinkings"
        },
        "preferred": {
          "type": "boolean"
        },
        "taxon": {
          "type": "string"
        },
        "taxonID": {
          "type": "string",
          "format": "URI"
        },
        "taxonSpecifier": {
          "type": "string"
        },
        "taxonSpecifierAuthor": {
          "type": "string"
        }
      },
      "required": [
        "notes",
        "author",
        "det",
        "detDate",
        "facts",
        "id",
        "linkings",
        "preferred",
        "taxon",
        "taxonID",
        "taxonSpecifier",
        "taxonSpecifierAuthor"
      ]
    },
    "WarehouseDwSingle_TypeSpecimen": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "basionymePublication": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Fact"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwSingle_IdentificationDwLinkings"
        },
        "publication": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "format": "URI"
        },
        "taxon": {
          "type": "string"
        },
        "taxonID": {
          "type": "string",
          "format": "URI"
        },
        "taxonSpecifier": {
          "type": "string"
        },
        "taxonSpecifierAuthor": {
          "type": "string"
        },
        "typif": {
          "type": "string"
        },
        "typifDate": {
          "type": "string"
        },
        "verification": {
          "type": "string",
          "format": "URI"
        }
      },
      "required": [
        "notes",
        "author",
        "basionymePublication",
        "facts",
        "id",
        "linkings",
        "publication",
        "status",
        "taxon",
        "taxonID",
        "taxonSpecifier",
        "taxonSpecifierAuthor",
        "typif",
        "typifDate",
        "verification"
      ]
    },
    "WarehouseDwSingle_DocumentDWLinkings": {
      "type": "object",
      "properties": {
        "collectionQuality": {
          "type": "string",
          "enum": [
            "PROFESSIONAL",
            "HOBBYIST",
            "AMATEUR"
          ]
        },
        "editors": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Person"
          }
        }
      },
      "required": [
        "collectionQuality",
        "editors"
      ]
    },
    "WarehouseDwSingle_GatheringInterpretations": {
      "type": "object",
      "properties": {
        "biogeographicalProvince": {
          "type": "string",
          "format": "URI"
        },
        "biogeographicalProvinceDisplayname": {
          "type": "string"
        },
        "biogeographicalProvinces": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "coordinateAccuracy": {
          "type": "integer"
        },
        "country": {
          "type": "string",
          "format": "URI"
        },
        "countryDisplayname": {
          "type": "string"
        },
        "finnishMunicipalities": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "finnishMunicipality": {
          "type": "string",
          "format": "URI"
        },
        "municipalityDisplayname": {
          "type": "string"
        },
        "sourceOfBiogeographicalProvince": {
          "type": "string",
          "enum": [
            "COORDINATES",
            "COORDINATE_CENTERPOINT",
            "REPORTED_VALUE",
            "FINNISH_MUNICIPALITY",
            "OLD_FINNISH_MUNICIPALITY"
          ]
        },
        "sourceOfCoordinates": {
          "type": "string",
          "enum": [
            "COORDINATES",
            "COORDINATE_CENTERPOINT",
            "REPORTED_VALUE",
            "FINNISH_MUNICIPALITY",
            "OLD_FINNISH_MUNICIPALITY"
          ]
        },
        "sourceOfCountry": {
          "type": "string",
          "enum": [
            "COORDINATES",
            "COORDINATE_CENTERPOINT",
            "REPORTED_VALUE",
            "FINNISH_MUNICIPALITY",
            "OLD_FINNISH_MUNICIPALITY"
          ]
        },
        "sourceOfFinnishMunicipality": {
          "type": "string",
          "enum": [
            "COORDINATES",
            "COORDINATE_CENTERPOINT",
            "REPORTED_VALUE",
            "FINNISH_MUNICIPALITY",
            "OLD_FINNISH_MUNICIPALITY"
          ]
        }
      },
      "required": [
        "biogeographicalProvince",
        "biogeographicalProvinceDisplayname",
        "biogeographicalProvinces",
        "coordinateAccuracy",
        "country",
        "countryDisplayname",
        "finnishMunicipalities",
        "finnishMunicipality",
        "municipalityDisplayname",
        "sourceOfBiogeographicalProvince",
        "sourceOfCoordinates",
        "sourceOfCountry",
        "sourceOfFinnishMunicipality"
      ]
    },
    "WarehouseDwSingle_GatheringConversions": {
      "type": "object",
      "properties": {
        "birdAssociationArea": {
          "type": "string",
          "format": "URI"
        },
        "boundingBoxAreaInSquareMeters": {
          "type": "integer"
        },
        "century": {
          "type": "integer"
        },
        "day": {
          "type": "integer"
        },
        "dayOfYearBegin": {
          "type": "integer"
        },
        "dayOfYearEnd": {
          "type": "integer"
        },
        "decade": {
          "type": "integer"
        },
        "euref": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Coordinates"
        },
        "eurefCenterPoint": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "eurefGeo": {
          "type": "object",
          "externalDocs": {
            "url": "http://geojson.org/geojson-spec.html#geometry-objects"
          },
          "description": "GeoJSON object with custom \"crs\" required property that takes in values WGS84,EUREF,YKJ (WGS84 = EPSG:4326; EUREF = ETRS-TM35FIN EPSG:3067; YKJ = EPSG:2393)"
        },
        "eurefWKT": {
          "type": "string"
        },
        "linelengthInMeters": {
          "type": "integer"
        },
        "month": {
          "type": "integer"
        },
        "seasonBegin": {
          "type": "integer"
        },
        "seasonEnd": {
          "type": "integer"
        },
        "wgs84": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Coordinates"
        },
        "wgs84CenterPoint": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "wgs84Geo": {
          "type": "object",
          "externalDocs": {
            "url": "http://geojson.org/geojson-spec.html#geometry-objects"
          },
          "description": "GeoJSON object with custom \"crs\" required property that takes in values WGS84,EUREF,YKJ (WGS84 = EPSG:4326; EUREF = ETRS-TM35FIN EPSG:3067; YKJ = EPSG:2393)"
        },
        "wgs84Grid005": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "wgs84Grid01": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "wgs84Grid05": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "wgs84Grid1": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "wgs84WKT": {
          "type": "string"
        },
        "year": {
          "type": "integer"
        },
        "ykj": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Coordinates"
        },
        "ykj100km": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "ykj100kmCenter": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "ykj10km": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "ykj10kmCenter": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "ykj1km": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "ykj1kmCenter": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "ykj50km": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "ykj50kmCenter": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "ykjGeo": {
          "type": "object",
          "externalDocs": {
            "url": "http://geojson.org/geojson-spec.html#geometry-objects"
          },
          "description": "GeoJSON object with custom \"crs\" required property that takes in values WGS84,EUREF,YKJ (WGS84 = EPSG:4326; EUREF = ETRS-TM35FIN EPSG:3067; YKJ = EPSG:2393)"
        },
        "ykjWKT": {
          "type": "string"
        }
      },
      "required": [
        "birdAssociationArea",
        "boundingBoxAreaInSquareMeters",
        "century",
        "day",
        "dayOfYearBegin",
        "dayOfYearEnd",
        "decade",
        "euref",
        "eurefCenterPoint",
        "eurefGeo",
        "eurefWKT",
        "linelengthInMeters",
        "month",
        "seasonBegin",
        "seasonEnd",
        "wgs84",
        "wgs84CenterPoint",
        "wgs84Geo",
        "wgs84Grid005",
        "wgs84Grid01",
        "wgs84Grid05",
        "wgs84Grid1",
        "wgs84WKT",
        "year",
        "ykj",
        "ykj100km",
        "ykj100kmCenter",
        "ykj10km",
        "ykj10kmCenter",
        "ykj1km",
        "ykj1kmCenter",
        "ykj50km",
        "ykj50kmCenter",
        "ykjGeo",
        "ykjWKT"
      ]
    },
    "WarehouseDwSingle_GatheringDWLinkings": {
      "type": "object",
      "properties": {
        "observers": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Person"
          }
        }
      },
      "required": [
        "observers"
      ]
    },
    "WarehouseDwSingle_UnitDWLinkings": {
      "type": "object",
      "properties": {
        "taxon": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Taxon"
        },
        "originalTaxon": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Taxon"
        }
      },
      "required": [
        "taxon",
        "originalTaxon"
      ]
    },
    "WarehouseDwSingle_UnitInterpretations": {
      "type": "object",
      "properties": {
        "annotatedTaxonId": {
          "type": "string",
          "format": "URI"
        },
        "collectionAndRecordQuality": {
          "type": "string"
        },
        "det": {
          "type": "string"
        },
        "effectiveTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        },
        "individualCount": {
          "type": "integer"
        },
        "invasiveControlEffectiveness": {
          "type": "string",
          "enum": [
            "FULL",
            "PARTIAL",
            "NO_EFFECT",
            "NOT_FOUND"
          ]
        },
        "invasiveControlled": {
          "type": "boolean"
        },
        "needsCheck": {
          "type": "boolean"
        },
        "needsIdentification": {
          "type": "boolean"
        },
        "pairCount": {
          "type": "integer"
        },
        "recordQuality": {
          "type": "string",
          "enum": [
            "EXPERT_VERIFIED",
            "COMMUNITY_VERIFIED",
            "NEUTRAL",
            "UNCERTAIN",
            "ERRONEOUS"
          ]
        },
        "recordQualityNumeric": {
          "type": "number"
        },
        "reliability": {
          "type": "string",
          "enum": [
            "RELIABLE",
            "UNDEFINED",
            "UNRELIABLE"
          ]
        }
      },
      "required": [
        "annotatedTaxonId",
        "collectionAndRecordQuality",
        "det",
        "effectiveTags",
        "individualCount",
        "invasiveControlEffectiveness",
        "invasiveControlled",
        "needsCheck",
        "needsIdentification",
        "pairCount",
        "recordQuality",
        "recordQualityNumeric",
        "reliability"
      ]
    },
    "WarehouseDwSingle_SingleCoordinates": {
      "type": "object",
      "properties": {
        "lat": {
          "type": "number"
        },
        "lon": {
          "type": "number"
        }
      },
      "required": [
        "lat",
        "lon"
      ]
    },
    "WarehouseDwSingle_Person": {
      "type": "object",
      "properties": {
        "fullName": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "userId": {
          "type": "string"
        }
      },
      "required": [
        "fullName",
        "id",
        "userId"
      ]
    },
    "WarehouseDwSingle_Annotation": {
      "type": "object",
      "properties": {
        "addedTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        },
        "annotationByPerson": {
          "type": "string",
          "format": "URI"
        },
        "annotationByPersonName": {
          "type": "string"
        },
        "annotationBySystem": {
          "type": "string",
          "format": "URI"
        },
        "annotationBySystemName": {
          "type": "string"
        },
        "atlasCode": {
          "type": "string",
          "format": "URI"
        },
        "byRole": {
          "type": "string",
          "format": "URI"
        },
        "created": {
          "type": "string"
        },
        "deleted": {
          "type": "boolean"
        },
        "deletedByPerson": {
          "type": "string",
          "format": "URI"
        },
        "deletedByPersonName": {
          "type": "string"
        },
        "deletedDateTime": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "identification": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Identification"
        },
        "notes": {
          "type": "string"
        },
        "occurrenceAtTimeOfAnnotation": {
          "$ref": "#/components/schemas/WarehouseDwSingle_OccurrenceAtTimeOfAnnotation"
        },
        "removedTags": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ADMIN_MARKED_SPAM",
              "ADMIN_MARKED_COARSE",
              "ADMIN_MARKED_NON_WILD",
              "EXPERT_TAG_VERIFIED",
              "EXPERT_TAG_UNCERTAIN",
              "EXPERT_TAG_ERRONEOUS",
              "COMMUNITY_TAG_VERIFIED",
              "AUTO_VALIDATIONS_PASS",
              "CHECKED_CANNOT_VERIFY",
              "CHANGED_OWNER_MANUAL",
              "CHANGED_DW_AUTO",
              "CHECK",
              "CHECK_COORDINATES",
              "CHECK_DATETIME",
              "CHECK_LOCATION",
              "CHECK_OBSERVER",
              "CHECK_TAXON",
              "CHECK_DUPLICATE",
              "CHECK_WILDNESS",
              "CHECK_NEEDS_INFO",
              "CHECK_SPAM",
              "CHECK_BREEDING_INDEX",
              "AUTO_DISTRIBUTION_CHECK",
              "AUTO_PERIOD_CHECK",
              "FORMADMIN_CENSUS_COUNT_ERROR",
              "FORMADMIN_CENSUS_INNER_COUNT_ERROR",
              "FORMADMIN_CENSUS_OTHER_ERROR",
              "FORMADMIN_VERIFIED",
              "FORMADMIN_UNCERTAIN",
              "INVASIVE_FULL",
              "INVASIVE_PARTIAL",
              "INVASIVE_NO_EFFECT",
              "INVASIVE_NOT_FOUND"
            ]
          }
        },
        "valid": {
          "type": "boolean"
        }
      },
      "required": [
        "addedTags",
        "annotationByPerson",
        "annotationByPersonName",
        "annotationBySystem",
        "annotationBySystemName",
        "atlasCode",
        "byRole",
        "created",
        "deleted",
        "deletedByPerson",
        "deletedByPersonName",
        "deletedDateTime",
        "id",
        "identification",
        "notes",
        "occurrenceAtTimeOfAnnotation",
        "removedTags",
        "valid"
      ]
    },
    "WarehouseDwSingle_Identification": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "facts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwSingle_Fact"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwSingle_IdentificationDwLinkings"
        },
        "taxon": {
          "type": "string"
        },
        "taxonID": {
          "type": "string",
          "format": "URI"
        },
        "taxonSpecifier": {
          "type": "string"
        },
        "taxonSpecifierAuthor": {
          "type": "string"
        }
      },
      "required": [
        "notes",
        "author",
        "facts",
        "id",
        "linkings",
        "taxon",
        "taxonID",
        "taxonSpecifier",
        "taxonSpecifierAuthor"
      ]
    },
    "WarehouseDwSingle_OccurrenceAtTimeOfAnnotation": {
      "type": "object",
      "properties": {
        "countryVerbatim": {
          "type": "string"
        },
        "dateBegin": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "dateEnd": {
          "type": "string",
          "format": "yyyy-MM-dd"
        },
        "linkings": {
          "$ref": "#/components/schemas/WarehouseDwSingle_IdentificationDwLinkings"
        },
        "locality": {
          "type": "string"
        },
        "municipalityVerbatim": {
          "type": "string"
        },
        "taxonId": {
          "type": "string",
          "format": "URI"
        },
        "taxonVerbatim": {
          "type": "string"
        },
        "wgs84centerPointLat": {
          "type": "number"
        },
        "wgs84centerPointLon": {
          "type": "number"
        }
      },
      "required": [
        "countryVerbatim",
        "dateBegin",
        "dateEnd",
        "linkings",
        "locality",
        "municipalityVerbatim",
        "taxonId",
        "taxonVerbatim",
        "wgs84centerPointLat",
        "wgs84centerPointLon"
      ]
    },
    "WarehouseDwSingle_IdentificationDwLinkings": {
      "type": "object",
      "properties": {
        "taxon": {
          "$ref": "#/components/schemas/WarehouseDwSingle_Taxon"
        }
      },
      "required": [
        "taxon"
      ]
    },
    "WarehouseDwSingle_RedListStatus": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "format": "URI"
        },
        "year": {
          "type": "integer"
        }
      },
      "required": [
        "status",
        "year"
      ]
    },
    "WarehouseDwSingle_HabitatObject": {
      "type": "object",
      "properties": {
        "habitat": {
          "type": "string",
          "format": "URI"
        },
        "habitatSpecificTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "id": {
          "type": "string",
          "format": "URI"
        },
        "order": {
          "type": "integer"
        }
      },
      "required": [
        "habitat",
        "habitatSpecificTypes",
        "id",
        "order"
      ]
    },
    "WarehouseDwSingle_NamedPlaceEntity": {
      "type": "object",
      "properties": {
        "alternativeId": {
          "type": "string"
        },
        "alternativeIds": {
          "type": "string"
        },
        "birdAssociationAreaDisplayName": {
          "type": "string"
        },
        "birdAssociationAreaId": {
          "type": "string"
        },
        "collectionId": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "municipalityDisplayName": {
          "type": "string"
        },
        "municipalityId": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "wgs84CenterPoint": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        },
        "ykj10km": {
          "$ref": "#/components/schemas/WarehouseDwSingle_SingleCoordinates"
        }
      },
      "required": [
        "alternativeId",
        "alternativeIds",
        "birdAssociationAreaDisplayName",
        "birdAssociationAreaId",
        "collectionId",
        "id",
        "municipalityDisplayName",
        "municipalityId",
        "name",
        "tags",
        "wgs84CenterPoint",
        "ykj10km"
      ]
    },
    "WarehouseDwQuery_Taxon": {
      "properties": {
        "id": {
          "type": "string",
          "format": "URI"
        },
        "qname": {
          "type": "string"
        },
        "checklist": {
          "type": "string",
          "format": "URI"
        },
        "scientificName": {
          "type": "string"
        },
        "scientificNameAuthorship": {
          "type": "string"
        },
        "scientificNameDisplayName": {
          "type": "string"
        },
        "cursiveName": {
          "type": "boolean"
        },
        "finnish": {
          "type": "boolean"
        },
        "taxonRank": {
          "type": "string",
          "format": "URI"
        },
        "vernacularName": {},
        "nameFinnish": {
          "type": "string"
        },
        "nameSwedish": {
          "type": "string"
        },
        "nameEnglish": {
          "type": "string"
        },
        "informalTaxonGroups": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "taxonomicOrder": {
          "type": "integer"
        },
        "latestRedListStatusFinland": {
          "$ref": "#/components/schemas/WarehouseDwQuery_RedListStatus"
        },
        "sensitive": {
          "type": "boolean"
        },
        "kingdomScientificName": {
          "type": "string"
        },
        "occurrenceCountFinland": {
          "type": "integer"
        },
        "primaryHabitat": {
          "$ref": "#/components/schemas/WarehouseDwQuery_HabitatObject"
        },
        "administrativeStatuses": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "threatenedStatus": {
          "type": "string",
          "format": "URI"
        },
        "taxonConceptIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "required": [
        "id",
        "qname",
        "checklist",
        "scientificName",
        "scientificNameAuthorship",
        "scientificNameDisplayName",
        "cursiveName",
        "finnish",
        "taxonRank",
        "vernacularName",
        "nameFinnish",
        "nameSwedish",
        "nameEnglish",
        "informalTaxonGroups",
        "taxonomicOrder",
        "latestRedListStatusFinland",
        "sensitive",
        "kingdomScientificName",
        "occurrenceCountFinland",
        "primaryHabitat",
        "administrativeStatuses",
        "threatenedStatus",
        "taxonConceptIds"
      ]
    },
    "WarehouseDwSingle_Taxon": {
      "properties": {
        "id": {
          "type": "string",
          "format": "URI"
        },
        "qname": {
          "type": "string"
        },
        "checklist": {
          "type": "string",
          "format": "URI"
        },
        "scientificName": {
          "type": "string"
        },
        "scientificNameAuthorship": {
          "type": "string"
        },
        "scientificNameDisplayName": {
          "type": "string"
        },
        "cursiveName": {
          "type": "boolean"
        },
        "finnish": {
          "type": "boolean"
        },
        "taxonRank": {
          "type": "string",
          "format": "URI"
        },
        "vernacularName": {},
        "nameFinnish": {
          "type": "string"
        },
        "nameSwedish": {
          "type": "string"
        },
        "nameEnglish": {
          "type": "string"
        },
        "informalTaxonGroups": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "taxonomicOrder": {
          "type": "integer"
        },
        "latestRedListStatusFinland": {
          "$ref": "#/components/schemas/WarehouseDwSingle_RedListStatus"
        },
        "sensitive": {
          "type": "boolean"
        },
        "kingdomScientificName": {
          "type": "string"
        },
        "occurrenceCountFinland": {
          "type": "integer"
        },
        "primaryHabitat": {
          "$ref": "#/components/schemas/WarehouseDwSingle_HabitatObject"
        },
        "administrativeStatuses": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "threatenedStatus": {
          "type": "string",
          "format": "URI"
        },
        "taxonConceptIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "required": [
        "id",
        "qname",
        "checklist",
        "scientificName",
        "scientificNameAuthorship",
        "scientificNameDisplayName",
        "cursiveName",
        "finnish",
        "taxonRank",
        "vernacularName",
        "nameFinnish",
        "nameSwedish",
        "nameEnglish",
        "informalTaxonGroups",
        "taxonomicOrder",
        "latestRedListStatusFinland",
        "sensitive",
        "kingdomScientificName",
        "occurrenceCountFinland",
        "primaryHabitat",
        "administrativeStatuses",
        "threatenedStatus",
        "taxonConceptIds"
      ]
    },
    "WarehouseDwError": {
      "properties": {
        "status": {
          "type": "integer"
        },
        "message": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "status",
        "message"
      ]
    },
    "WarehouseDwPolygonId": {
      "properties": {
        "id": {
          "type": "integer"
        }
      },
      "type": "object",
      "required": [
        "id"
      ]
    },
    "WarehouseDwTeamMember": {
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name"
      ]
    },
    "WarehouseDwTeamMembers": {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "name",
              "count"
            ]
          }
        }
      },
      "required": [
        "results"
      ]
    },
    "WarehouseDwFilter": {
      "properties": {
        "label": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": [
            "STRING",
            "ENUMERATION",
            "RESOURCE"
          ]
        },
        "resource": {
          "type": "string"
        },
        "enumerations": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwFilterEnum"
          }
        }
      },
      "type": "object",
      "description": "Map of filter name to filter definition",
      "required": [
        "type",
        "resource",
        "enumerations"
      ]
    },
    "WarehouseDwFilterEnum": {
      "properties": {
        "name": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "name"
      ]
    },
    "WarehouseDwFilters": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/WarehouseDwFilter"
      }
    },
    "WarehouseDwLocalized": {
      "type": "string"
    },
    "WarehouseDwEnumerationLabel": {
      "properties": {
        "enumeration": {
          "type": "string"
        },
        "property": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "enumeration",
        "property"
      ]
    },
    "WarehouseDwEnumerationLabels": {
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WarehouseDwEnumerationLabel"
          }
        }
      },
      "type": "object",
      "required": [
        "results"
      ]
    },
    "LajiBackendTaxonSearchResponse": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "matchingName": {
            "type": "string",
            "description": "Name that matched the search word"
          },
          "nameType": {
            "type": "string",
            "description": "Type of the name.",
            "enum": [
              "MX.scientificName",
              "MX.vernacularName",
              "MX.hasSynonym",
              "MX.hasBasionym",
              "MX.alternativeVernacularName",
              "MX.hasMisappliedName",
              "MX.birdlifeCode",
              "MX.obsoleteVernacularName",
              "MX.euringCode",
              "MX.hasSubjectiveSynonym",
              "MX.hasAlternativeName",
              "MX.hasOrthographicVariant",
              "MX.hasObjectiveSynonym",
              "MX.hasMisspelledName",
              "MX.colloquialVernacularName",
              "MX.hasUncertainSynonym",
              "MX.hasHomotypicSynonym",
              "MX.tradeName",
              "MX.hasHeterotypicSynonym"
            ]
          },
          "id": {
            "type": "string",
            "description": "Taxon identifier of the taxon that has the matching name; in the short Qname format, for example 'MX.123'"
          },
          "checklist": {
            "type": "string",
            "description": "Checklist identifier of the matching taxon; in the short Qname format, for example 'MR.1'. For taxa not part of any checklist the value is 'undefined'."
          },
          "scientificName": {
            "type": "string",
            "description": "Accepted scientific name of the taxon that has the matching name"
          },
          "scientificNameAuthorship": {
            "type": "string",
            "description": "Author of the above mentioned scientific name"
          },
          "taxonRank": {
            "type": "string",
            "description": "Taxonomic rank of the taxon that has the matching name; in the short Qname format, for example 'MX.genus'"
          },
          "cursiveName": {
            "type": "boolean",
            "description": "Should the matching name be cursived"
          },
          "finnish": {
            "type": "boolean",
            "description": "Is the taxon that has the mathing name marked as a Finnish taxon"
          },
          "species": {
            "type": "boolean",
            "description": "Is the taxon that has the mathing name species level or lower, or a higher taxon"
          },
          "vernacularName": {
            "$ref": "#/components/schemas/LajiBackendLocalizedText"
          },
          "informalGroups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Identifier of the informal taxon group that the matching taxon belongs to); in the short Qname format, for example 'MVL.1'"
                },
                "name": {
                  "$ref": "#/components/schemas/LajiBackendLocalizedText"
                }
              },
              "required": [
                "id",
                "name"
              ]
            }
          },
          "kingdomScientificName": {
            "type": "string",
            "description": "Scientific name of the kingdom that the matching taxon belongs to"
          },
          "type": {
            "type": "string",
            "description": "Type of the matching name",
            "enum": [
              "exactMatches",
              "partialMatches",
              "likelyMatches"
            ]
          }
        },
        "required": [
          "matchingName",
          "nameType",
          "id",
          "checklist",
          "scientificName",
          "scientificNameAuthorship",
          "taxonRank",
          "cursiveName",
          "finnish",
          "species",
          "vernacularName",
          "informalGroups",
          "kingdomScientificName",
          "type"
        ]
      }
    },
    "LajiBackendTaxonSearchError": {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "statusCode": {
              "type": "integer",
              "description": "HTTP Status Code"
            },
            "name": {
              "type": "string"
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "statusCode",
            "name",
            "message"
          ]
        }
      },
      "required": [
        "error"
      ]
    },
    "LajiBackendTaxon": {
      "type": "object",
      "properties": {
        "qname": {
          "type": "string",
          "description": "Qname identifier"
        },
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "uri": {
          "type": "string"
        },
        "isPartOf": {
          "type": "string",
          "description": "Qname identifier"
        },
        "isPartOfNonHidden": {
          "type": "string",
          "description": "Qname identifier"
        },
        "parents": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nonHiddenParents": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "depth": {
          "type": "integer"
        },
        "nonHiddenDepth": {
          "type": "integer"
        },
        "parentsIncludeSelf": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nonHiddenParentsIncludeSelf": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "hiddenTaxon": {
          "type": "boolean"
        },
        "nameAccordingTo": {
          "type": "string",
          "description": "Qname identifier"
        },
        "taxonRank": {
          "type": "string",
          "description": "Qname identifier"
        },
        "scientificName": {
          "type": "string"
        },
        "scientificNameAuthorship": {
          "type": "string"
        },
        "scientificNameDisplayName": {
          "type": "string"
        },
        "cursiveName": {
          "type": "boolean"
        },
        "typeSpecimenURI": {
          "type": "string"
        },
        "synonymNames": {
          "type": "string"
        },
        "basionyms": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "objectiveSynonyms": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "subjectiveSynonyms": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "homotypicSynonyms": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "heterotypicSynonyms": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "synonyms": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "misspelledNames": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "orthographicVariants": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "uncertainSynonyms": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "misappliedNames": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "alternativeNames": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
          }
        },
        "vernacularName": {
          "type": "string"
        },
        "alternativeVernacularName": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendLocalizedText"
          }
        },
        "obsoleteVernacularName": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendLocalizedText"
          }
        },
        "colloquialVernacularName": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendLocalizedText"
          }
        },
        "tradeName": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendLocalizedText"
          }
        },
        "informalTaxonGroups": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "threatenedStatus": {
          "type": "string",
          "description": "Qname identifier"
        },
        "redListEvaluationGroups": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "occurrenceInFinland": {
          "type": "string",
          "description": "Qname identifier"
        },
        "occurrenceInFinlandSpecimenURI": {
          "type": "string"
        },
        "typeOfOccurrenceInFinland": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "occurrenceInFinlandPublications": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "typeOfOccurrenceInFinlandNotes": {
          "type": "string"
        },
        "originalPublications": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "originalDescription": {
          "type": "string",
          "description": "Qname identifier"
        },
        "nameDecidedBy": {
          "type": "string",
          "description": "Qname identifier"
        },
        "nameDecidedDate": {
          "type": "string"
        },
        "administrativeStatuses": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "primaryHabitat": {
          "$ref": "#/components/schemas/LajiBackendHabitatObject"
        },
        "secondaryHabitats": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendHabitatObject"
          }
        },
        "latestRedListStatusFinland": {
          "$ref": "#/components/schemas/LajiBackendRedListStatus"
        },
        "redListStatusesInFinland": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendRedListStatus"
          }
        },
        "taxonExpert": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "taxonEditor": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "invasiveSpeciesEstablishment": {
          "type": "string",
          "description": "Qname identifier"
        },
        "multimedia": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendImage"
          }
        },
        "descriptions": {
          "$ref": "#/components/schemas/LajiBackendContent"
        },
        "secureLevel": {
          "type": "string",
          "description": "Qname identifier"
        },
        "breedingSecureLevel": {
          "type": "string",
          "description": "Qname identifier"
        },
        "winteringSecureLevel": {
          "type": "string",
          "description": "Qname identifier"
        },
        "nestSiteSecureLevel": {
          "type": "string",
          "description": "Qname identifier"
        },
        "naturaAreaSecureLevel": {
          "type": "string",
          "description": "Qname identifier"
        },
        "sensitive": {
          "type": "boolean"
        },
        "autoNonWild": {
          "type": "boolean"
        },
        "occurrences": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendOccurrence"
          }
        },
        "habitatOccurrenceCounts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendHabitatOccurrenceCount"
          }
        },
        "birdlifeCode": {
          "type": "string"
        },
        "euringCode": {
          "type": "string"
        },
        "euringNumber": {
          "type": "integer"
        },
        "customReportFormLink": {
          "type": "string"
        },
        "taxonConceptIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "additionalIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "externalLinks": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendLocalizedURL"
          }
        },
        "finnish": {
          "type": "boolean"
        },
        "species": {
          "type": "boolean"
        },
        "finnishSpecies": {
          "type": "boolean"
        },
        "invasiveSpecies": {
          "type": "boolean"
        },
        "stableInFinland": {
          "type": "boolean"
        },
        "countOfSpecies": {
          "type": "integer"
        },
        "countOfFinnishSpecies": {
          "type": "integer"
        },
        "observationCount": {
          "type": "integer"
        },
        "occurrenceCount": {
          "type": "integer"
        },
        "observationCountFinland": {
          "type": "integer"
        },
        "occurrenceCountFinland": {
          "type": "integer"
        },
        "observationCountInvasiveFinland": {
          "type": "integer"
        },
        "occurrenceCountInvasiveFinland": {
          "type": "integer"
        },
        "bold": {
          "$ref": "#/components/schemas/LajiBackendBoldRecords"
        },
        "hasBold": {
          "type": "boolean"
        },
        "isPartOfSynonym": {
          "type": "string",
          "description": "Qname identifier"
        },
        "hasParent": {
          "type": "boolean"
        },
        "hasChildren": {
          "type": "boolean"
        },
        "hasMultimedia": {
          "type": "boolean"
        },
        "hasDescriptions": {
          "type": "boolean"
        },
        "invasiveSpeciesMainGroups": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "taxonSets": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "notes": {
          "type": "string"
        },
        "taxonomicOrder": {
          "type": "integer"
        },
        "parent": {
          "type": "object",
          "properties": {
            "domain": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "kingdom": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "phylum": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "subphylum": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "division": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "class": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "subclass": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "order": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "suborder": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "superfamily": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "family": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "subfamily": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "tribe": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "subtribe": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "genus": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "subgenus": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "aggregate": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            },
            "species": {
              "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
            }
          },
          "required": [
            "domain",
            "kingdom",
            "phylum",
            "subphylum",
            "division",
            "class",
            "subclass",
            "order",
            "suborder",
            "superfamily",
            "family",
            "subfamily",
            "tribe",
            "subtribe",
            "genus",
            "subgenus",
            "aggregate",
            "species"
          ]
        },
        "synonymOf": {
          "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
        },
        "latestRedListEvaluation": {
          "$ref": "#/components/schemas/LajiBackendEvaluation"
        },
        "hasLatestRedListEvaluation": {
          "type": "boolean"
        },
        "primaryHabitatSearchStrings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "anyHabitatSearchStrings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "vernacularNameMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "$ref": "#/components/schemas/LajiBackendLocalizedText"
            },
            "sv": {
              "$ref": "#/components/schemas/LajiBackendLocalizedText"
            },
            "en": {
              "$ref": "#/components/schemas/LajiBackendLocalizedText"
            }
          },
          "_patchMultiLang": false,
          "required": [
            "fi",
            "sv",
            "en"
          ]
        },
        "alternativeVernacularNameMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            },
            "sv": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            },
            "en": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            }
          },
          "_patchMultiLang": false,
          "required": [
            "fi",
            "sv",
            "en"
          ]
        },
        "colloquialVernacularNameMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            },
            "sv": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            },
            "en": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            }
          },
          "_patchMultiLang": false,
          "required": [
            "fi",
            "sv",
            "en"
          ]
        },
        "obsoleteVernacularNameMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            },
            "sv": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            },
            "en": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            }
          },
          "_patchMultiLang": false,
          "required": [
            "fi",
            "sv",
            "en"
          ]
        },
        "tradeNameMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            },
            "sv": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            },
            "en": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            }
          },
          "_patchMultiLang": false,
          "required": [
            "fi",
            "sv",
            "en"
          ]
        }
      },
      "required": [
        "qname",
        "id",
        "uri",
        "isPartOf",
        "isPartOfNonHidden",
        "parents",
        "nonHiddenParents",
        "depth",
        "nonHiddenDepth",
        "parentsIncludeSelf",
        "nonHiddenParentsIncludeSelf",
        "hiddenTaxon",
        "nameAccordingTo",
        "taxonRank",
        "scientificName",
        "scientificNameAuthorship",
        "scientificNameDisplayName",
        "cursiveName",
        "typeSpecimenURI",
        "synonymNames",
        "basionyms",
        "objectiveSynonyms",
        "subjectiveSynonyms",
        "homotypicSynonyms",
        "heterotypicSynonyms",
        "synonyms",
        "misspelledNames",
        "orthographicVariants",
        "uncertainSynonyms",
        "misappliedNames",
        "alternativeNames",
        "alternativeVernacularName",
        "obsoleteVernacularName",
        "colloquialVernacularName",
        "tradeName",
        "informalTaxonGroups",
        "threatenedStatus",
        "redListEvaluationGroups",
        "occurrenceInFinland",
        "occurrenceInFinlandSpecimenURI",
        "typeOfOccurrenceInFinland",
        "occurrenceInFinlandPublications",
        "typeOfOccurrenceInFinlandNotes",
        "originalPublications",
        "originalDescription",
        "nameDecidedBy",
        "nameDecidedDate",
        "administrativeStatuses",
        "primaryHabitat",
        "secondaryHabitats",
        "latestRedListStatusFinland",
        "redListStatusesInFinland",
        "taxonExpert",
        "taxonEditor",
        "invasiveSpeciesEstablishment",
        "multimedia",
        "descriptions",
        "secureLevel",
        "breedingSecureLevel",
        "winteringSecureLevel",
        "nestSiteSecureLevel",
        "naturaAreaSecureLevel",
        "sensitive",
        "autoNonWild",
        "occurrences",
        "habitatOccurrenceCounts",
        "birdlifeCode",
        "euringCode",
        "euringNumber",
        "customReportFormLink",
        "taxonConceptIds",
        "additionalIds",
        "externalLinks",
        "finnish",
        "species",
        "finnishSpecies",
        "invasiveSpecies",
        "stableInFinland",
        "countOfSpecies",
        "countOfFinnishSpecies",
        "observationCount",
        "occurrenceCount",
        "observationCountFinland",
        "occurrenceCountFinland",
        "observationCountInvasiveFinland",
        "occurrenceCountInvasiveFinland",
        "bold",
        "hasBold",
        "isPartOfSynonym",
        "hasParent",
        "hasChildren",
        "hasMultimedia",
        "hasDescriptions",
        "invasiveSpeciesMainGroups",
        "taxonSets",
        "notes",
        "taxonomicOrder",
        "parent",
        "synonymOf",
        "latestRedListEvaluation",
        "hasLatestRedListEvaluation",
        "primaryHabitatSearchStrings",
        "anyHabitatSearchStrings",
        "vernacularNameMultiLang",
        "alternativeVernacularNameMultiLang",
        "colloquialVernacularNameMultiLang",
        "obsoleteVernacularNameMultiLang",
        "tradeNameMultiLang"
      ]
    },
    "LajiBackendSimpleTaxon": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "scientificName": {
          "type": "string"
        },
        "scientificNameAuthorship": {
          "type": "string"
        },
        "vernacularName": {
          "type": "string"
        },
        "taxonRank": {
          "type": "string"
        },
        "cursiveName": {
          "type": "boolean"
        },
        "notes": {
          "type": "string"
        },
        "bold": {
          "$ref": "#/components/schemas/LajiBackendBoldRecords"
        },
        "hasBold": {
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "scientificName",
        "scientificNameAuthorship",
        "taxonRank",
        "cursiveName",
        "notes",
        "bold",
        "hasBold"
      ]
    },
    "LajiBackendLocalizedText": {
      "type": "string"
    },
    "LajiBackendLocalizedURL": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string"
        },
        "uri": {
          "type": "string"
        }
      },
      "required": [
        "locale",
        "uri"
      ]
    },
    "LajiBackendRedListStatus": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "description": "Qname identifier"
        },
        "year": {
          "type": "integer"
        }
      },
      "required": [
        "status",
        "year"
      ]
    },
    "LajiBackendHabitatObject": {
      "type": "object",
      "properties": {
        "habitat": {
          "type": "string",
          "description": "Qname identifier"
        },
        "habitatSpecificTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "order": {
          "type": "integer"
        }
      },
      "required": [
        "habitat",
        "habitatSpecificTypes",
        "id",
        "order"
      ]
    },
    "LajiBackendOccurrence": {
      "type": "object",
      "properties": {
        "area": {
          "type": "string",
          "description": "Qname identifier"
        },
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "notes": {
          "type": "string"
        },
        "occurrenceCount": {
          "type": "integer"
        },
        "specimenURI": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "description": "Qname identifier"
        },
        "threatened": {
          "type": "boolean"
        },
        "year": {
          "type": "integer"
        }
      },
      "required": [
        "area",
        "id",
        "notes",
        "occurrenceCount",
        "specimenURI",
        "status",
        "threatened",
        "year"
      ]
    },
    "LajiBackendHabitatOccurrenceCount": {
      "type": "object",
      "properties": {
        "habitat": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "occurrenceCount": {
          "type": "integer"
        }
      },
      "required": [
        "id",
        "occurrenceCount"
      ]
    },
    "LajiBackendImage": {
      "type": "object",
      "properties": {
        "author": {
          "type": "string"
        },
        "caption": {
          "type": "string"
        },
        "captureDateTime": {
          "type": "string"
        },
        "copyrightOwner": {
          "type": "string"
        },
        "fullURL": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "largeURL": {
          "type": "string"
        },
        "licenseAbbreviation": {
          "type": "string"
        },
        "licenseFullname": {
          "type": "string"
        },
        "licenseId": {
          "type": "string",
          "description": "Qname identifier"
        },
        "lifeStage": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "plantLifeStage": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sex": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "side": {
          "type": "string",
          "description": "Qname identifier"
        },
        "sortOrder": {
          "type": "integer"
        },
        "source": {
          "type": "string",
          "description": "Qname identifier"
        },
        "squareThumbnailURL": {
          "type": "string"
        },
        "taxon": {
          "$ref": "#/components/schemas/LajiBackendSimpleTaxon"
        },
        "taxonDescriptionCaption": {
          "$ref": "#/components/schemas/LajiBackendLocalizedText"
        },
        "thumbnailURL": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "Qname identifier"
        },
        "uploadDateTime": {
          "type": "string"
        },
        "primaryForTaxon": {
          "type": "boolean"
        }
      },
      "required": [
        "author",
        "caption",
        "captureDateTime",
        "copyrightOwner",
        "fullURL",
        "id",
        "keywords",
        "largeURL",
        "licenseAbbreviation",
        "licenseId",
        "lifeStage",
        "plantLifeStage",
        "sex",
        "side",
        "sortOrder",
        "source",
        "squareThumbnailURL",
        "taxon",
        "taxonDescriptionCaption",
        "thumbnailURL",
        "type",
        "uploadDateTime",
        "primaryForTaxon"
      ]
    },
    "LajiBackendBoldRecords": {
      "type": "object",
      "properties": {
        "barcodes": {
          "type": "integer"
        },
        "binCount": {
          "type": "integer"
        },
        "bins": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "publicRecords": {
          "type": "integer"
        },
        "specimens": {
          "type": "integer"
        }
      },
      "required": [
        "barcodes",
        "binCount",
        "bins",
        "publicRecords",
        "specimens"
      ]
    },
    "LajiBackendEvaluation": {
      "type": "object",
      "properties": {
        "evaluationYear": {
          "type": "integer"
        },
        "redListStatus": {
          "type": "string",
          "enum": [
            "MX.iucnEX",
            "MX.iucnEW",
            "MX.iucnRE",
            "MX.iucnCR",
            "MX.iucnEN",
            "MX.iucnVU",
            "MX.iucnNT",
            "MX.iucnLC",
            "MX.iucnDD",
            "MX.iucnNA",
            "MX.iucnNE"
          ],
          "x-enum-origin": "MX.iucnStatuses"
        },
        "externalPopulationImpactOnRedListStatus": {
          "type": "string",
          "enum": [
            "MKV.externalPopulationImpactOnRedListStatusEnumMinus1",
            "MKV.externalPopulationImpactOnRedListStatusEnumMinus2",
            "MKV.externalPopulationImpactOnRedListStatusEnumPlus1",
            "MKV.externalPopulationImpactOnRedListStatusEnumPlus2"
          ],
          "x-enum-origin": "MKV.externalPopulationImpactOnRedListStatusEnum"
        },
        "criteriaForStatus": {
          "type": "string"
        },
        "possiblyRE": {
          "type": "string",
          "enum": [
            "MX.iucnRE",
            "MX.iucnEW",
            "MX.iucnEX"
          ],
          "x-enum-origin": "MKV.possiblyREEnum"
        },
        "reasonForStatusChange": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "MKV.reasonForStatusChangeGenuine",
              "MKV.reasonForStatusChangeGenuineBeforePreviousEvaluation",
              "MKV.reasonForStatusChangeChangesInCriteria",
              "MKV.reasonForStatusChangeMoreInformation",
              "MKV.reasonForStatusChangeChangesInTaxonomy",
              "MKV.reasonForStatusChangeError",
              "MKV.reasonForStatusChangeErroneousInformation",
              "MKV.reasonForStatusChangeOther"
            ],
            "x-enum-origin": "MKV.reasonForStatusChangeEnum"
          }
        },
        "lastSightingNotes": {
          "type": "string"
        },
        "primaryHabitat": {
          "$ref": "#/components/schemas/LajiBackendHabitatObject"
        },
        "secondaryHabitats": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendHabitatObject"
          }
        },
        "primaryHabitatSearchStrings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "anyHabitatSearchStrings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "endangermentReasons": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "primaryEndangermentReason": {
          "type": "string"
        },
        "threats": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "primaryThreat": {
          "type": "string"
        },
        "occurrences": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendOccurrence"
          }
        },
        "threatenedAtArea": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "calculatedRedListIndex": {
          "type": "integer"
        },
        "calculatedCorrectedRedListIndex": {
          "type": "integer"
        },
        "correctedStatusForRedListIndex": {
          "type": "string"
        }
      },
      "required": [
        "evaluationYear",
        "redListStatus",
        "externalPopulationImpactOnRedListStatus",
        "criteriaForStatus",
        "possiblyRE",
        "reasonForStatusChange",
        "lastSightingNotes",
        "primaryHabitat",
        "secondaryHabitats",
        "primaryHabitatSearchStrings",
        "anyHabitatSearchStrings",
        "endangermentReasons",
        "primaryEndangermentReason",
        "threats",
        "primaryThreat",
        "occurrences",
        "threatenedAtArea",
        "calculatedRedListIndex",
        "calculatedCorrectedRedListIndex",
        "correctedStatusForRedListIndex"
      ]
    },
    "LajiBackendContent": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LajiBackendContext"
      }
    },
    "LajiBackendContext": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "group": {
                "type": "string"
              },
              "title": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              },
              "variables": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "variable": {
                      "type": "string"
                    },
                    "title": {
                      "$ref": "#/components/schemas/LajiBackendLocalizedText"
                    },
                    "content": {
                      "$ref": "#/components/schemas/LajiBackendLocalizedText"
                    }
                  },
                  "required": [
                    "variable",
                    "title",
                    "content"
                  ]
                }
              }
            },
            "required": [
              "group",
              "title",
              "variables"
            ]
          }
        },
        "speciesCardAuthors": {
          "type": "object",
          "properties": {
            "variable": {
              "type": "string"
            },
            "title": {
              "$ref": "#/components/schemas/LajiBackendLocalizedText"
            },
            "content": {
              "$ref": "#/components/schemas/LajiBackendLocalizedText"
            }
          },
          "required": [
            "variable",
            "title",
            "content"
          ]
        }
      },
      "required": [
        "id",
        "groups",
        "speciesCardAuthors"
      ]
    },
    "LajiBackendTraitAPIError": {
      "type": "object",
      "properties": {
        "status": {
          "type": "integer",
          "description": "HTTP Status Code"
        },
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "stacktrace": {
          "type": "string",
          "description": "Stacktrace"
        }
      },
      "required": [
        "status",
        "message",
        "stacktrace"
      ]
    },
    "LajiBackendTraitAPIOKResponse": {
      "type": "object",
      "properties": {
        "ok": {
          "type": "string",
          "description": "ok"
        }
      },
      "required": [
        "ok"
      ]
    },
    "LajiBackendTraitAPISearchResponse": {
      "type": "object",
      "properties": {
        "currentPage": {
          "type": "integer"
        },
        "nextPage": {
          "type": "integer"
        },
        "lastPage": {
          "type": "integer"
        },
        "pageSize": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendTraitSearchRow"
          }
        },
        "errors": {
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": [
        "currentPage",
        "nextPage",
        "lastPage",
        "pageSize",
        "total",
        "results",
        "errors"
      ]
    },
    "LajiBackendValidationResponse": {
      "type": "object",
      "properties": {
        "pass": {
          "type": "boolean"
        },
        "errors": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": [
        "pass",
        "errors"
      ]
    },
    "LajiBackendTraitTSVValidationResponse": {
      "type": "object",
      "properties": {
        "pass": {
          "type": "boolean"
        },
        "header": {
          "$ref": "#/components/schemas/LajiBackendValidationResponse"
        },
        "rows": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendValidationResponse"
          }
        }
      },
      "required": [
        "pass",
        "header",
        "rows"
      ]
    },
    "LajiBackendTraitMultiValidationResponse": {
      "type": "object",
      "properties": {
        "pass": {
          "type": "boolean"
        },
        "rows": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendValidationResponse"
          }
        }
      },
      "required": [
        "pass",
        "rows"
      ]
    },
    "LajiBackendTraitGroup": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "description"
      ]
    },
    "LajiBackendTrait": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "group": {
          "type": "string",
          "description": "Qname identifier"
        },
        "dataEntryName": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "exampleValues": {
          "type": "string"
        },
        "baseUnit": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.umNM",
            "TDF.umUM",
            "TDF.umMM",
            "TDF.umCM",
            "TDF.umM",
            "TDF.umKM",
            "TDF.umG",
            "TDF.umKG",
            "TDF.umA",
            "TDF.umS",
            "TDF.umML",
            "TDF.umL",
            "TDF.umMOL",
            "TDF.umMMOL",
            "TDF.umUMOL",
            "TDF.umHZ",
            "TDF.umP",
            "TDF.umPPT",
            "TDF.umPPM",
            "TDF.umC",
            "TDF.umMM2",
            "TDF.umCM2",
            "TDF.umM2",
            "TDF.umARE",
            "TDF.umHA",
            "TDF.umKM2",
            "TDF.umMM3",
            "TDF.umCM3",
            "TDF.umM3",
            "TDF.umGMOL",
            "TDF.umMOLL",
            "TDF.umCM2H"
          ],
          "x-enum-origin": "TDF.unitOfMeasurementEnum"
        },
        "range": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "xsd:string",
            "xsd:decimal",
            "xsd:integer",
            "xsd:positiveInteger",
            "xsd:nonNegativeInteger",
            "xsd:boolean",
            "MX.taxon"
          ],
          "x-enum-origin": "TDF.rangeEnum"
        },
        "enumerations": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendTraitEnumerationValue"
          }
        },
        "reference": {
          "type": "string"
        },
        "identifiers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "id",
        "group",
        "dataEntryName",
        "name",
        "description",
        "range"
      ]
    },
    "LajiBackendTraitEnumerationValue": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "dataEntryName": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "dataEntryName",
        "name",
        "description"
      ]
    },
    "LajiBackendUnitOfMeasurement": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "unit": {
          "type": "string"
        },
        "base": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.umNM",
            "TDF.umUM",
            "TDF.umMM",
            "TDF.umCM",
            "TDF.umM",
            "TDF.umKM",
            "TDF.umG",
            "TDF.umKG",
            "TDF.umA",
            "TDF.umS",
            "TDF.umML",
            "TDF.umL",
            "TDF.umMOL",
            "TDF.umMMOL",
            "TDF.umUMOL",
            "TDF.umHZ",
            "TDF.umP",
            "TDF.umPPT",
            "TDF.umPPM",
            "TDF.umC",
            "TDF.umMM2",
            "TDF.umCM2",
            "TDF.umM2",
            "TDF.umARE",
            "TDF.umHA",
            "TDF.umKM2",
            "TDF.umMM3",
            "TDF.umCM3",
            "TDF.umM3",
            "TDF.umGMOL",
            "TDF.umMOLL",
            "TDF.umCM2H"
          ],
          "x-enum-origin": "TDF.unitOfMeasurementEnum"
        },
        "conversionFactor": {
          "type": "number"
        },
        "isBaseUnit": {
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "unit",
        "base",
        "conversionFactor",
        "isBaseUnit"
      ]
    },
    "LajiBackendDataset": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "citation": {
          "type": "string"
        },
        "intellectualOwner": {
          "type": "string"
        },
        "personResponsible": {
          "type": "string"
        },
        "contactEmail": {
          "type": "string"
        },
        "institutionCode": {
          "type": "string"
        },
        "methods": {
          "type": "string"
        },
        "taxonomicCoverage": {
          "type": "string"
        },
        "temporalCoverage": {
          "type": "string"
        },
        "geographicCoverage": {
          "type": "string"
        },
        "coverageBasis": {
          "type": "string"
        },
        "doi": {
          "type": "string"
        },
        "gbifDoi": {
          "type": "string"
        },
        "additionalIdentifier": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "published": {
          "type": "boolean"
        },
        "shareToFinBIF": {
          "type": "boolean"
        },
        "shareToGBIF": {
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "name",
        "description",
        "citation",
        "intellectualOwner",
        "personResponsible",
        "contactEmail",
        "methods",
        "taxonomicCoverage",
        "temporalCoverage",
        "geographicCoverage",
        "coverageBasis",
        "published",
        "shareToFinBIF",
        "shareToGBIF"
      ]
    },
    "LajiBackendDatasetPermissions": {
      "type": "object",
      "properties": {
        "datasetId": {
          "type": "string",
          "description": "Qname identifier"
        },
        "userIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "datasetId"
      ]
    },
    "LajiBackendInputRow": {
      "type": "object",
      "properties": {
        "subject": {
          "$ref": "#/components/schemas/LajiBackendSubject"
        },
        "traits": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LajiBackendTraitValue"
          }
        }
      },
      "required": [
        "subject"
      ]
    },
    "LajiBackendSubject": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "datasetId": {
          "type": "string",
          "description": "Qname identifier"
        },
        "type": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.typeIndividual",
            "TDF.typePopulationGroup",
            "TDF.typeTaxon"
          ],
          "x-enum-origin": "TDF.typeEnum"
        },
        "basisOfRecord": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.recordBasisPreservedSpecimen",
            "MY.recordBasisHumanObservation",
            "MY.recordBasisHumanObservationSeen",
            "MY.recordBasisHumanObservationHeard",
            "MY.recordBasisHumanObservationHandled",
            "MY.recordBasisHumanObservationPhoto",
            "MY.recordBasisHumanObservationAudio",
            "MY.recordBasisHumanObservationVideo",
            "MY.recordBasisHumanObservationIndirect",
            "MY.recordBasisMachineObservation",
            "MY.recordBasisMachineObservationPhoto",
            "MY.recordBasisMachineObservationVideo",
            "MY.recordBasisMachineObservationAudio",
            "MY.recordBasisMachineObservationGeologger",
            "MY.recordBasisMachineObservationSatelliteTransmitter",
            "MY.recordBasisFossilSpecimen",
            "MY.recordBasisSubfossilSpecimen",
            "MY.recordBasisSubfossilSpecimenAmberInclusion",
            "MY.recordBasisMaterialSample",
            "MY.recordBasisMaterialSampleAir",
            "MY.recordBasisMaterialSampleSoil",
            "MY.recordBasisMaterialSampleWater",
            "MY.recordBasisMicrobialSpecimen",
            "MY.recordBasisLivingSpecimen",
            "MY.recordBasisLiterature"
          ],
          "x-enum-origin": "MY.recordBases"
        },
        "finbifOccurrenceId": {
          "type": "string",
          "description": "Qname identifier"
        },
        "gbifOccurrenceId": {
          "type": "string"
        },
        "otherOccurrenceId": {
          "type": "string"
        },
        "kingdom": {
          "type": "string"
        },
        "scientificName": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "functionalGroupName": {
          "type": "string"
        },
        "taxonId": {
          "type": "string",
          "description": "Qname identifier"
        },
        "gbifTaxonId": {
          "type": "integer"
        },
        "otherTaxonId": {
          "type": "string"
        },
        "sex": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.sexM",
            "MY.sexF",
            "MY.sexW",
            "MY.sexU",
            "MY.sexN",
            "MY.sexX",
            "MY.sexE",
            "MY.sexC"
          ],
          "x-enum-origin": "MY.sexes"
        },
        "lifeStage": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.lifeStageAdult",
            "MY.lifeStageNymph",
            "MY.lifeStageLarva",
            "MY.lifeStageEgg",
            "MY.lifeStagePupa",
            "MY.lifeStageJuvenile",
            "MY.lifeStageSubimago",
            "MY.lifeStageImmature",
            "MY.lifeStageFertile",
            "MY.lifeStageSterile",
            "MY.lifeStageTadpole",
            "MY.lifeStageEmbryo",
            "MY.lifeStageSubadult",
            "MY.lifeStageMature",
            "MY.lifeStagePullus",
            "MY.lifeStageHatchedEgg",
            "MY.lifeStageHatchedPupa",
            "MY.lifeStageGall",
            "MY.lifeStageMarks",
            "MY.lifeStageTriungulin",
            "MY.lifeStageExuvia"
          ],
          "x-enum-origin": "MY.lifeStages"
        },
        "ageYears": {
          "type": "number"
        },
        "individualCount": {
          "type": "integer"
        },
        "dateBegin": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        },
        "dateEnd": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        },
        "yearBegin": {
          "type": "integer"
        },
        "yearEnd": {
          "type": "integer"
        },
        "seasonBegin": {
          "type": "integer"
        },
        "seasonEnd": {
          "type": "integer"
        },
        "lat": {
          "type": "number"
        },
        "lon": {
          "type": "number"
        },
        "latMin": {
          "type": "number"
        },
        "latMax": {
          "type": "number"
        },
        "lonMin": {
          "type": "number"
        },
        "lonMax": {
          "type": "number"
        },
        "coordinateAccuracy": {
          "type": "integer"
        },
        "elevation": {
          "type": "integer"
        },
        "higherGeography": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "municipality": {
          "type": "string"
        },
        "locality": {
          "type": "string"
        },
        "locationIdentifiers": {
          "type": "string"
        },
        "habitat": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.habitatEnumValue1",
            "MY.habitatEnumValue2",
            "MY.habitatEnumValue3",
            "MY.habitatEnumValue4",
            "MY.habitatEnumValue5",
            "MY.habitatEnumValue6",
            "MY.habitatEnumValue7",
            "MY.habitatEnumValue8",
            "MY.habitatEnumValue9",
            "MY.habitatEnumValue10",
            "MY.habitatEnumValue11",
            "MY.habitatEnumValue12",
            "MY.habitatEnumValue13",
            "MY.habitatEnumValue14",
            "MY.habitatEnumValue15",
            "MY.habitatEnumValue16",
            "MY.habitatEnumValue17",
            "MY.habitatEnumValue18",
            "MY.habitatEnumValue19",
            "MY.habitatEnumValue20",
            "MY.habitatEnumValue21",
            "MY.habitatEnumValue22",
            "MY.habitatEnumValue23",
            "MY.habitatEnumValue24",
            "MY.habitatEnumValue25",
            "MY.habitatEnumValue26",
            "MY.habitatEnumValue27",
            "MY.habitatEnumValue28",
            "MY.habitatEnumValue29",
            "MY.habitatEnumValue30",
            "MY.habitatEnumValue31",
            "MY.habitatEnumValue32",
            "MY.habitatEnumValue33",
            "MY.habitatEnumValue34",
            "MY.habitatEnumValue35",
            "MY.habitatEnumValue36",
            "MY.habitatEnumValue87",
            "MY.habitatEnumValue40",
            "MY.habitatEnumValue41",
            "MY.habitatEnumValue42",
            "MY.habitatEnumValue43",
            "MY.habitatEnumValue44",
            "MY.habitatEnumValue45",
            "MY.habitatEnumValue46",
            "MY.habitatEnumValue47",
            "MY.habitatEnumValue48",
            "MY.habitatEnumValue49",
            "MY.habitatEnumValue50",
            "MY.habitatEnumValue51",
            "MY.habitatEnumValue52",
            "MY.habitatEnumValue53",
            "MY.habitatEnumValue54",
            "MY.habitatEnumValue56",
            "MY.habitatEnumValue57",
            "MY.habitatEnumValue58",
            "MY.habitatEnumValue59",
            "MY.habitatEnumValue60",
            "MY.habitatEnumValue61",
            "MY.habitatEnumValue62",
            "MY.habitatEnumValue64",
            "MY.habitatEnumValue66",
            "MY.habitatEnumValue67",
            "MY.habitatEnumValue68",
            "MY.habitatEnumValue69",
            "MY.habitatEnumValue70",
            "MY.habitatEnumValue71",
            "MY.habitatEnumValue72",
            "MY.habitatEnumValue73",
            "MY.habitatEnumValue74",
            "MY.habitatEnumValue76",
            "MY.habitatEnumValue77",
            "MY.habitatEnumValue78",
            "MY.habitatEnumValue79",
            "MY.habitatEnumValue80",
            "MY.habitatEnumValue81",
            "MY.habitatEnumValue82",
            "MY.habitatEnumValue83",
            "MY.habitatEnumValue84",
            "MY.habitatEnumValue85",
            "MY.habitatEnumValue86",
            "MY.habitatEnumValue88",
            "MY.habitatEnumValue89",
            "MY.habitatEnumValue90",
            "MY.habitatEnumValue91",
            "MY.habitatEnumValue92",
            "MY.habitatEnumValue93",
            "MY.habitatEnumValue94",
            "MY.habitatEnumValue95",
            "MY.habitatEnumValue96",
            "MY.habitatEnumValue97",
            "MY.habitatEnumValue98",
            "MY.habitatEnumValue99",
            "MY.habitatEnumValue100",
            "MY.habitatEnumValue101",
            "MY.habitatEnumValue102",
            "MY.habitatEnumValue103",
            "MY.habitatEnumValue104",
            "MY.habitatEnumValue105",
            "MY.habitatEnumValue106",
            "MY.habitatEnumValue107",
            "MY.habitatEnumValue108",
            "MY.habitatEnumValue109",
            "MY.habitatEnumValue110",
            "MY.habitatEnumValue111",
            "MY.habitatEnumValue112",
            "MY.habitatEnumValue113",
            "MY.habitatEnumValue114",
            "MY.habitatEnumValue115",
            "MY.habitatEnumValue116",
            "MY.habitatEnumValue117",
            "MY.habitatEnumValue118",
            "MY.habitatEnumValue119",
            "MY.habitatEnumValue120",
            "MY.habitatEnumValue121",
            "MY.habitatEnumValue122",
            "MY.habitatEnumValue123",
            "MY.habitatEnumValue124",
            "MY.habitatEnumValue125",
            "MY.habitatEnumValue126",
            "MY.habitatEnumValue127",
            "MY.habitatEnumValue128",
            "MY.habitatEnumValue129",
            "MY.habitatEnumValue130",
            "MY.habitatEnumValue131",
            "MY.habitatEnumValue132",
            "MY.habitatEnumValue133",
            "MY.habitatEnumValue134",
            "MY.habitatEnumValue135",
            "MY.habitatEnumValue136",
            "MY.habitatEnumValue137",
            "MY.habitatEnumValue138",
            "MY.habitatEnumValue139",
            "MY.habitatEnumValue140",
            "MY.habitatEnumValue141",
            "MY.habitatEnumValue142",
            "MY.habitatEnumValue143",
            "MY.habitatEnumValue144",
            "MY.habitatEnumValue145",
            "MY.habitatEnumValue147",
            "MY.habitatEnumValue148",
            "MY.habitatEnumValue149",
            "MY.habitatEnumValue150",
            "MY.habitatEnumValue151",
            "MY.habitatEnumValue152",
            "MY.habitatEnumValue153",
            "MY.habitatEnumValue154",
            "MY.habitatEnumValue155",
            "MY.habitatEnumValue156",
            "MY.habitatEnumValue157",
            "MY.habitatEnumValue158",
            "MY.habitatEnumValue159",
            "MY.habitatEnumValue160",
            "MY.habitatEnumValue161",
            "MY.habitatEnumValue162",
            "MY.habitatEnumValue163",
            "MY.habitatEnumValue164",
            "MY.habitatEnumValue165",
            "MY.habitatEnumValue166",
            "MY.habitatEnumValue167",
            "MY.habitatEnumValue168",
            "MY.habitatEnumValue169",
            "MY.habitatEnumValue170"
          ],
          "x-enum-origin": "MY.habitatEnum"
        },
        "occurrenceRemarks": {
          "type": "string"
        },
        "measurementDeterminedBy": {
          "type": "string"
        },
        "measurementDeterminedDate": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        },
        "created": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        },
        "modified": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        },
        "createdBy": {
          "type": "string"
        },
        "modifiedBy": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "datasetId",
        "type",
        "createdBy"
      ]
    },
    "LajiBackendTraitValue": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "traitId": {
          "type": "string",
          "description": "Qname identifier"
        },
        "value": {
          "type": "string"
        },
        "unit": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.umNM",
            "TDF.umUM",
            "TDF.umMM",
            "TDF.umCM",
            "TDF.umM",
            "TDF.umKM",
            "TDF.umG",
            "TDF.umKG",
            "TDF.umA",
            "TDF.umS",
            "TDF.umML",
            "TDF.umL",
            "TDF.umMOL",
            "TDF.umMMOL",
            "TDF.umUMOL",
            "TDF.umHZ",
            "TDF.umP",
            "TDF.umPPT",
            "TDF.umPPM",
            "TDF.umC",
            "TDF.umMM2",
            "TDF.umCM2",
            "TDF.umM2",
            "TDF.umARE",
            "TDF.umHA",
            "TDF.umKM2",
            "TDF.umMM3",
            "TDF.umCM3",
            "TDF.umM3",
            "TDF.umGMOL",
            "TDF.umMOLL",
            "TDF.umCM2H"
          ],
          "x-enum-origin": "TDF.unitOfMeasurementEnum"
        },
        "statisticalMethod": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.statisticalMethodMin",
            "TDF.statisticalMethodMax",
            "TDF.statisticalMethodAvg",
            "TDF.statisticalMethodMedian",
            "TDF.statisticalMethodSD",
            "TDF.statisticalMethodMode"
          ],
          "x-enum-origin": "TDF.statisticalMethodEnum"
        },
        "measurementAccuracy": {
          "type": "number"
        },
        "objectTaxonLifeStage": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.lifeStageAdult",
            "MY.lifeStageNymph",
            "MY.lifeStageLarva",
            "MY.lifeStageEgg",
            "MY.lifeStagePupa",
            "MY.lifeStageJuvenile",
            "MY.lifeStageSubimago",
            "MY.lifeStageImmature",
            "MY.lifeStageFertile",
            "MY.lifeStageSterile",
            "MY.lifeStageTadpole",
            "MY.lifeStageEmbryo",
            "MY.lifeStageSubadult",
            "MY.lifeStageMature",
            "MY.lifeStagePullus",
            "MY.lifeStageHatchedEgg",
            "MY.lifeStageHatchedPupa",
            "MY.lifeStageGall",
            "MY.lifeStageMarks",
            "MY.lifeStageTriungulin",
            "MY.lifeStageExuvia"
          ],
          "x-enum-origin": "MY.lifeStages"
        },
        "warnings": {
          "type": "boolean"
        },
        "measurementRemarks": {
          "type": "string"
        },
        "reference": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "traitId",
        "value"
      ]
    },
    "LajiBackendTraitSearchRow": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "subject": {
          "$ref": "#/components/schemas/LajiBackendTraitSearchSubject"
        },
        "year": {
          "type": "integer"
        },
        "month": {
          "type": "integer"
        },
        "day": {
          "type": "integer"
        },
        "eventDate": {
          "type": "string"
        },
        "geodeticDatum": {
          "type": "string"
        },
        "trait": {
          "$ref": "#/components/schemas/LajiBackendTraitSearchTrait"
        },
        "traitGroup": {
          "$ref": "#/components/schemas/LajiBackendTraitSearchTraitGroup"
        },
        "statisticalMethod": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.statisticalMethodMin",
            "TDF.statisticalMethodMax",
            "TDF.statisticalMethodAvg",
            "TDF.statisticalMethodMedian",
            "TDF.statisticalMethodSD",
            "TDF.statisticalMethodMode"
          ],
          "x-enum-origin": "TDF.statisticalMethodEnum"
        },
        "value": {
          "type": "string"
        },
        "valueNumeric": {
          "type": "number"
        },
        "unit": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.umNM",
            "TDF.umUM",
            "TDF.umMM",
            "TDF.umCM",
            "TDF.umM",
            "TDF.umKM",
            "TDF.umG",
            "TDF.umKG",
            "TDF.umA",
            "TDF.umS",
            "TDF.umML",
            "TDF.umL",
            "TDF.umMOL",
            "TDF.umMMOL",
            "TDF.umUMOL",
            "TDF.umHZ",
            "TDF.umP",
            "TDF.umPPT",
            "TDF.umPPM",
            "TDF.umC",
            "TDF.umMM2",
            "TDF.umCM2",
            "TDF.umM2",
            "TDF.umARE",
            "TDF.umHA",
            "TDF.umKM2",
            "TDF.umMM3",
            "TDF.umCM3",
            "TDF.umM3",
            "TDF.umGMOL",
            "TDF.umMOLL",
            "TDF.umCM2H"
          ],
          "x-enum-origin": "TDF.unitOfMeasurementEnum"
        },
        "measurementAccuracy": {
          "type": "number"
        },
        "originalValue": {
          "type": "string"
        },
        "originalValueNumeric": {
          "type": "number"
        },
        "originalUnit": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.umNM",
            "TDF.umUM",
            "TDF.umMM",
            "TDF.umCM",
            "TDF.umM",
            "TDF.umKM",
            "TDF.umG",
            "TDF.umKG",
            "TDF.umA",
            "TDF.umS",
            "TDF.umML",
            "TDF.umL",
            "TDF.umMOL",
            "TDF.umMMOL",
            "TDF.umUMOL",
            "TDF.umHZ",
            "TDF.umP",
            "TDF.umPPT",
            "TDF.umPPM",
            "TDF.umC",
            "TDF.umMM2",
            "TDF.umCM2",
            "TDF.umM2",
            "TDF.umARE",
            "TDF.umHA",
            "TDF.umKM2",
            "TDF.umMM3",
            "TDF.umCM3",
            "TDF.umM3",
            "TDF.umGMOL",
            "TDF.umMOLL",
            "TDF.umCM2H"
          ],
          "x-enum-origin": "TDF.unitOfMeasurementEnum"
        },
        "originalMeasurementAccuracy": {
          "type": "number"
        },
        "subjectFinBIFTaxon": {
          "$ref": "#/components/schemas/LajiBackendTraitTaxon"
        },
        "subjectGBIFTaxon": {
          "$ref": "#/components/schemas/LajiBackendTraitTaxon"
        },
        "objectTaxonLifeStage": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.lifeStageAdult",
            "MY.lifeStageNymph",
            "MY.lifeStageLarva",
            "MY.lifeStageEgg",
            "MY.lifeStagePupa",
            "MY.lifeStageJuvenile",
            "MY.lifeStageSubimago",
            "MY.lifeStageImmature",
            "MY.lifeStageFertile",
            "MY.lifeStageSterile",
            "MY.lifeStageTadpole",
            "MY.lifeStageEmbryo",
            "MY.lifeStageSubadult",
            "MY.lifeStageMature",
            "MY.lifeStagePullus",
            "MY.lifeStageHatchedEgg",
            "MY.lifeStageHatchedPupa",
            "MY.lifeStageGall",
            "MY.lifeStageMarks",
            "MY.lifeStageTriungulin",
            "MY.lifeStageExuvia"
          ],
          "x-enum-origin": "MY.lifeStages"
        },
        "objectTaxonVerbatim": {
          "type": "string"
        },
        "objectFinBIFTaxon": {
          "$ref": "#/components/schemas/LajiBackendTraitTaxon"
        },
        "objectGBIFTaxon": {
          "$ref": "#/components/schemas/LajiBackendTraitTaxon"
        },
        "warnings": {
          "type": "boolean"
        },
        "measurementRemarks": {
          "type": "string"
        },
        "reference": {
          "type": "string"
        },
        "dataset": {
          "$ref": "#/components/schemas/LajiBackendTraitSearchDataset"
        },
        "license": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MZ.intellectualRightsCC-BY-SA-4.0",
            "MZ.intellectualRightsCC-BY-NC-4.0",
            "MZ.intellectualRightsCC-BY-NC-SA-4.0",
            "MZ.intellectualRightsCC-BY-4.0",
            "MZ.intellectualRightsCC0-4.0",
            "MZ.intellectualRightsODBL-1.0",
            "MZ.intellectualRightsPD",
            "MZ.intellectualRightsARR",
            "MZ.intellectualRightsCC-BY-2.0",
            "MZ.intellectualRightsCC-BY-SA-2.0",
            "MZ.intellectualRightsCC-BY-SA-2.0-DE",
            "MZ.intellectualRightsCC-BY-NC-2.0",
            "MZ.intellectualRightsCC-BY-NC-SA-2.0",
            "MZ.intellectualRightsCC-BY-NC-ND-2.0",
            "MZ.intellectualRightsCC-BY-SA-2.5",
            "MZ.intellectualRightsCC-BY-SA-2.5-SE",
            "MZ.intellectualRightsCC-BY-3.0",
            "MZ.intellectualRightsCC-BY-SA-3.0",
            "MZ.intellectualRightsCC-BY-NC-SA-3.0",
            "MZ.intellectualRightsCC-BY-ND-4.0",
            "MZ.intellectualRightsCC-BY-NC-ND-4.0",
            "MY.intellectualRightsCC-BY",
            "MY.intellectualRightsCC0"
          ],
          "x-enum-origin": "MZ.intellectualRightsEnum"
        }
      },
      "required": [
        "id",
        "subject",
        "year",
        "month",
        "day",
        "eventDate",
        "geodeticDatum",
        "trait",
        "traitGroup",
        "statisticalMethod",
        "value",
        "valueNumeric",
        "unit",
        "measurementAccuracy",
        "originalValue",
        "originalValueNumeric",
        "originalUnit",
        "originalMeasurementAccuracy",
        "subjectFinBIFTaxon",
        "subjectGBIFTaxon",
        "objectTaxonLifeStage",
        "objectTaxonVerbatim",
        "objectFinBIFTaxon",
        "objectGBIFTaxon",
        "warnings",
        "measurementRemarks",
        "reference",
        "dataset",
        "license"
      ]
    },
    "LajiBackendTraitTaxon": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "taxonomicOrder": {
          "type": "integer"
        },
        "taxonRank": {
          "type": "string"
        },
        "scientificName": {
          "type": "string"
        },
        "cursiveName": {
          "type": "boolean"
        },
        "author": {
          "type": "string"
        },
        "higherTaxa": {
          "$ref": "#/components/schemas/LajiBackendHigherTaxa"
        },
        "iucnStatus": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MX.iucnEX",
            "MX.iucnEW",
            "MX.iucnRE",
            "MX.iucnCR",
            "MX.iucnEN",
            "MX.iucnVU",
            "MX.iucnNT",
            "MX.iucnLC",
            "MX.iucnDD",
            "MX.iucnNA",
            "MX.iucnNE"
          ],
          "x-enum-origin": "MX.iucnStatuses"
        },
        "primaryHabitat": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MKV.habitatM",
            "MKV.habitatMk",
            "MKV.habitatMkk",
            "MKV.habitatMkt",
            "MKV.habitatMl",
            "MKV.habitatMlt",
            "MKV.habitatMlk",
            "MKV.habitatMt",
            "MKV.habitatMtl",
            "MKV.habitatMtm",
            "MKV.habitatS",
            "MKV.habitatSl",
            "MKV.habitatSla",
            "MKV.habitatSlr",
            "MKV.habitatSlk",
            "MKV.habitatSn",
            "MKV.habitatSnk",
            "MKV.habitatSnr",
            "MKV.habitatSr",
            "MKV.habitatSrk",
            "MKV.habitatSrr",
            "MKV.habitatSk",
            "MKV.habitatSkk",
            "MKV.habitatSkr",
            "MKV.habitatV",
            "MKV.habitatVi",
            "MKV.habitatVik",
            "MKV.habitatVis",
            "MKV.habitatVim",
            "MKV.habitatVia",
            "MKV.habitatVie",
            "MKV.habitatVip",
            "MKV.habitatVs",
            "MKV.habitatVsk",
            "MKV.habitatVsr",
            "MKV.habitatVa",
            "MKV.habitatVj",
            "MKV.habitatVp",
            "MKV.habitatVk",
            "MKV.habitatVl",
            "MKV.habitatR",
            "MKV.habitatRi",
            "MKV.habitatRim",
            "MKV.habitatRimt",
            "MKV.habitatRiml",
            "MKV.habitatRip",
            "MKV.habitatRin",
            "MKV.habitatRil",
            "MKV.habitatRir",
            "MKV.habitatRis",
            "MKV.habitatRih",
            "MKV.habitatRit",
            "MKV.habitatRj",
            "MKV.habitatRjm",
            "MKV.habitatRjmt",
            "MKV.habitatRjml",
            "MKV.habitatRjp",
            "MKV.habitatRjn",
            "MKV.habitatRjl",
            "MKV.habitatRjr",
            "MKV.habitatRjs",
            "MKV.habitatRjh",
            "MKV.habitatRjt",
            "MKV.habitatK",
            "MKV.habitatKk",
            "MKV.habitatKs",
            "MKV.habitatKr",
            "MKV.habitatKl",
            "MKV.habitatKm",
            "MKV.habitatT",
            "MKV.habitatTk",
            "MKV.habitatTn",
            "MKV.habitatTu",
            "MKV.habitatTp",
            "MKV.habitatTl",
            "MKV.habitatTll",
            "MKV.habitatTlk",
            "MKV.habitatTls",
            "MKV.habitatTlr",
            "MKV.habitatTlä",
            "MKV.habitatTs",
            "MKV.habitatTj",
            "MKV.habitatTv",
            "MKV.habitatTa",
            "MKV.habitatI",
            "MKV.habitatIn",
            "MKV.habitatIt",
            "MKV.habitatIk",
            "MKV.habitatIh",
            "MKV.habitatIo",
            "MKV.habitatIv",
            "MKV.habitatIp",
            "MKV.habitatIj",
            "MKV.habitatIr",
            "MKV.habitatU"
          ],
          "x-enum-origin": "MKV.habitatEnum"
        },
        "habitatSpecifiers": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "MKV.habitatSpecificTypeV",
              "MKV.habitatSpecificTypeLU",
              "MKV.habitatSpecificTypeH",
              "MKV.habitatSpecificTypeP",
              "MKV.habitatSpecificTypeJ",
              "MKV.habitatSpecificTypePAK",
              "MKV.habitatSpecificTypeVAK",
              "MKV.habitatSpecificTypeCA",
              "MKV.habitatSpecificTypeRA",
              "MKV.habitatSpecificTypeLK",
              "MKV.habitatSpecificTypeKA",
              "MKV.habitatSpecificTypeKE"
            ],
            "x-enum-origin": "MKV.habitatSpecificTypeEnum"
          }
        },
        "sensitive": {
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "taxonomicOrder",
        "taxonRank",
        "scientificName",
        "cursiveName",
        "author",
        "higherTaxa",
        "iucnStatus",
        "primaryHabitat",
        "habitatSpecifiers",
        "sensitive"
      ]
    },
    "LajiBackendTraitSearchSubject": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "type": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.typeIndividual",
            "TDF.typePopulationGroup",
            "TDF.typeTaxon"
          ],
          "x-enum-origin": "TDF.typeEnum"
        },
        "basisOfRecord": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.recordBasisPreservedSpecimen",
            "MY.recordBasisHumanObservation",
            "MY.recordBasisHumanObservationSeen",
            "MY.recordBasisHumanObservationHeard",
            "MY.recordBasisHumanObservationHandled",
            "MY.recordBasisHumanObservationPhoto",
            "MY.recordBasisHumanObservationAudio",
            "MY.recordBasisHumanObservationVideo",
            "MY.recordBasisHumanObservationIndirect",
            "MY.recordBasisMachineObservation",
            "MY.recordBasisMachineObservationPhoto",
            "MY.recordBasisMachineObservationVideo",
            "MY.recordBasisMachineObservationAudio",
            "MY.recordBasisMachineObservationGeologger",
            "MY.recordBasisMachineObservationSatelliteTransmitter",
            "MY.recordBasisFossilSpecimen",
            "MY.recordBasisSubfossilSpecimen",
            "MY.recordBasisSubfossilSpecimenAmberInclusion",
            "MY.recordBasisMaterialSample",
            "MY.recordBasisMaterialSampleAir",
            "MY.recordBasisMaterialSampleSoil",
            "MY.recordBasisMaterialSampleWater",
            "MY.recordBasisMicrobialSpecimen",
            "MY.recordBasisLivingSpecimen",
            "MY.recordBasisLiterature"
          ],
          "x-enum-origin": "MY.recordBases"
        },
        "finbifOccurrenceId": {
          "type": "string",
          "description": "Qname identifier"
        },
        "gbifOccurrenceId": {
          "type": "string"
        },
        "otherOccurrenceId": {
          "type": "string"
        },
        "kingdom": {
          "type": "string"
        },
        "scientificName": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "functionalGroupName": {
          "type": "string"
        },
        "otherTaxonId": {
          "type": "string"
        },
        "sex": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.sexM",
            "MY.sexF",
            "MY.sexW",
            "MY.sexU",
            "MY.sexN",
            "MY.sexX",
            "MY.sexE",
            "MY.sexC"
          ],
          "x-enum-origin": "MY.sexes"
        },
        "lifeStage": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.lifeStageAdult",
            "MY.lifeStageNymph",
            "MY.lifeStageLarva",
            "MY.lifeStageEgg",
            "MY.lifeStagePupa",
            "MY.lifeStageJuvenile",
            "MY.lifeStageSubimago",
            "MY.lifeStageImmature",
            "MY.lifeStageFertile",
            "MY.lifeStageSterile",
            "MY.lifeStageTadpole",
            "MY.lifeStageEmbryo",
            "MY.lifeStageSubadult",
            "MY.lifeStageMature",
            "MY.lifeStagePullus",
            "MY.lifeStageHatchedEgg",
            "MY.lifeStageHatchedPupa",
            "MY.lifeStageGall",
            "MY.lifeStageMarks",
            "MY.lifeStageTriungulin",
            "MY.lifeStageExuvia"
          ],
          "x-enum-origin": "MY.lifeStages"
        },
        "ageYears": {
          "type": "number"
        },
        "individualCount": {
          "type": "integer"
        },
        "dateBegin": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        },
        "dateEnd": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        },
        "yearBegin": {
          "type": "integer"
        },
        "yearEnd": {
          "type": "integer"
        },
        "seasonBegin": {
          "type": "integer"
        },
        "seasonEnd": {
          "type": "integer"
        },
        "lat": {
          "type": "number"
        },
        "lon": {
          "type": "number"
        },
        "latMin": {
          "type": "number"
        },
        "latMax": {
          "type": "number"
        },
        "lonMin": {
          "type": "number"
        },
        "lonMax": {
          "type": "number"
        },
        "coordinateAccuracy": {
          "type": "integer"
        },
        "elevation": {
          "type": "integer"
        },
        "higherGeography": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "municipality": {
          "type": "string"
        },
        "locality": {
          "type": "string"
        },
        "locationIdentifiers": {
          "type": "string"
        },
        "habitat": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "MY.habitatEnumValue1",
            "MY.habitatEnumValue2",
            "MY.habitatEnumValue3",
            "MY.habitatEnumValue4",
            "MY.habitatEnumValue5",
            "MY.habitatEnumValue6",
            "MY.habitatEnumValue7",
            "MY.habitatEnumValue8",
            "MY.habitatEnumValue9",
            "MY.habitatEnumValue10",
            "MY.habitatEnumValue11",
            "MY.habitatEnumValue12",
            "MY.habitatEnumValue13",
            "MY.habitatEnumValue14",
            "MY.habitatEnumValue15",
            "MY.habitatEnumValue16",
            "MY.habitatEnumValue17",
            "MY.habitatEnumValue18",
            "MY.habitatEnumValue19",
            "MY.habitatEnumValue20",
            "MY.habitatEnumValue21",
            "MY.habitatEnumValue22",
            "MY.habitatEnumValue23",
            "MY.habitatEnumValue24",
            "MY.habitatEnumValue25",
            "MY.habitatEnumValue26",
            "MY.habitatEnumValue27",
            "MY.habitatEnumValue28",
            "MY.habitatEnumValue29",
            "MY.habitatEnumValue30",
            "MY.habitatEnumValue31",
            "MY.habitatEnumValue32",
            "MY.habitatEnumValue33",
            "MY.habitatEnumValue34",
            "MY.habitatEnumValue35",
            "MY.habitatEnumValue36",
            "MY.habitatEnumValue87",
            "MY.habitatEnumValue40",
            "MY.habitatEnumValue41",
            "MY.habitatEnumValue42",
            "MY.habitatEnumValue43",
            "MY.habitatEnumValue44",
            "MY.habitatEnumValue45",
            "MY.habitatEnumValue46",
            "MY.habitatEnumValue47",
            "MY.habitatEnumValue48",
            "MY.habitatEnumValue49",
            "MY.habitatEnumValue50",
            "MY.habitatEnumValue51",
            "MY.habitatEnumValue52",
            "MY.habitatEnumValue53",
            "MY.habitatEnumValue54",
            "MY.habitatEnumValue56",
            "MY.habitatEnumValue57",
            "MY.habitatEnumValue58",
            "MY.habitatEnumValue59",
            "MY.habitatEnumValue60",
            "MY.habitatEnumValue61",
            "MY.habitatEnumValue62",
            "MY.habitatEnumValue64",
            "MY.habitatEnumValue66",
            "MY.habitatEnumValue67",
            "MY.habitatEnumValue68",
            "MY.habitatEnumValue69",
            "MY.habitatEnumValue70",
            "MY.habitatEnumValue71",
            "MY.habitatEnumValue72",
            "MY.habitatEnumValue73",
            "MY.habitatEnumValue74",
            "MY.habitatEnumValue76",
            "MY.habitatEnumValue77",
            "MY.habitatEnumValue78",
            "MY.habitatEnumValue79",
            "MY.habitatEnumValue80",
            "MY.habitatEnumValue81",
            "MY.habitatEnumValue82",
            "MY.habitatEnumValue83",
            "MY.habitatEnumValue84",
            "MY.habitatEnumValue85",
            "MY.habitatEnumValue86",
            "MY.habitatEnumValue88",
            "MY.habitatEnumValue89",
            "MY.habitatEnumValue90",
            "MY.habitatEnumValue91",
            "MY.habitatEnumValue92",
            "MY.habitatEnumValue93",
            "MY.habitatEnumValue94",
            "MY.habitatEnumValue95",
            "MY.habitatEnumValue96",
            "MY.habitatEnumValue97",
            "MY.habitatEnumValue98",
            "MY.habitatEnumValue99",
            "MY.habitatEnumValue100",
            "MY.habitatEnumValue101",
            "MY.habitatEnumValue102",
            "MY.habitatEnumValue103",
            "MY.habitatEnumValue104",
            "MY.habitatEnumValue105",
            "MY.habitatEnumValue106",
            "MY.habitatEnumValue107",
            "MY.habitatEnumValue108",
            "MY.habitatEnumValue109",
            "MY.habitatEnumValue110",
            "MY.habitatEnumValue111",
            "MY.habitatEnumValue112",
            "MY.habitatEnumValue113",
            "MY.habitatEnumValue114",
            "MY.habitatEnumValue115",
            "MY.habitatEnumValue116",
            "MY.habitatEnumValue117",
            "MY.habitatEnumValue118",
            "MY.habitatEnumValue119",
            "MY.habitatEnumValue120",
            "MY.habitatEnumValue121",
            "MY.habitatEnumValue122",
            "MY.habitatEnumValue123",
            "MY.habitatEnumValue124",
            "MY.habitatEnumValue125",
            "MY.habitatEnumValue126",
            "MY.habitatEnumValue127",
            "MY.habitatEnumValue128",
            "MY.habitatEnumValue129",
            "MY.habitatEnumValue130",
            "MY.habitatEnumValue131",
            "MY.habitatEnumValue132",
            "MY.habitatEnumValue133",
            "MY.habitatEnumValue134",
            "MY.habitatEnumValue135",
            "MY.habitatEnumValue136",
            "MY.habitatEnumValue137",
            "MY.habitatEnumValue138",
            "MY.habitatEnumValue139",
            "MY.habitatEnumValue140",
            "MY.habitatEnumValue141",
            "MY.habitatEnumValue142",
            "MY.habitatEnumValue143",
            "MY.habitatEnumValue144",
            "MY.habitatEnumValue145",
            "MY.habitatEnumValue147",
            "MY.habitatEnumValue148",
            "MY.habitatEnumValue149",
            "MY.habitatEnumValue150",
            "MY.habitatEnumValue151",
            "MY.habitatEnumValue152",
            "MY.habitatEnumValue153",
            "MY.habitatEnumValue154",
            "MY.habitatEnumValue155",
            "MY.habitatEnumValue156",
            "MY.habitatEnumValue157",
            "MY.habitatEnumValue158",
            "MY.habitatEnumValue159",
            "MY.habitatEnumValue160",
            "MY.habitatEnumValue161",
            "MY.habitatEnumValue162",
            "MY.habitatEnumValue163",
            "MY.habitatEnumValue164",
            "MY.habitatEnumValue165",
            "MY.habitatEnumValue166",
            "MY.habitatEnumValue167",
            "MY.habitatEnumValue168",
            "MY.habitatEnumValue169",
            "MY.habitatEnumValue170"
          ],
          "x-enum-origin": "MY.habitatEnum"
        },
        "occurrenceRemarks": {
          "type": "string"
        },
        "measurementDeterminedBy": {
          "type": "string"
        },
        "measurementDeterminedDate": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        },
        "created": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        },
        "modified": {
          "type": "string",
          "format": "date",
          "examples": [
            "YYYY-MM-DD"
          ]
        }
      },
      "required": [
        "id",
        "type",
        "basisOfRecord",
        "finbifOccurrenceId",
        "gbifOccurrenceId",
        "otherOccurrenceId",
        "kingdom",
        "scientificName",
        "author",
        "functionalGroupName",
        "otherTaxonId",
        "sex",
        "lifeStage",
        "ageYears",
        "individualCount",
        "dateBegin",
        "dateEnd",
        "yearBegin",
        "yearEnd",
        "seasonBegin",
        "seasonEnd",
        "lat",
        "lon",
        "latMin",
        "latMax",
        "lonMin",
        "lonMax",
        "coordinateAccuracy",
        "elevation",
        "higherGeography",
        "country",
        "municipality",
        "locality",
        "locationIdentifiers",
        "habitat",
        "occurrenceRemarks",
        "measurementDeterminedBy",
        "measurementDeterminedDate",
        "created",
        "modified"
      ]
    },
    "LajiBackendTraitSearchTrait": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "dataEntryName": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "baseUnit": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "TDF.umNM",
            "TDF.umUM",
            "TDF.umMM",
            "TDF.umCM",
            "TDF.umM",
            "TDF.umKM",
            "TDF.umG",
            "TDF.umKG",
            "TDF.umA",
            "TDF.umS",
            "TDF.umML",
            "TDF.umL",
            "TDF.umMOL",
            "TDF.umMMOL",
            "TDF.umUMOL",
            "TDF.umHZ",
            "TDF.umP",
            "TDF.umPPT",
            "TDF.umPPM",
            "TDF.umC",
            "TDF.umMM2",
            "TDF.umCM2",
            "TDF.umM2",
            "TDF.umARE",
            "TDF.umHA",
            "TDF.umKM2",
            "TDF.umMM3",
            "TDF.umCM3",
            "TDF.umM3",
            "TDF.umGMOL",
            "TDF.umMOLL",
            "TDF.umCM2H"
          ],
          "x-enum-origin": "TDF.unitOfMeasurementEnum"
        },
        "range": {
          "type": "string",
          "description": "Qname identifier",
          "enum": [
            "xsd:string",
            "xsd:decimal",
            "xsd:integer",
            "xsd:positiveInteger",
            "xsd:nonNegativeInteger",
            "xsd:boolean",
            "MX.taxon"
          ],
          "x-enum-origin": "TDF.rangeEnum"
        },
        "reference": {
          "type": "string"
        },
        "identifiers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "id",
        "dataEntryName",
        "name",
        "description",
        "baseUnit",
        "range",
        "reference",
        "identifiers"
      ]
    },
    "LajiBackendTraitSearchTraitGroup": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "LajiBackendTraitSearchDataset": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Qname identifier"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "citation": {
          "type": "string"
        },
        "intellectualOwner": {
          "type": "string"
        },
        "personResponsible": {
          "type": "string"
        },
        "contactEmail": {
          "type": "string"
        },
        "methods": {
          "type": "string"
        },
        "coverageBasis": {
          "type": "string"
        },
        "doi": {
          "type": "string"
        },
        "gbifDoi": {
          "type": "string"
        },
        "additionalIdentifier": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "id",
        "name",
        "description",
        "citation",
        "intellectualOwner",
        "personResponsible",
        "contactEmail",
        "methods",
        "coverageBasis",
        "doi",
        "gbifDoi",
        "additionalIdentifier"
      ]
    },
    "LajiBackendHigherTaxa": {
      "type": "object",
      "properties": {
        "domain": {
          "type": "string"
        },
        "kingdom": {
          "type": "string"
        },
        "phylum": {
          "type": "string"
        },
        "subphylum": {
          "type": "string"
        },
        "division": {
          "type": "string"
        },
        "class": {
          "type": "string"
        },
        "subclass": {
          "type": "string"
        },
        "order": {
          "type": "string"
        },
        "suborder": {
          "type": "string"
        },
        "superfamily": {
          "type": "string"
        },
        "family": {
          "type": "string"
        },
        "subfamily": {
          "type": "string"
        },
        "tribe": {
          "type": "string"
        },
        "subtribe": {
          "type": "string"
        },
        "genus": {
          "type": "string"
        }
      },
      "required": [
        "domain",
        "kingdom",
        "phylum",
        "subphylum",
        "division",
        "class",
        "subclass",
        "order",
        "suborder",
        "superfamily",
        "family",
        "subfamily",
        "tribe",
        "subtribe",
        "genus"
      ]
    },
    "GeoConvertBody_convert_gis_to_table_convert_to_table_post": {
      "properties": {
        "file": {
          "type": "string",
          "format": "binary",
          "title": "File",
          "description": "GIS file to convert (GeoJSON, GPKG, KML, GML, or ZIP for Shapefiles)"
        }
      },
      "type": "object",
      "required": [
        "file"
      ],
      "title": "Body_convert_gis_to_table_convert_to_table_post"
    },
    "GeoConvertBody_convert_with_file__post": {
      "properties": {
        "file": {
          "type": "string",
          "format": "binary",
          "title": "File",
          "description": "ZIP file containing TSV data"
        }
      },
      "type": "object",
      "required": [
        "file"
      ],
      "title": "Body_convert_with_file__post"
    },
    "GeoConvertErrorResponse": {
      "properties": {
        "detail": {
          "type": "string",
          "title": "Detail",
          "description": "Error message",
          "examples": [
            "Conversion ID not found"
          ]
        }
      },
      "type": "object",
      "required": [
        "detail"
      ],
      "title": "ErrorResponse"
    },
    "GeoConvertHTTPValidationError": {
      "properties": {
        "detail": {
          "items": {
            "$ref": "#/components/schemas/GeoConvertValidationError"
          },
          "type": "array",
          "title": "Detail"
        }
      },
      "type": "object",
      "title": "HTTPValidationError",
      "required": [
        "detail"
      ]
    },
    "GeoConvertHealthResponse": {
      "properties": {
        "status": {
          "type": "string",
          "title": "Status",
          "description": "Service health status",
          "examples": [
            "ok"
          ]
        },
        "processing": {
          "type": "string",
          "title": "Processing",
          "description": "Number of active conversions",
          "examples": [
            "2 conversions right now"
          ]
        }
      },
      "type": "object",
      "required": [
        "status",
        "processing"
      ],
      "title": "HealthResponse"
    },
    "GeoConvertStatusResponse": {
      "properties": {
        "id": {
          "type": "string",
          "title": "Id",
          "description": "Unique conversion identifier",
          "examples": [
            "dataset123_tech_point_wgs84"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "processing",
            "complete",
            "failed"
          ],
          "title": "Status",
          "description": "Current conversion status",
          "examples": [
            "processing"
          ]
        },
        "progress_percent": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "title": "Progress Percent",
          "description": "Completion percentage (0-100)",
          "examples": [
            45
          ]
        }
      },
      "type": "object",
      "required": [
        "id",
        "status",
        "progress_percent"
      ],
      "title": "StatusResponse"
    },
    "GeoConvertValidationError": {
      "properties": {
        "loc": {
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          },
          "type": "array",
          "title": "Location"
        },
        "msg": {
          "type": "string",
          "title": "Message"
        },
        "type": {
          "type": "string",
          "title": "Error Type"
        }
      },
      "type": "object",
      "required": [
        "loc",
        "msg",
        "type"
      ],
      "title": "ValidationError"
    },
    "GoogleMapsGeocodingResponse": {
      "type": "object",
      "required": [
        "status",
        "results"
      ],
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/GoogleMapsGeocodingResult"
          }
        },
        "status": {
          "type": "string"
        }
      }
    },
    "GoogleMapsGeocodingResult": {
      "type": "object",
      "required": [
        "address_components",
        "formatted_address",
        "geometry",
        "place_id",
        "types"
      ],
      "properties": {
        "address_components": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/GoogleMapsAddressComponent"
          }
        },
        "formatted_address": {
          "type": "string"
        },
        "geometry": {
          "type": "object",
          "required": [
            "location"
          ],
          "properties": {
            "location": {
              "type": "object",
              "required": [
                "lat",
                "lng"
              ],
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lng": {
                  "type": "number"
                }
              }
            }
          }
        },
        "place_id": {
          "type": "string"
        },
        "types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleMapsAddressComponent": {
      "type": "object",
      "required": [
        "long_name",
        "short_name",
        "types"
      ],
      "properties": {
        "long_name": {
          "type": "string"
        },
        "short_name": {
          "type": "string"
        },
        "types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "FormListing": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "Id for the MHL.form"
        },
        "category": {
          "type": "string",
          "enum": [
            "",
            "MHL.categoryGeneric",
            "MHL.categorySurvey",
            "MHL.categoryTaxonomicGroup",
            "MHL.categoryBirdMonitoringSchemes",
            "MHL.categoryCitizenScience",
            "MHL.categoryBiomonCompleteLists"
          ],
          "title": "Category"
        },
        "collectionID": {
          "type": "string",
          "description": "Id for the collection to where observation useing this form are connected",
          "title": "Collection ID"
        },
        "description": {
          "type": "string",
          "title": "Description"
        },
        "logo": {
          "type": "string",
          "title": "Logo address"
        },
        "name": {
          "type": "string",
          "title": "Name"
        },
        "options": {
          "$ref": "#/components/schemas/store-formOptions"
        },
        "shortDescription": {
          "type": "string",
          "title": "Short description"
        },
        "supportedLanguage": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "en",
              "fi",
              "sv"
            ]
          },
          "minItems": 0,
          "title": "Supported language"
        },
        "title": {
          "type": "string",
          "title": "Title"
        }
      },
      "additionalProperties": false,
      "required": [
        "id",
        "category",
        "collectionID",
        "description",
        "logo",
        "name",
        "options",
        "shortDescription",
        "supportedLanguage",
        "title"
      ]
    },
    "store-field": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MHLA.field"
        },
        "id": {
          "type": "string",
          "title": "Id for the MHLA.field"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MHLA.field"
        },
        "name": {
          "type": "string",
          "title": "Name"
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-field"
          }
        },
        "filters": {
          "type": "object",
          "additionalProperties": true,
          "title": "filters"
        },
        "label": {
          "type": "string",
          "title": "label"
        },
        "notices": {
          "type": "object",
          "additionalProperties": true,
          "title": "Notice validators"
        },
        "options": {
          "type": "object",
          "additionalProperties": true,
          "title": "Options"
        },
        "required": {
          "type": "boolean",
          "title": "Required field"
        },
        "type": {
          "type": "string",
          "title": "field type"
        },
        "ui": {
          "type": "object",
          "additionalProperties": true,
          "title": "UI instructions to field"
        },
        "validators": {
          "type": "object",
          "additionalProperties": true,
          "title": "validators"
        },
        "value": {
          "type": "string",
          "title": "value"
        },
        "warnings": {
          "type": "object",
          "additionalProperties": true,
          "title": "warning validators"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "name",
        "fields",
        "filters",
        "label",
        "notices",
        "options",
        "required",
        "type",
        "ui",
        "validators",
        "value",
        "warnings"
      ]
    },
    "store-formOptions": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MHL.formOptionsClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MHL.formOptionsClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MHL.formOptionsClass"
        },
        "about": {
          "type": "string"
        },
        "adminLockable": {
          "type": "boolean",
          "description": "Form admin can lock documents. Locked documents can't be edited",
          "title": "Document are lockable by admin"
        },
        "allowExcel": {
          "type": "boolean",
          "description": "Allows usage in spreadsheet upload component",
          "title": "Allow excel"
        },
        "allowExcelGeneration": {
          "type": "boolean",
          "description": "If false, Vihko will not show the spreadsheet generation tool for the form. Defaults to true\"",
          "title": "Allow excel generation"
        },
        "allowTemplate": {
          "type": "boolean",
          "description": "Allows creating templates from documents",
          "title": "Allow templates"
        },
        "cancelLabel": {
          "type": "string",
          "description": "Label for the cancel button at the form footer",
          "title": "Footer cancel button label"
        },
        "dataset": {
          "type": "boolean",
          "description": "Has dataset about page",
          "title": "Dataset form"
        },
        "disableRequestDescription": {
          "type": "boolean",
          "description": "Theme form introduction page doesn't show description for the form permission request button",
          "title": "Disable form permissionrequest description"
        },
        "disabled": {
          "type": "boolean",
          "description": "Prevent sending documents & named places",
          "title": "Disabled"
        },
        "displayOwnSubmissions": {
          "type": "boolean",
          "description": "Only if has named places. All documents for admin",
          "title": "Display own submissions"
        },
        "documentsViewableForAll": {
          "type": "boolean",
          "description": "Documents of the form's collectionID are viewable for all users with form permissions to the form's collectionID",
          "title": "Documents are viewable for all users"
        },
        "draftLabel": {
          "type": "string",
          "description": "Label for the draft button at the form footer",
          "title": "Footer draft button label"
        },
        "editLabel": {
          "type": "string",
          "title": "Edit button label"
        },
        "emptyOnNoCount": {
          "type": "boolean",
          "description": "Units without count aren't considered in laji.fi viewer (including document viewers and datatables)",
          "title": "Consider unit without count empty"
        },
        "excludeFromGlobalExcel": {
          "type": "boolean",
          "description": "Excludes from the Vihko excel tools",
          "title": "Exclude from global excel tools"
        },
        "footer": {
          "$ref": "#/components/schemas/store-formFooter"
        },
        "formOwnSubmissionsLabel": {
          "type": "string",
          "description": "Label for the own submissions list at the header of document form",
          "title": "Own submissions page title"
        },
        "formPermissionDescription": {
          "type": "string",
          "description": "Shown at form permission intro page. Allows HTML",
          "title": "Form permissions page description"
        },
        "forms": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Sub forms"
        },
        "hasAdmins": {
          "type": "boolean",
          "description": "The form has administrators. Administrators can handle user access permissions and admin roles for all forms with the collectionID of the form.",
          "title": "Has admins"
        },
        "hideCancelButton": {
          "type": "boolean",
          "description": "Hides the cancel button at form footer",
          "title": "Hide cancel button"
        },
        "hideDraftButton": {
          "type": "boolean",
          "title": "hideDraftButton"
        },
        "hideFromSidebar": {
          "type": "boolean",
          "description": "Defaults to false",
          "title": "Hide from sidebar"
        },
        "hideSaveButton": {
          "type": "boolean",
          "description": "Hides the save/edit button at form footer",
          "title": "Hide save button"
        },
        "hideTES": {
          "type": "boolean",
          "description": "Terms of Service is hidden at the header of observation form",
          "title": "Hide TES"
        },
        "hideTempButton": {
          "type": "boolean",
          "description": "Hides the draft button at form footer",
          "title": "Hide draft button"
        },
        "instructions": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "mobile": {
          "type": "boolean",
          "description": "Form UI has a greeting page for convenient mobile usage",
          "title": "Use mobile UI"
        },
        "namedPlaceOptions": {
          "$ref": "#/components/schemas/store-formNamedPlaceOptions"
        },
        "navigationTitle": {
          "type": "string",
          "description": "The title label for theme form sidebar",
          "title": "Navigation title"
        },
        "openForm": {
          "type": "boolean",
          "description": "Allows creating documents without a person token. Utilizes open form login system, hides navbar.",
          "title": "Open form"
        },
        "ownSubmissionsActions": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Available actions for own submissions (only on the own submissions page). Defaults to ['edit', 'view', 'download', 'stats', 'delete']",
          "title": "Own submissions row actions"
        },
        "ownSubmissionsAdminTitle": {
          "type": "string",
          "description": "Shown at sidebar link and title of all submissions page",
          "title": "Own submissions title"
        },
        "ownSubmissionsColumns": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Columns for own submissions (only on the own submissions page). Defaults to ['dateEdited', 'dateObserved', 'taxon', 'namedPlaceName', 'observer', 'id']",
          "title": "Own submissions table column"
        },
        "ownSubmissionsTitle": {
          "type": "string",
          "description": "Shown at sidebar link and title of all submissions page",
          "title": "Own submissions title"
        },
        "periods": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Periods that the \"NoExistingGatheringsInNamedPlace\" validation uses",
          "title": "Periods"
        },
        "prepopulateWithInformalTaxonGroups": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Prepopulate form data with data from informal taxon group"
        },
        "prepopulateWithTaxonSets": {
          "type": "string",
          "title": "Prepopulate form data with data from taxon sets"
        },
        "prepopulatedDocument": {
          "$ref": "#/components/schemas/store-document"
        },
        "printType": {
          "type": "string",
          "enum": [
            "",
            "MHL.printTypeLineTransect"
          ],
          "title": "Print type"
        },
        "privacyPolicy": {
          "type": "boolean",
          "description": "Display privacy policy link on form header.",
          "title": "Privacy policy"
        },
        "restrictAccess": {
          "type": "string",
          "enum": [
            "",
            "MHL.restrictAccessStrict",
            "MHL.restrictAccessLoose"
          ],
          "description": "Users need to have permission to access the form",
          "title": "Restrict access"
        },
        "resultServiceType": {
          "type": "string",
          "enum": [
            "",
            "MHL.resultServiceTypeLineTransect",
            "MHL.resultServiceTypeNafi",
            "MHL.resultServiceTypeBirdPointCount",
            "MHL.resultServiceTypeWinterBirdCount",
            "MHL.resultServiceTypeSykeInsectProjects",
            "MHL.resultServiceTypeInvasiveControl",
            "MHL.resultServiceTypeCompleteLists",
            "MHL.resultServiceTypeWaterBirdCount",
            "MHL.resultServiceTypeArchipelagoBirdCensus"
          ],
          "title": "Type of result service"
        },
        "saveErrorMessage": {
          "type": "string",
          "description": "Message shown when document save failed",
          "title": "Save error message"
        },
        "saveLabel": {
          "type": "string",
          "description": "Label for the save button at the form footer",
          "title": "Footer save button label"
        },
        "saveSuccessMessage": {
          "type": "string",
          "description": "Message shown when document was successfully saved",
          "title": "Save success message"
        },
        "saveTempSuccessMessage": {
          "type": "string",
          "description": "Message shown when document draft was successfully saved",
          "title": "Save draft success message"
        },
        "season": {
          "$ref": "#/components/schemas/store-formSeason"
        },
        "secondaryCopy": {
          "type": "boolean",
          "description": "Makes the documents reported with the form secondary",
          "title": "Secondary copy"
        },
        "shortTitleFromCollectionName": {
          "type": "boolean",
          "description": "Overrides MHL.shortTitle usage",
          "title": "Short title from collection name"
        },
        "sidebarFormLabel": {
          "type": "string",
          "description": "Sub forms are shown only if they have this property",
          "title": "Sidebar label for form"
        },
        "simple": {
          "type": "boolean",
          "description": "Has only a form page, no sidebar",
          "title": "Simple form"
        },
        "strict": {
          "type": "boolean",
          "description": "Documents can't have data not defined in form fields. Defaults to true.",
          "title": "Strict"
        },
        "tempLabel": {
          "type": "string",
          "description": "Label for the draft button at the form footer",
          "title": "Footer draft button label"
        },
        "useNamedPlaces": {
          "type": "boolean",
          "description": "Makes the form use named places",
          "title": "Use named places"
        },
        "useSchemaCommentsAsHelpTexts": {
          "type": "boolean",
          "description": "Uses schema comments as form help texts",
          "title": "Use schema comments as help texts"
        },
        "viewerType": {
          "type": "string",
          "enum": [
            "",
            "MHL.viewerTypeLineTransect",
            "MHL.viewerTypeBirdPointCount"
          ],
          "title": "Document viewer type"
        },
        "warnEditingOldDocument": {
          "type": "boolean",
          "title": "warnEditingOldDocument"
        },
        "warnEditingOldDocumentDuration": {
          "type": "string",
          "description": "Duration in ISO 8601 duration format. Defaults to P1W (one week)",
          "title": "Duration of editing old document warning"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "adminLockable",
        "allowExcel",
        "allowExcelGeneration",
        "allowTemplate",
        "cancelLabel",
        "dataset",
        "disableRequestDescription",
        "disabled",
        "displayOwnSubmissions",
        "documentsViewableForAll",
        "draftLabel",
        "editLabel",
        "emptyOnNoCount",
        "excludeFromGlobalExcel",
        "footer",
        "formOwnSubmissionsLabel",
        "formPermissionDescription",
        "forms",
        "hasAdmins",
        "hideCancelButton",
        "hideDraftButton",
        "hideFromSidebar",
        "hideSaveButton",
        "hideTES",
        "hideTempButton",
        "instructions",
        "mobile",
        "namedPlaceOptions",
        "navigationTitle",
        "openForm",
        "ownSubmissionsActions",
        "ownSubmissionsAdminTitle",
        "ownSubmissionsColumns",
        "ownSubmissionsTitle",
        "periods",
        "prepopulateWithInformalTaxonGroups",
        "prepopulateWithTaxonSets",
        "prepopulatedDocument",
        "printType",
        "privacyPolicy",
        "restrictAccess",
        "resultServiceType",
        "saveErrorMessage",
        "saveLabel",
        "saveSuccessMessage",
        "saveTempSuccessMessage",
        "season",
        "secondaryCopy",
        "shortTitleFromCollectionName",
        "sidebarFormLabel",
        "simple",
        "strict",
        "tempLabel",
        "useNamedPlaces",
        "useSchemaCommentsAsHelpTexts",
        "viewerType",
        "warnEditingOldDocument",
        "warnEditingOldDocumentDuration"
      ]
    },
    "store-multiLang": {
      "type": "string"
    },
    "store-formFooter": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MHL.formFooterClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MHL.formFooterClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MHL.formFooterClass"
        },
        "footerDescription": {
          "type": "string",
          "description": "Text to show for footer",
          "title": "Description"
        },
        "footerLogos": {
          "type": "object",
          "additionalProperties": true,
          "description": "Key is an image URI, value is the URI of the page clicking the image opens",
          "title": "Logos"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "footerDescription",
        "footerLogos"
      ]
    },
    "store-formNamedPlaceOptions": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MHL.formNamedPlaceOptionsClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MHL.formNamedPlaceOptionsClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MHL.formNamedPlaceOptionsClass"
        },
        "adminShowCopyLink": {
          "type": "boolean",
          "description": "Named place viewer shows button to copy the URL for the named place viewer",
          "title": "Show copy link for admin"
        },
        "allowAddingPublic": {
          "type": "boolean",
          "description": "Form users can create new named places for the form",
          "title": "Allow adding public named places"
        },
        "birdAssociationAreaHelp": {
          "type": "string",
          "description": "Help text for bird association filter",
          "title": "Bird association area help"
        },
        "chooseDescription": {
          "type": "string",
          "description": "Description shown at named place choose page. Allows HTML.",
          "title": "Choose page description"
        },
        "copyLatestDocumentToNamedPlace": {
          "type": "boolean",
          "description": "The latest document is copied to named place's prepopulatedDocument. if documents date is same or after the current prepopulated document's date, or if prepopulated document doesn't have date. Date is checked from gatheringEvent or from gatherings",
          "title": "Copy latest document to named place"
        },
        "createDescription": {
          "type": "string",
          "description": "Description shown above named place form when creating new named place. Allows HTML.",
          "title": "Create new description"
        },
        "createNewButtonLabel": {
          "type": "string",
          "description": "Label for new named place creation button at named place choose page",
          "title": "Create new button label"
        },
        "createNewButtonPrependingTextLabel": {
          "type": "string",
          "description": "Label for text before new named place creation button at named place choose page",
          "title": "Text prepending create new button"
        },
        "documentListUseLocalDocumentViewer": {
          "type": "boolean",
          "description": "Theme own submissions page uses local document viewer (that shows more accurate data)",
          "title": "Use local document viewer for own submissions"
        },
        "documentViewerForcedFields": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Forces local document viewer to show these fields",
          "title": "Document viewer forced fields"
        },
        "documentViewerGatheringGeometryJSONPath": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "The path of geometry that document viewer should show",
          "title": "Document viewer gathering geometry JSON path"
        },
        "documentViewerZoomToData": {
          "type": "boolean",
          "description": "Document viewer zooms to data instead of locked zoom level",
          "title": "Document viewer zoom to data"
        },
        "earlierLabel": {
          "type": "string",
          "description": "Admin label for named place viewer's document list",
          "title": "Earlier document label (ADMIN)"
        },
        "editDescription": {
          "type": "string",
          "description": "Description shown at top of page when editing named place",
          "title": "Edit page description"
        },
        "filterByBirdAssociationArea": {
          "type": "boolean",
          "description": "The named place UI allows filtering by bird association area",
          "title": "Filter named places by bird association area"
        },
        "filterByMunicipality": {
          "type": "boolean",
          "description": "The named place UI allows filtering by municipality",
          "title": "Filter named places by municipality"
        },
        "filterByTags": {
          "type": "boolean",
          "description": "The named place UI allows filtering by tags",
          "title": "Filter named places by tags"
        },
        "filterByTagsWhitelist": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MNP.tagAccessibilityEasy",
              "MNP.tagAccessibilityModerate",
              "MNP.tagAccessibilityDifficult",
              "MNP.tagHabitatImportant",
              "MNP.tagCensusRare",
              "MNP.tagHabitatFarmland",
              "MNP.tagHabitatMire",
              "MNP.tagHabitatMountain",
              "MNP.tagSuitable",
              "MNP.tagTypeIsland",
              "MNP.tagTypePartialIsland",
              "MNP.tagTypeIslandGroup",
              "MNP.tagTypeWater",
              "MNP.tagTypeShoreline",
              "MNP.tagTypeMixed",
              "MNP.tagTypeUnknown",
              "MNP.tagWishedToBeCounted"
            ]
          },
          "minItems": 0,
          "description": "Affects \"MHL.filterByTags\" feature",
          "title": "Tags filter whitelist"
        },
        "headerFields": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "When recording a document for a named place, the named place's data of these fields will be shown at the top of the page (defaults to [\"alternativeIDs\", \"name\", \"municipality\"]",
          "title": "Document header fields of place"
        },
        "hideMapTab": {
          "type": "boolean",
          "description": "On named place chooser view, map tab is hidden",
          "title": "Hide map tab"
        },
        "includeDescendantCollections": {
          "type": "boolean",
          "description": "True by default. The named places of this form includes the places of descendant collections also.",
          "title": "Include descendant collections"
        },
        "includeUnits": {
          "type": "boolean",
          "description": "Named places will be fetched with units included (hard coded to work only for HR.2049)",
          "title": "Include units in named place query"
        },
        "infoFields": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Fields that named place viewer shows (if not defined will be digged from uiSchema[\"ui:options\"].fieldsScopes[form collectionID])",
          "title": "Info fields for viewer"
        },
        "lastCensusLabel": {
          "type": "string",
          "description": "Label for named place viewer last census",
          "title": "Last census label"
        },
        "listColumnNameMapping": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Overrides labels for named place list column headers",
          "title": "List column names"
        },
        "listColumns": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "List of columns visible in the list view",
          "title": "Columns in list"
        },
        "listColumnsMultisort": {
          "type": "boolean",
          "title": "Columns multisort"
        },
        "listLabel": {
          "type": "string",
          "description": "Label for named place chooser list tab",
          "title": "List label"
        },
        "mapCluster": {
          "type": "boolean",
          "title": "Cluster the map points"
        },
        "mapOverlayNames": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Overlays that named place chooser map should show",
          "title": "Map overlays"
        },
        "mapTileLayerName": {
          "type": "string",
          "description": "Tilelayer name that named place chooser map should show",
          "title": "Map tilelayer"
        },
        "myEarlierLabel": {
          "type": "string",
          "description": "User label for named place viewer's document list",
          "title": "Earlier document label (USER)"
        },
        "namedPlaceFormID": {
          "type": "string",
          "description": "Form ID of named place form (defaults to MHL.36)",
          "title": "Form ID"
        },
        "namedPlaceList": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Fields that named places list shows.",
          "title": "Named place list fields"
        },
        "prepopulatedDocumentFields": {
          "type": "object",
          "additionalProperties": true,
          "description": "When a new named place is created, the prepopulatedDocument will be populated according to this.",
          "title": "Prepopulated document initialization"
        },
        "printLabel": {
          "type": "string",
          "description": "Label for print button of named place viewer",
          "title": "Print button label"
        },
        "releaseLabel": {
          "type": "string",
          "title": "Release reservation label"
        },
        "reservableLabel": {
          "type": "string",
          "title": "Reservable label"
        },
        "reservationUntil": {
          "type": "string",
          "description": "Places are reservable if defined. Value defines when the reservation should expire in ISO-8601. Example: ${year}-10-12",
          "title": "Reservation expiration"
        },
        "reservedLabel": {
          "type": "string",
          "title": "Reserved label"
        },
        "showLegendList": {
          "type": "boolean",
          "description": "Named place list shows legend for the row colors",
          "title": "Show list colors legend"
        },
        "startWithMap": {
          "type": "boolean",
          "description": "Named place chooser view starts with map tab instead of list",
          "title": "Start with map tab"
        },
        "tagsWhiteList": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MNP.tagAccessibilityEasy",
              "MNP.tagAccessibilityModerate",
              "MNP.tagAccessibilityDifficult",
              "MNP.tagHabitatImportant",
              "MNP.tagCensusRare",
              "MNP.tagHabitatFarmland",
              "MNP.tagHabitatMire",
              "MNP.tagHabitatMountain",
              "MNP.tagSuitable",
              "MNP.tagTypeIsland",
              "MNP.tagTypePartialIsland",
              "MNP.tagTypeIslandGroup",
              "MNP.tagTypeWater",
              "MNP.tagTypeShoreline",
              "MNP.tagTypeMixed",
              "MNP.tagTypeUnknown",
              "MNP.tagWishedToBeCounted"
            ]
          },
          "minItems": 0,
          "description": "Affects \"MHL.filterByTags\" feature",
          "title": "Tags filter whitelist"
        },
        "useAcceptedDocument": {
          "type": "boolean",
          "description": "Instead of populating observation form with prepopulatedDocument, it is populated with acceptedDocument. Admin can change the acceptedDocument from observation list",
          "title": "use accepted document"
        },
        "useLabel": {
          "type": "string",
          "description": "Named place viewer label for button for recording new observation",
          "title": "Use place label"
        },
        "zoomToData": {
          "type": "boolean",
          "description": "Named place chooser map is initialized with data fitted in view.",
          "title": "Zoom to data"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "adminShowCopyLink",
        "allowAddingPublic",
        "birdAssociationAreaHelp",
        "chooseDescription",
        "copyLatestDocumentToNamedPlace",
        "createDescription",
        "createNewButtonLabel",
        "createNewButtonPrependingTextLabel",
        "documentListUseLocalDocumentViewer",
        "documentViewerForcedFields",
        "documentViewerGatheringGeometryJSONPath",
        "documentViewerZoomToData",
        "earlierLabel",
        "editDescription",
        "filterByBirdAssociationArea",
        "filterByMunicipality",
        "filterByTags",
        "filterByTagsWhitelist",
        "headerFields",
        "hideMapTab",
        "includeDescendantCollections",
        "includeUnits",
        "infoFields",
        "lastCensusLabel",
        "listColumnNameMapping",
        "listColumns",
        "listColumnsMultisort",
        "listLabel",
        "mapCluster",
        "mapOverlayNames",
        "mapTileLayerName",
        "myEarlierLabel",
        "namedPlaceFormID",
        "namedPlaceList",
        "prepopulatedDocumentFields",
        "printLabel",
        "releaseLabel",
        "reservableLabel",
        "reservationUntil",
        "reservedLabel",
        "showLegendList",
        "startWithMap",
        "tagsWhiteList",
        "useAcceptedDocument",
        "useLabel",
        "zoomToData"
      ]
    },
    "store-document": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Submissions"
        },
        "id": {
          "type": "string",
          "title": "Id for the Submissions"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Submissions"
        },
        "secureLevel": {
          "type": "string",
          "enum": [
            "",
            "MX.secureLevelNone",
            "MX.secureLevelKM1",
            "MX.secureLevelKM5",
            "MX.secureLevelKM10",
            "MX.secureLevelKM25",
            "MX.secureLevelKM50",
            "MX.secureLevelKM100",
            "MX.secureLevelHighest",
            "MX.secureLevelNoShow"
          ],
          "description": "Secure level (salaus-/karkeistustaso) for the data",
          "title": "Secure level"
        },
        "DNASampleLocation": {
          "type": "string",
          "description": "Leave empty if no sample taken, or if the sample is recorded separately",
          "title": "DNA sample location"
        },
        "IPEN": {
          "type": "string",
          "description": "IPEN Number for the accession",
          "title": "IPEN"
        },
        "URL": {
          "type": "string",
          "description": "URL where more information is available about the specimen",
          "title": "URL"
        },
        "acknowledgedWarnings": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "minItems": 0,
          "title": "Acknowledged warnings"
        },
        "acquiredFrom": {
          "type": "string",
          "description": "From who/where the specimen was acquired (if not recorded as a transaction)",
          "title": "Acquired from"
        },
        "acquiredFromOrganization": {
          "type": "string",
          "description": "Organization where the accession was acquired from. If the organization is not on the list, add it first.",
          "title": "Acquired from organization"
        },
        "acquisitionDate": {
          "type": "string",
          "description": "Date (d.m.yyyy) or year (yyyy) on which the specimen was acquired to the collection. Empty means an old specimen acquired on an unknown date.",
          "title": "Acquisition date"
        },
        "additionalIDs": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Other identifiers this specimen has, in format 'type:identifier'. For example: 'mzhtypes:123' (old MAZ-type number)",
          "title": "Additional ID's"
        },
        "bold": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "BOLD identifier, usually BOLD Sample ID. You can include additonal comment by separating them with colon, e.g. \"AY123456:comments here\"",
          "title": "BOLD"
        },
        "caption": {
          "type": "string",
          "title": "Document caption"
        },
        "cladBookID": {
          "type": "string",
          "description": "Clad book id number or such",
          "title": "Clad book id"
        },
        "cladSpecimenID": {
          "type": "string",
          "description": "Clad specimen id: usually color description and a number",
          "title": "Clad specimen id"
        },
        "cladVerbatim": {
          "type": "string",
          "description": "Verbatim specimen data from clad book",
          "title": "Clad data verbatim"
        },
        "collectionID": {
          "type": "string",
          "description": "The collection which this specimen belongs to",
          "title": "Collection"
        },
        "condition": {
          "type": "string",
          "description": "Notes on the defects of the specimen (missing parts or such). Empty value means same as \"good\" or \"hyvä\" - that there is nothing special to mention about the condition.",
          "title": "Condition (defects)"
        },
        "contacts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-contact"
          }
        },
        "cultivationInformation": {
          "type": "string",
          "description": "Annuality/perenniality or other specialities about cultivation in our conditions.",
          "title": "Cultivation information"
        },
        "dataOrigin": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.dataOriginPaperForm",
              "MY.dataOriginWebForm",
              "MY.dataOriginSpreadsheetFile"
            ]
          },
          "minItems": 0,
          "title": "Data origin"
        },
        "dataSource": {
          "type": "string",
          "description": "Where the data about this specimen or observation is from, in addition to labels. Eg. reference to a publication, field notes or an expedition.",
          "title": "Data source"
        },
        "datasetID": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "The tags this specimen has",
          "title": "Tags"
        },
        "datatype": {
          "type": "string",
          "title": "Datatype"
        },
        "deviceID": {
          "type": "string",
          "title": "Device ID"
        },
        "digitisers": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Digitised by"
        },
        "documentIdentifications": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-documentIdentification"
          }
        },
        "documentLocation": {
          "type": "string",
          "description": "Location of the specimen so that museum personnel can find it. E.g. taxon under which it is stored (if not clear from the identification), or shelf number",
          "title": "Specimen location"
        },
        "duplicatesIn": {
          "type": "string",
          "description": "Description where duplicates (specimens of the same individual) are located or have been sent to and by which ID's.",
          "title": "Duplicates"
        },
        "editNotes": {
          "type": "string",
          "description": "Reason for this edit or notes about it.",
          "title": "Notes about this edit"
        },
        "editor": {
          "type": "string",
          "title": "Editor"
        },
        "entered": {
          "type": "string",
          "description": "Date the data was first transcribed into electronic format or paper registry",
          "title": "Date transcribed"
        },
        "event": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Free-text diary-style information about what has been done to the specimen and when.",
          "title": "Event"
        },
        "exsiccatum": {
          "type": "string",
          "description": "Name of the exsiccatum this specimen belongs to and possible exsiccatum number.",
          "title": "Exsiccatum"
        },
        "formID": {
          "type": "string",
          "description": "Id of the form that was used for the document",
          "title": "Form id"
        },
        "gatheringEvent": {
          "$ref": "#/components/schemas/store-gatheringEvent"
        },
        "genbank": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Genbank identifier. You can include additonal comment by separating them with colon, e.g. \"AY123456:comments here\"",
          "title": "Genbank"
        },
        "hasGathering": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "hasGathering"
        },
        "isTemplate": {
          "type": "boolean",
          "title": "Use document as template"
        },
        "keywords": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Keywords"
        },
        "labelsVerbatim": {
          "type": "string",
          "description": "All text from labels word-for-word, including spelling errors. Separate each label on its own row, starting from topmost label.",
          "title": "Verbatim labels"
        },
        "language": {
          "type": "string",
          "description": "Language the data is (mainly) written in, if applicable.",
          "title": "Language"
        },
        "legID": {
          "type": "string",
          "description": "Collecting number (field identifier, keruunumero) for the specimen",
          "title": "Collecting number"
        },
        "locked": {
          "type": "boolean",
          "title": "Locked"
        },
        "namedPlaceID": {
          "type": "string",
          "title": "Named place"
        },
        "notes": {
          "type": "string",
          "description": "Additional information to the data in each section.",
          "title": "Notes"
        },
        "observationID": {
          "type": "string",
          "description": "ID for the observation in another system, e.g. Vihko/Notebook. Format System:identifier.",
          "title": "Observation ID"
        },
        "originalSpecimenID": {
          "type": "string",
          "description": "Original catalogue number or other  original identifier of the specimen. E.g. H9000000",
          "title": "Original catalogue number"
        },
        "plannedLocation": {
          "type": "string",
          "description": "Garden area where this accession is planned to be located.",
          "title": "Planned location"
        },
        "preservation": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.preservationPressed",
              "MY.preservationDry",
              "MY.preservationCriticalPointDrying",
              "MY.preservationPinned",
              "MY.preservationGlued",
              "MY.preservationLiquid",
              "MY.preservationEthanol",
              "MY.preservationEthanolPure",
              "MY.preservationEthanol70",
              "MY.preservationEthanol80",
              "MY.preservationEthanol80Pure",
              "MY.preservationEthanol96",
              "MY.preservationEthanolMinus20C",
              "MY.preservationEthanolDenatured",
              "MY.preservationEthanolFormalin",
              "MY.preservationEthanolExFormalin",
              "MY.preservationFormalin",
              "MY.preservationBouinSolution",
              "MY.preservationPampelsFluid",
              "MY.preservationGlycerol",
              "MY.preservationParaffin",
              "MY.preservationMercuricChloride",
              "MY.preservationCryopreserved",
              "MY.preservationFrozen",
              "MY.preservationFrozenMinus80C",
              "MY.preservationFreezeDried",
              "MY.preservationGoldPlated",
              "MY.preservationActiveCulture",
              "MY.preservationLiving",
              "MY.preservationSlide",
              "MY.preservationSlideCanadaBalsam",
              "MY.preservationSlideEuparal",
              "MY.preservationSlidePolyviol",
              "MY.preservationStuffed",
              "MY.preservationCast",
              "MY.preservationPlastinated",
              "MY.preservationFrozenMinus80CAndEthanolMinus20C"
            ]
          },
          "minItems": 0,
          "description": "Main method of preservation. If parts of the specimen are preserved in different ways, you can choose several methods.",
          "title": "Preservation"
        },
        "primaryDataLocation": {
          "type": "string",
          "description": "Location of the primary data if not Kotka.",
          "title": "Primary data location"
        },
        "privateNotes": {
          "type": "string",
          "description": "Notes shown within the system for users signed in but not shown publicly anywhere. Use only for notes that absolutely need to be hidden from public view.",
          "title": "Nonpublic notes"
        },
        "publication": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Publication references or doi's that refer to this specimen",
          "title": "Publications"
        },
        "rawOCRData": {
          "type": "string",
          "description": "Optical character recognition or AI generated data in its raw format, errors and all.",
          "title": "Raw OCR data"
        },
        "relationship": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Relationship to another taxon OR specimen. Choose relationship type as prefix and give taxon name or specimen identifier thereafter, e.g. \"parasite: Parasiticus specius\" OR \"host:http://tun.fi/JAA.123\"",
          "title": "Relationship"
        },
        "sampleHistory": {
          "type": "string",
          "description": "The history of the specimen, for example how it was acquired or in which museums it has been before.",
          "title": "Specimen history"
        },
        "separatedFrom": {
          "type": "string",
          "description": "ID of the specimen from which this has been separated",
          "title": "Separated from specimen"
        },
        "separatedTo": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "ID's of those new specimens that have been separated from this specimen",
          "title": "Separated to specimen(s)"
        },
        "serialNumber": {
          "type": "string",
          "title": "Serial number"
        },
        "sourceID": {
          "type": "string",
          "title": "Source system id"
        },
        "status": {
          "type": "string",
          "enum": [
            "",
            "MY.statusOk",
            "MY.statusMissing",
            "MY.statusUnrecoverable",
            "MY.statusLost",
            "MY.statusDonated",
            "MY.statusDeposited",
            "MY.statusDeaccessioned",
            "MY.statusDiscarded",
            "MY.statusSpent",
            "MY.statusDestroyed",
            "MY.statusUndefined",
            "MY.statusAxenic",
            "MY.statusNonAxenic",
            "MY.statusNotAvailable",
            "MY.statusDead",
            "MY.statusNoVoucherRetained"
          ],
          "description": "Empty value means same as \"ok\" - that there is not anything special about the status of the specimen.",
          "title": "Status"
        },
        "temp": {
          "type": "boolean",
          "title": "Temporary document"
        },
        "templateDescription": {
          "type": "string",
          "title": "Template description"
        },
        "templateName": {
          "type": "string",
          "title": "Template name"
        },
        "transcriberNotes": {
          "type": "string",
          "description": "Additional information regarding the data entry or transcription process, e.g. unclarities, explanations for interpretations,",
          "title": "Transcriber's notes"
        },
        "transferAgreement": {
          "type": "string",
          "description": "Common name of agreement concerning the transfer, if any.",
          "title": "Transfer agreement"
        },
        "unreliableFields": {
          "type": "string",
          "description": "List of those fields that contain unreliable data. The list is created automatically.",
          "title": "Unreliable fields"
        },
        "verificationStatus": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.verificationStatusOk",
              "MY.verificationStatusVerify",
              "MY.verificationStatusNeedsCompletion",
              "MY.verificationStatusGeoreference",
              "MY.verificationStatusDet",
              "MY.verificationStatusCheckID",
              "MY.verificationStatusVerifyCoordinates"
            ]
          },
          "minItems": 0,
          "description": "Information about the quality of the specimen data. Possible to select several.",
          "title": "Verification status"
        },
        "voucherSpecimenID": {
          "type": "string",
          "description": "Identifier of the herbarium voucher specimen or information about it if the identifier is unknown.",
          "title": "Voucher specimen ID"
        },
        "creator": {
          "type": "string",
          "title": "Creator"
        },
        "dateCreated": {
          "type": "string",
          "format": "date-time",
          "title": "Created"
        },
        "dateEdited": {
          "type": "string",
          "format": "date-time",
          "title": "Edited"
        },
        "editors": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Editors"
        },
        "images": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Images"
        },
        "owner": {
          "type": "string",
          "description": "Team or organisation that owns the record and can edit it.",
          "title": "Owner of record"
        },
        "publicityRestrictions": {
          "type": "string",
          "enum": [
            "",
            "MZ.publicityRestrictionsPublic",
            "MZ.publicityRestrictionsProtected",
            "MZ.publicityRestrictionsPrivate"
          ],
          "description": "PUBLIC: all data can be published; PROTECTED: exact locality is hidden (100*100km square); PRIVATE: most of the data is hidden. Empty value means same as public.",
          "title": "Publicity restrictions"
        },
        "scheduledForDeletion": {
          "type": "boolean",
          "title": "Scheduled for deletion"
        },
        "gatherings": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-gathering"
          }
        }
      },
      "required": [
        "gatherings"
      ],
      "additionalProperties": false
    },
    "store-contact": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Contact"
        },
        "id": {
          "type": "string",
          "title": "Id for the Contact"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Contact"
        },
        "emailAddress": {
          "type": "string",
          "title": "Email address"
        },
        "inheritedName": {
          "type": "string",
          "title": "Last name"
        },
        "preferredName": {
          "type": "string",
          "title": "Kutsumanimi"
        },
        "city": {
          "type": "string",
          "title": "City"
        },
        "country": {
          "type": "string",
          "title": "Country"
        },
        "phoneNumber": {
          "type": "string",
          "title": "Phone number"
        },
        "postalCode": {
          "type": "string",
          "title": "Postal code"
        },
        "streetAddress": {
          "type": "string",
          "title": "Street address"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "emailAddress",
        "inheritedName",
        "preferredName",
        "city",
        "country",
        "phoneNumber",
        "postalCode",
        "streetAddress"
      ]
    },
    "store-documentIdentification": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Document identification"
        },
        "id": {
          "type": "string",
          "title": "Id for the Document identification"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Document identification"
        },
        "det": {
          "type": "string",
          "description": "Name of the identifier (person) preferably in format \"lastname, firstname\"",
          "title": "Det."
        },
        "detDate": {
          "type": "string",
          "description": "Date or year when the identification was done, preferably in format \"d.m.Y\" or \"Y\"",
          "title": "Det. date"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "det",
        "detDate"
      ]
    },
    "store-gatheringEvent": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Global gathering event"
        },
        "id": {
          "type": "string",
          "title": "Id for the Global gathering event"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Global gathering event"
        },
        "acknowledgeNoUnitsInCensus": {
          "type": "boolean",
          "title": "No units in census"
        },
        "artificialLight": {
          "type": "string",
          "enum": [
            "",
            "MY.artificialLightEnum1",
            "MY.artificialLightEnum2",
            "MY.artificialLightEnum3",
            "MY.artificialLightEnum4",
            "MY.artificialLightEnum5"
          ],
          "title": "Artificial light"
        },
        "breaksDuringCensusInMinutes": {
          "type": "integer",
          "minimum": 0,
          "title": "Breaks kept in minutes"
        },
        "censusCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Number of censuses"
        },
        "censusHinderedByEnviromentalFactors": {
          "type": "boolean",
          "title": "Weather (etc) hindered the census"
        },
        "censusHinderedByFog": {
          "type": "boolean",
          "title": "Fog hindered the census"
        },
        "censusHinderedByRain": {
          "type": "boolean",
          "title": "Rain hindered the census"
        },
        "censusHinderedByWind": {
          "type": "boolean",
          "title": "Wind hindered the census"
        },
        "censusPrematurelyAborted": {
          "type": "boolean",
          "title": "Was the census prematurely aborted?"
        },
        "cloudCover": {
          "type": "string",
          "enum": [
            "",
            "MY.cloudCoverOktaEnumUnknown",
            "MY.cloudCoverOktaEnum0",
            "MY.cloudCoverOktaEnum1",
            "MY.cloudCoverOktaEnum2",
            "MY.cloudCoverOktaEnum3",
            "MY.cloudCoverOktaEnum4",
            "MY.cloudCoverOktaEnum5",
            "MY.cloudCoverOktaEnum6",
            "MY.cloudCoverOktaEnum7",
            "MY.cloudCoverOktaEnum8"
          ],
          "title": "Cloudiness"
        },
        "cloudCoverEnd": {
          "type": "string",
          "enum": [
            "",
            "MY.cloudCoverOktaEnumUnknown",
            "MY.cloudCoverOktaEnum0",
            "MY.cloudCoverOktaEnum1",
            "MY.cloudCoverOktaEnum2",
            "MY.cloudCoverOktaEnum3",
            "MY.cloudCoverOktaEnum4",
            "MY.cloudCoverOktaEnum5",
            "MY.cloudCoverOktaEnum6",
            "MY.cloudCoverOktaEnum7",
            "MY.cloudCoverOktaEnum8"
          ],
          "title": "End cloud cover"
        },
        "cloudCoverStart": {
          "type": "string",
          "enum": [
            "",
            "MY.cloudCoverOktaEnumUnknown",
            "MY.cloudCoverOktaEnum0",
            "MY.cloudCoverOktaEnum1",
            "MY.cloudCoverOktaEnum2",
            "MY.cloudCoverOktaEnum3",
            "MY.cloudCoverOktaEnum4",
            "MY.cloudCoverOktaEnum5",
            "MY.cloudCoverOktaEnum6",
            "MY.cloudCoverOktaEnum7",
            "MY.cloudCoverOktaEnum8"
          ],
          "title": "Start cloud cover"
        },
        "completeList": {
          "$ref": "#/components/schemas/store-completeList"
        },
        "dateBegin": {
          "type": "string",
          "description": "Collection date as exact date or start date for a time period.",
          "title": "Start date"
        },
        "dateEnd": {
          "type": "string",
          "description": "End date for a collection time period, if exact date is not know.",
          "title": "End date"
        },
        "gatheringFact": {
          "$ref": "#/components/schemas/store-gatheringFact"
        },
        "geometry": {
          "$ref": "#/components/schemas/store-geometry"
        },
        "gpsUsed": {
          "type": "boolean",
          "title": "GPS used"
        },
        "leg": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Name of the collector(s), in format 'Lastname, Firstname; Lastname Firstname'",
          "title": "Leg"
        },
        "legPublic": {
          "type": "boolean",
          "title": "Display names publically?"
        },
        "legUserID": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Alkuperäislähteen käyttäjätunnus",
          "title": "Käyttäjätunnus"
        },
        "machineAssistance": {
          "type": "string",
          "enum": [
            "",
            "MY.machineAssistanceUnknown",
            "MY.machineAssistanceNotUsed",
            "MY.machineAssistanceUsed",
            "MY.machineAssistanceMachineOnly"
          ],
          "title": "AI used"
        },
        "namedPlaceNotes": {
          "type": "string",
          "title": "Info about this route"
        },
        "nextMonitoringYear": {
          "type": "integer",
          "title": "Next monitoring year"
        },
        "notes": {
          "type": "string",
          "description": "Additional information to the data in each section.",
          "title": "Notes"
        },
        "rainIntensity": {
          "type": "string",
          "enum": [
            "",
            "MY.rainIntensityEnumNoRain",
            "MY.rainIntensityEnumLightRain",
            "MY.rainIntensityEnumModerateRain",
            "MY.rainIntensityEnumHeavyRain",
            "MY.rainIntensityEnumTorrentialRain"
          ],
          "title": "Rain intensity"
        },
        "routeDirectionAdhered": {
          "type": "boolean",
          "title": "Adhered route direction"
        },
        "spottingScopeUsed": {
          "type": "boolean",
          "title": "Spotting scope"
        },
        "startDistanceFromNECorner": {
          "type": "string",
          "title": "Start distance from NE corner (m)"
        },
        "startPointDeviation": {
          "type": "integer",
          "title": "Start point deviation (m)"
        },
        "taxonCensus": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-taxonCensus"
          }
        },
        "temperature": {
          "type": "integer",
          "title": "Temperature in celsius"
        },
        "temperatureEnd": {
          "type": "number",
          "title": "End temperature / °C"
        },
        "temperatureStart": {
          "type": "number",
          "title": "Start temperature / °C"
        },
        "timeEnd": {
          "type": "string",
          "title": "End time"
        },
        "timeStart": {
          "type": "string",
          "title": "Start time"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "acknowledgeNoUnitsInCensus",
        "artificialLight",
        "breaksDuringCensusInMinutes",
        "censusCount",
        "censusHinderedByEnviromentalFactors",
        "censusHinderedByFog",
        "censusHinderedByRain",
        "censusHinderedByWind",
        "censusPrematurelyAborted",
        "cloudCover",
        "cloudCoverEnd",
        "cloudCoverStart",
        "completeList",
        "dateBegin",
        "dateEnd",
        "gatheringFact",
        "geometry",
        "gpsUsed",
        "leg",
        "legPublic",
        "legUserID",
        "machineAssistance",
        "namedPlaceNotes",
        "nextMonitoringYear",
        "notes",
        "rainIntensity",
        "routeDirectionAdhered",
        "spottingScopeUsed",
        "startDistanceFromNECorner",
        "startPointDeviation",
        "taxonCensus",
        "temperature",
        "temperatureEnd",
        "temperatureStart",
        "timeEnd",
        "timeStart"
      ]
    },
    "store-completeList": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MY.completeListClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MY.completeListClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MY.completeListClass"
        },
        "completeListTaxonID": {
          "type": "string",
          "title": "Species"
        },
        "completeListType": {
          "type": "string",
          "enum": [
            "",
            "MY.completeListTypeCompleteWithBreedingStatus",
            "MY.completeListTypeComplete",
            "MY.completeListTypeIncomplete"
          ],
          "title": "Species list completeness"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "completeListTaxonID",
        "completeListType"
      ]
    },
    "store-gatheringFact": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Keruutapahtuman faktat"
        },
        "id": {
          "type": "string",
          "title": "Id for the Keruutapahtuman faktat"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Keruutapahtuman faktat"
        },
        "allObservedNestsRecorded": {
          "type": "boolean",
          "title": "Kaikki havaitut pesäkolot ja pöntöt kirjattu"
        },
        "batCollector": {
          "type": "string",
          "enum": [
            "",
            "MY.batCollectorAlone",
            "MY.batCollectorWithProjectGroupMember",
            "MY.batCollectorSomeoneElse"
          ],
          "title": "I placed the sound recorder to the terrain"
        },
        "binocularsUsed": {
          "type": "boolean",
          "title": "Binoculars"
        },
        "censusAreaHectares": {
          "type": "integer",
          "minimum": 0,
          "title": "Census area/ha"
        },
        "documentation": {
          "type": "string",
          "title": "Observation documentation"
        },
        "invasiveControlOtherExpensesInEuros": {
          "type": "integer",
          "minimum": 0,
          "title": "Estimated of other expenses in euros"
        },
        "invasiveControlWorkHours": {
          "type": "integer",
          "minimum": 0,
          "title": "Work hours spent during the control"
        },
        "lineTransectNests": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-lineTransectNest"
          }
        },
        "lineTransectSegmentCounted": {
          "type": "boolean",
          "title": "Biotope counted"
        },
        "lineTransectSegmentMetersEnd": {
          "type": "integer",
          "minimum": 0,
          "title": "Biotope's end meter amount from the start of the line"
        },
        "lineTransectSegmentMetersStart": {
          "type": "integer",
          "minimum": 0,
          "title": "Biotope's start meter amount from the start of the line"
        },
        "lolifeSiteClassification": {
          "type": "string",
          "enum": [
            "",
            "MY.lolifeSiteClassificationExcellent",
            "MY.lolifeSiteClassificationSuboptimal",
            "MY.lolifeSiteClassificationPossible",
            "MY.lolifeSiteClassificationCurrentlyUnsuitable",
            "MY.lolifeSiteClassificationPermanentlyUnsuitable"
          ],
          "title": "Site classification"
        },
        "lolifeSiteClassificationComments": {
          "type": "string",
          "title": "Classification comments"
        },
        "marineArea": {
          "type": "string",
          "title": "Marine area"
        },
        "marineMammalExpertise": {
          "type": "string",
          "title": "Observer's marine mammal expertise"
        },
        "observationTools": {
          "type": "string",
          "title": "Observation tools"
        },
        "observedAreaHectares": {
          "type": "integer",
          "minimum": 0,
          "title": "Observed area/ha"
        },
        "pointCountHabitat": {
          "type": "string",
          "enum": [
            "",
            "MY.pointCountHabitat0",
            "MY.pointCountHabitat1",
            "MY.pointCountHabitat2",
            "MY.pointCountHabitat3",
            "MY.pointCountHabitat4",
            "MY.pointCountHabitat5",
            "MY.pointCountHabitat6",
            "MY.pointCountHabitat7",
            "MY.pointCountHabitat8",
            "MY.pointCountHabitat9",
            "MY.pointCountHabitat10",
            "MY.pointCountHabitat11",
            "MY.pointCountHabitat12",
            "MY.pointCountHabitat13",
            "MY.pointCountHabitat14",
            "MY.pointCountHabitat15",
            "MY.pointCountHabitat16",
            "MY.pointCountHabitat17"
          ],
          "title": "Biotooppi"
        },
        "shorelineLengthMeters": {
          "type": "integer",
          "minimum": 0,
          "title": "Shoreline length/m"
        },
        "spottingScopeUsed": {
          "type": "boolean",
          "title": "Spotting scope"
        },
        "sunniness": {
          "type": "integer",
          "minimum": 0,
          "title": "Sunniness %"
        },
        "sykeButterFlyCensusWind": {
          "type": "string",
          "enum": [
            "",
            "MY.sykeButterFlyCensusWindEnumUnknown",
            "MY.sykeButterFlyCensusWindEnum0",
            "MY.sykeButterFlyCensusWindEnum1",
            "MY.sykeButterFlyCensusWindEnum2",
            "MY.sykeButterFlyCensusWindEnum3",
            "MY.sykeButterFlyCensusWindEnum4",
            "MY.sykeButterFlyCensusWindEnum5",
            "MY.sykeButterFlyCensusWindEnum6"
          ],
          "title": "Windiness"
        },
        "sykeButterFlyCensusWindEnd": {
          "type": "string",
          "enum": [
            "",
            "MY.sykeButterFlyCensusWindEnumUnknown",
            "MY.sykeButterFlyCensusWindEnum0",
            "MY.sykeButterFlyCensusWindEnum1",
            "MY.sykeButterFlyCensusWindEnum2",
            "MY.sykeButterFlyCensusWindEnum3",
            "MY.sykeButterFlyCensusWindEnum4",
            "MY.sykeButterFlyCensusWindEnum5",
            "MY.sykeButterFlyCensusWindEnum6"
          ],
          "title": "End windiness"
        },
        "sykeButterFlyCensusWindStart": {
          "type": "string",
          "enum": [
            "",
            "MY.sykeButterFlyCensusWindEnumUnknown",
            "MY.sykeButterFlyCensusWindEnum0",
            "MY.sykeButterFlyCensusWindEnum1",
            "MY.sykeButterFlyCensusWindEnum2",
            "MY.sykeButterFlyCensusWindEnum3",
            "MY.sykeButterFlyCensusWindEnum4",
            "MY.sykeButterFlyCensusWindEnum5",
            "MY.sykeButterFlyCensusWindEnum6"
          ],
          "title": "Start windiness"
        },
        "waterbirdCensusPeriod": {
          "type": "string",
          "enum": [
            "",
            "MY.waterbirdCensusPeriodEnum1",
            "MY.waterbirdCensusPeriodEnum2",
            "MY.waterbirdCensusPeriodEnumJuvenile",
            "MY.waterbirdCensusPeriodEnumAdditional",
            "MY.waterbirdCensusPeriodEnumCombined"
          ],
          "title": "Census period"
        },
        "waterbirdHabitat": {
          "type": "string",
          "enum": [
            "",
            "MY.waterbirdHabitatEnum1",
            "MY.waterbirdHabitatEnum2",
            "MY.waterbirdHabitatEnum3",
            "MY.waterbirdHabitatEnum4",
            "MY.waterbirdHabitatEnum5",
            "MY.waterbirdHabitatEnum6",
            "MY.waterbirdHabitatEnum7",
            "MY.waterbirdHabitatEnum8",
            "MY.waterbirdHabitatEnum9",
            "MY.waterbirdHabitatEnum10"
          ],
          "title": "Habitat"
        },
        "ykjSquareNumber": {
          "type": "string",
          "title": "Atlas grid"
        },
        "ACAFLAonAlder": {
          "type": "integer",
          "minimum": 0,
          "title": "Urpiaisten ruokailut lepällä"
        },
        "ACAFLAonBirch": {
          "type": "integer",
          "minimum": 0,
          "title": "Urpiaisten ruokailut koivulla"
        },
        "ACAFLAonGround": {
          "type": "integer",
          "minimum": 0,
          "title": "Urpiaisten ruokailut maassa"
        },
        "ACAFLAonPine": {
          "type": "integer",
          "minimum": 0,
          "title": "Urpiaisten ruokailut männyllä"
        },
        "ACAFLAonSpruce": {
          "type": "integer",
          "minimum": 0,
          "title": "Urpiaisten ruokailut kuusella"
        },
        "CARSPIonAlder": {
          "type": "integer",
          "minimum": 0,
          "title": "Vihervarpusten ruokailut lepällä"
        },
        "CARSPIonBirch": {
          "type": "integer",
          "minimum": 0,
          "title": "Vihervarpusten ruokailut koivulla"
        },
        "CARSPIonGround": {
          "type": "integer",
          "minimum": 0,
          "title": "Vihervarpusten ruokailut maassa"
        },
        "CARSPIonPine": {
          "type": "integer",
          "minimum": 0,
          "title": "CARSPIonPine"
        },
        "CARSPIonSpruce": {
          "type": "integer",
          "minimum": 0,
          "title": "Vihervarpusten ruokailut kuusella"
        },
        "LOXIAonAlder": {
          "type": "integer",
          "minimum": 0,
          "title": "Käpylintujen ruokailut lepällä"
        },
        "LOXIAonBirch": {
          "type": "integer",
          "minimum": 0,
          "title": "Käpylintujen ruokailut koivulla"
        },
        "LOXIAonGround": {
          "type": "integer",
          "minimum": 0,
          "title": "Käpylintujen ruokailut maassa"
        },
        "LOXIAonPine": {
          "type": "integer",
          "minimum": 0,
          "title": "Käpylintujen ruokailut männyllä"
        },
        "LOXIAonSpruce": {
          "type": "integer",
          "minimum": 0,
          "title": "Käpylintujen ruokailut kuusella"
        },
        "abundanceBOMGAR": {
          "type": "string",
          "enum": [
            "",
            "WBC.speciesAbundanceEnum0",
            "WBC.speciesAbundanceEnum1",
            "WBC.speciesAbundanceEnum2",
            "WBC.speciesAbundanceEnum3"
          ],
          "title": "Tilhi"
        },
        "abundancePINENU": {
          "type": "string",
          "enum": [
            "",
            "WBC.speciesAbundanceEnum0",
            "WBC.speciesAbundanceEnum1",
            "WBC.speciesAbundanceEnum2",
            "WBC.speciesAbundanceEnum3"
          ],
          "title": "Taviokuurna"
        },
        "abundanceTURPIL": {
          "type": "string",
          "enum": [
            "",
            "WBC.speciesAbundanceEnum0",
            "WBC.speciesAbundanceEnum1",
            "WBC.speciesAbundanceEnum2",
            "WBC.speciesAbundanceEnum3"
          ],
          "title": "Räkättirastas"
        },
        "birdFeederCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Lintulautoja (kpl)"
        },
        "birdFeederCountBiotopeA": {
          "type": "integer",
          "minimum": 0,
          "title": "Kaatopaikan lintulaudat"
        },
        "birdFeederCountBiotopeB": {
          "type": "integer",
          "minimum": 0,
          "title": "Kaupunkiasutuksen lintulaudat"
        },
        "birdFeederCountBiotopeC": {
          "type": "integer",
          "minimum": 0,
          "title": "Maaseutuasutuksen lintulaudat"
        },
        "birdFeederCountBiotopeD": {
          "type": "integer",
          "minimum": 0,
          "title": "Pellon lintulaudat"
        },
        "birdFeederCountBiotopeE": {
          "type": "integer",
          "minimum": 0,
          "title": "Metsän lintulaudat"
        },
        "birdFeederCountBiotopeF": {
          "type": "integer",
          "minimum": 0,
          "title": "Lintulaudat muu biotooppi"
        },
        "birdFeederCountBiotopeG": {
          "type": "integer",
          "minimum": 0,
          "title": "Hakkuuaukean lintulaudat"
        },
        "birdFeederCountBiotopeH": {
          "type": "integer",
          "minimum": 0,
          "title": "Ruovikon lintulaudat"
        },
        "cloudAndRain": {
          "type": "string",
          "enum": [
            "",
            "WBC.cloudAndRainEnum0",
            "WBC.cloudAndRainEnum1",
            "WBC.cloudAndRainEnum2",
            "WBC.cloudAndRainEnum3",
            "WBC.cloudAndRainEnum4"
          ],
          "title": "Pilvisyys ja sade"
        },
        "descriptionBiotopeF": {
          "type": "string",
          "title": "Mitä biotooppiin Muu (F) kuuluu"
        },
        "feedingStationCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Ruokintapaikkoja (kpl)"
        },
        "feedingStationCountBiotopeA": {
          "type": "integer",
          "minimum": 0,
          "title": "feedingStationCountBiotopeA"
        },
        "feedingStationCountBiotopeB": {
          "type": "integer",
          "minimum": 0,
          "title": "Kaupunkiasutuksen ruokintapaikat"
        },
        "feedingStationCountBiotopeC": {
          "type": "integer",
          "minimum": 0,
          "title": "Maaseutuasutuksen ruokintapaikat"
        },
        "feedingStationCountBiotopeD": {
          "type": "integer",
          "minimum": 0,
          "title": "Pellon ruokintapaikat"
        },
        "feedingStationCountBiotopeE": {
          "type": "integer",
          "minimum": 0,
          "title": "Metsän ruokintapaikat"
        },
        "feedingStationCountBiotopeF": {
          "type": "integer",
          "minimum": 0,
          "title": "Ruokintapaikat muu biotooppi"
        },
        "feedingStationCountBiotopeG": {
          "type": "integer",
          "minimum": 0,
          "title": "Ruovikon ruokintapaikat"
        },
        "feedingStationCountBiotopeH": {
          "type": "integer",
          "minimum": 0,
          "title": "Ruovikon ruokintapaikat"
        },
        "iceCover": {
          "type": "string",
          "enum": [
            "",
            "WBC.iceCoverEnum0",
            "WBC.iceCoverEnum1",
            "WBC.iceCoverEnum2",
            "WBC.iceCoverEnum3",
            "WBC.iceCoverEnum4"
          ],
          "title": "Jääpeite"
        },
        "meanTemperature": {
          "type": "integer",
          "title": "Keskilämpötila (asteen tarkkuus)"
        },
        "observerCount": {
          "type": "integer",
          "exclusiveMinimum": true,
          "title": "Laskijoiden lukumäärä",
          "minimum": 0
        },
        "observerID": {
          "type": "integer",
          "minimum": 0,
          "title": "Havainnoijanumero"
        },
        "pineConesAtCensus": {
          "type": "string",
          "enum": [
            "",
            "WBC.berriesAndConesEnum0",
            "WBC.berriesAndConesEnum1",
            "WBC.berriesAndConesEnum2",
            "WBC.berriesAndConesEnum3",
            "WBC.berriesAndConesEnum4",
            "WBC.berriesAndConesEnum5",
            "WBC.berriesAndConesEnum6"
          ],
          "title": "Männynkäpyjä laskenta-aikaan"
        },
        "routeID": {
          "type": "integer",
          "minimum": 0,
          "title": "Reitin numero"
        },
        "routeLength": {
          "type": "integer",
          "minimum": 0,
          "title": "Reitin pituus (m)"
        },
        "routeLengthBiotopeA": {
          "type": "integer",
          "minimum": 0,
          "title": "Route length dump"
        },
        "routeLengthBiotopeB": {
          "type": "integer",
          "minimum": 0,
          "title": "Route length urban"
        },
        "routeLengthBiotopeC": {
          "type": "integer",
          "minimum": 0,
          "title": "Route length countryside"
        },
        "routeLengthBiotopeD": {
          "type": "integer",
          "minimum": 0,
          "title": "Route length field"
        },
        "routeLengthBiotopeE": {
          "type": "integer",
          "minimum": 0,
          "title": "Route length forest"
        },
        "routeLengthBiotopeF": {
          "type": "integer",
          "minimum": 0,
          "title": "Route length other biotope"
        },
        "routeLengthBiotopeG": {
          "type": "integer",
          "minimum": 0,
          "title": "Route length cutting open"
        },
        "routeLengthBiotopeH": {
          "type": "integer",
          "minimum": 0,
          "title": "Route length reed"
        },
        "routeLengthChange": {
          "type": "integer",
          "title": "Reitin muutokset (m)"
        },
        "routeLengthChangeBiotopeA": {
          "type": "integer",
          "title": "Reitin muutokset kaatopaikka"
        },
        "routeLengthChangeBiotopeB": {
          "type": "integer",
          "title": "Reitin muutokset kaupunkiasutus"
        },
        "routeLengthChangeBiotopeC": {
          "type": "integer",
          "title": "Reitin muutokset maaseutuasutus"
        },
        "routeLengthChangeBiotopeD": {
          "type": "integer",
          "title": "Reitin muutokset pelto"
        },
        "routeLengthChangeBiotopeE": {
          "type": "integer",
          "title": "Reitin muutokset metsä"
        },
        "routeLengthChangeBiotopeF": {
          "type": "integer",
          "title": "Reitin muutokset muu biotooppi"
        },
        "routeLengthChangeBiotopeG": {
          "type": "integer",
          "title": "Reitin muutokset hakkuuaukea"
        },
        "routeLengthChangeBiotopeH": {
          "type": "integer",
          "title": "Reitin muutokset ruovikko"
        },
        "snowAndIceOnTrees": {
          "type": "string",
          "enum": [
            "",
            "WBC.snowAndIceOnTreesEnum0",
            "WBC.snowAndIceOnTreesEnum1",
            "WBC.snowAndIceOnTreesEnum2",
            "WBC.snowAndIceOnTreesEnum3"
          ],
          "title": "Puissa oleva lumi ja jääkarsta"
        },
        "snowCover": {
          "type": "string",
          "enum": [
            "",
            "WBC.snowCoverEnum0",
            "WBC.snowCoverEnum1",
            "WBC.snowCoverEnum2",
            "WBC.snowCoverEnum3",
            "WBC.snowCoverEnum4",
            "WBC.snowCoverEnum5",
            "WBC.snowCoverEnum6",
            "WBC.snowCoverEnum7",
            "WBC.snowCoverEnum8"
          ],
          "title": "Lumipeite"
        },
        "sorbusBerriesAtCensus": {
          "type": "string",
          "enum": [
            "",
            "WBC.berriesAndConesEnum0",
            "WBC.berriesAndConesEnum1",
            "WBC.berriesAndConesEnum2",
            "WBC.berriesAndConesEnum3",
            "WBC.berriesAndConesEnum4",
            "WBC.berriesAndConesEnum5",
            "WBC.berriesAndConesEnum6"
          ],
          "title": "Pihlajanmarjoja laskenta-aikaan"
        },
        "sorbusBerriesEarlyFall": {
          "type": "string",
          "enum": [
            "",
            "WBC.berriesAndConesEnum0",
            "WBC.berriesAndConesEnum1",
            "WBC.berriesAndConesEnum2",
            "WBC.berriesAndConesEnum3",
            "WBC.berriesAndConesEnum4",
            "WBC.berriesAndConesEnum5",
            "WBC.berriesAndConesEnum6"
          ],
          "title": "Pihlajanmarjoja alkusyksyllä"
        },
        "spruceConesAtCensus": {
          "type": "string",
          "enum": [
            "",
            "WBC.berriesAndConesEnum0",
            "WBC.berriesAndConesEnum1",
            "WBC.berriesAndConesEnum2",
            "WBC.berriesAndConesEnum3",
            "WBC.berriesAndConesEnum4",
            "WBC.berriesAndConesEnum5",
            "WBC.berriesAndConesEnum6"
          ],
          "title": "Kuusenkäpyjä laskenta-aikaan"
        },
        "typeOfSnowCover": {
          "type": "string",
          "enum": [
            "",
            "WBC.typeOfSnowCoverEnum0",
            "WBC.typeOfSnowCoverEnum1",
            "WBC.typeOfSnowCoverEnum2"
          ],
          "title": "Maassa olevan lumen laatu"
        },
        "visibility": {
          "type": "string",
          "enum": [
            "",
            "WBC.visibilityEnum0",
            "WBC.visibilityEnum1",
            "WBC.visibilityEnum2",
            "WBC.visibilityEnum3",
            "WBC.visibilityEnum4"
          ],
          "title": "Näkyvyys"
        },
        "waterbodies": {
          "type": "string",
          "enum": [
            "",
            "WBC.waterbodiesEnum0",
            "WBC.waterbodiesEnum1",
            "WBC.waterbodiesEnum2",
            "WBC.waterbodiesEnum3",
            "WBC.waterbodiesEnum4",
            "WBC.waterbodiesEnum5"
          ],
          "title": "Vesistöt"
        },
        "wayOfTravel": {
          "type": "string",
          "enum": [
            "",
            "WBC.wayOfTravelEnum0",
            "WBC.wayOfTravelEnum1",
            "WBC.wayOfTravelEnum2",
            "WBC.wayOfTravelEnum3",
            "WBC.wayOfTravelEnum9"
          ],
          "title": "Kulkutapa"
        },
        "wayOfTravelNotes": {
          "type": "string",
          "title": "Kulkutavan kuvaus"
        },
        "wind": {
          "type": "string",
          "enum": [
            "",
            "WBC.windEnum0",
            "WBC.windEnum1",
            "WBC.windEnum2",
            "WBC.windEnum3",
            "WBC.windEnum4"
          ],
          "title": "Tuuli"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "allObservedNestsRecorded",
        "batCollector",
        "binocularsUsed",
        "censusAreaHectares",
        "documentation",
        "invasiveControlOtherExpensesInEuros",
        "invasiveControlWorkHours",
        "lineTransectNests",
        "lineTransectSegmentCounted",
        "lineTransectSegmentMetersEnd",
        "lineTransectSegmentMetersStart",
        "lolifeSiteClassification",
        "lolifeSiteClassificationComments",
        "marineArea",
        "marineMammalExpertise",
        "observationTools",
        "observedAreaHectares",
        "pointCountHabitat",
        "shorelineLengthMeters",
        "spottingScopeUsed",
        "sunniness",
        "sykeButterFlyCensusWind",
        "sykeButterFlyCensusWindEnd",
        "sykeButterFlyCensusWindStart",
        "waterbirdCensusPeriod",
        "waterbirdHabitat",
        "ykjSquareNumber",
        "ACAFLAonAlder",
        "ACAFLAonBirch",
        "ACAFLAonGround",
        "ACAFLAonPine",
        "ACAFLAonSpruce",
        "CARSPIonAlder",
        "CARSPIonBirch",
        "CARSPIonGround",
        "CARSPIonPine",
        "CARSPIonSpruce",
        "LOXIAonAlder",
        "LOXIAonBirch",
        "LOXIAonGround",
        "LOXIAonPine",
        "LOXIAonSpruce",
        "abundanceBOMGAR",
        "abundancePINENU",
        "abundanceTURPIL",
        "birdFeederCount",
        "birdFeederCountBiotopeA",
        "birdFeederCountBiotopeB",
        "birdFeederCountBiotopeC",
        "birdFeederCountBiotopeD",
        "birdFeederCountBiotopeE",
        "birdFeederCountBiotopeF",
        "birdFeederCountBiotopeG",
        "birdFeederCountBiotopeH",
        "cloudAndRain",
        "descriptionBiotopeF",
        "feedingStationCount",
        "feedingStationCountBiotopeA",
        "feedingStationCountBiotopeB",
        "feedingStationCountBiotopeC",
        "feedingStationCountBiotopeD",
        "feedingStationCountBiotopeE",
        "feedingStationCountBiotopeF",
        "feedingStationCountBiotopeG",
        "feedingStationCountBiotopeH",
        "iceCover",
        "meanTemperature",
        "observerCount",
        "observerID",
        "pineConesAtCensus",
        "routeID",
        "routeLength",
        "routeLengthBiotopeA",
        "routeLengthBiotopeB",
        "routeLengthBiotopeC",
        "routeLengthBiotopeD",
        "routeLengthBiotopeE",
        "routeLengthBiotopeF",
        "routeLengthBiotopeG",
        "routeLengthBiotopeH",
        "routeLengthChange",
        "routeLengthChangeBiotopeA",
        "routeLengthChangeBiotopeB",
        "routeLengthChangeBiotopeC",
        "routeLengthChangeBiotopeD",
        "routeLengthChangeBiotopeE",
        "routeLengthChangeBiotopeF",
        "routeLengthChangeBiotopeG",
        "routeLengthChangeBiotopeH",
        "snowAndIceOnTrees",
        "snowCover",
        "sorbusBerriesAtCensus",
        "sorbusBerriesEarlyFall",
        "spruceConesAtCensus",
        "typeOfSnowCover",
        "visibility",
        "waterbodies",
        "wayOfTravel",
        "wayOfTravelNotes",
        "wind"
      ]
    },
    "store-lineTransectNest": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Instances of this class are information about a nest on a line-transect route"
        },
        "id": {
          "type": "string",
          "title": "Id for the Instances of this class are information about a nest on a line-transect route"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Instances of this class are information about a nest on a line-transect route"
        },
        "autocompleteSelectedTaxonID": {
          "type": "string",
          "title": "Taxon ID selected from autocomplete"
        },
        "lineTransectNestMeters": {
          "type": "integer",
          "minimum": 0,
          "title": "Nest position on the line: meters from the start of the line"
        },
        "lineTransectRouteFieldType": {
          "type": "string",
          "enum": [
            "",
            "MY.lineTransectRouteFieldTypeInner",
            "MY.lineTransectRouteFieldTypeOuter"
          ],
          "title": "Field Area"
        },
        "nestCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Nest count"
        },
        "nestSize": {
          "type": "string",
          "enum": [
            "",
            "MY.nestSizeEnum1",
            "MY.nestSizeEnum2",
            "MY.nestSizeEnum3"
          ],
          "title": "Nest Size"
        },
        "nestType": {
          "type": "string",
          "enum": [
            "",
            "MY.nestTypeTreeCavity",
            "MY.nestTypeTwig",
            "MY.nestTypeNestBox",
            "MY.nestTypeBuilding",
            "MY.nestTypeGroundCavity",
            "MY.nestTypeOther"
          ],
          "title": "Nest type"
        },
        "taxon": {
          "type": "string",
          "description": "Taxon name",
          "title": "Species"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "autocompleteSelectedTaxonID",
        "lineTransectNestMeters",
        "lineTransectRouteFieldType",
        "nestCount",
        "nestSize",
        "nestType",
        "taxon"
      ]
    },
    "store-geometry": {
      "anyOf": [
        {
          "title": "GeoJSON Geometry",
          "oneOf": [
            {
              "title": "GeoJSON Point",
              "type": "object",
              "required": [
                "type",
                "coordinates"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "Point"
                  ]
                },
                "coordinates": {
                  "type": "array",
                  "minItems": 2,
                  "items": {
                    "type": "number"
                  }
                },
                "bbox": {
                  "type": "array",
                  "minItems": 4,
                  "items": {
                    "type": "number"
                  }
                }
              }
            },
            {
              "title": "GeoJSON LineString",
              "type": "object",
              "required": [
                "type",
                "coordinates"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "LineString"
                  ]
                },
                "coordinates": {
                  "type": "array",
                  "minItems": 2,
                  "items": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "bbox": {
                  "type": "array",
                  "minItems": 4,
                  "items": {
                    "type": "number"
                  }
                }
              }
            },
            {
              "title": "GeoJSON Polygon",
              "type": "object",
              "required": [
                "type",
                "coordinates"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "Polygon"
                  ]
                },
                "coordinates": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "minItems": 4,
                    "items": {
                      "type": "array",
                      "minItems": 2,
                      "items": {
                        "type": "number"
                      }
                    }
                  }
                },
                "bbox": {
                  "type": "array",
                  "minItems": 4,
                  "items": {
                    "type": "number"
                  }
                }
              }
            },
            {
              "title": "GeoJSON MultiPoint",
              "type": "object",
              "required": [
                "type",
                "coordinates"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "MultiPoint"
                  ]
                },
                "coordinates": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "bbox": {
                  "type": "array",
                  "minItems": 4,
                  "items": {
                    "type": "number"
                  }
                }
              }
            },
            {
              "title": "GeoJSON MultiLineString",
              "type": "object",
              "required": [
                "type",
                "coordinates"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "MultiLineString"
                  ]
                },
                "coordinates": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                      "type": "array",
                      "minItems": 2,
                      "items": {
                        "type": "number"
                      }
                    }
                  }
                },
                "bbox": {
                  "type": "array",
                  "minItems": 4,
                  "items": {
                    "type": "number"
                  }
                }
              }
            },
            {
              "title": "GeoJSON MultiPolygon",
              "type": "object",
              "required": [
                "type",
                "coordinates"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "MultiPolygon"
                  ]
                },
                "coordinates": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "minItems": 4,
                      "items": {
                        "type": "array",
                        "minItems": 2,
                        "items": {
                          "type": "number"
                        }
                      }
                    }
                  }
                },
                "bbox": {
                  "type": "array",
                  "minItems": 4,
                  "items": {
                    "type": "number"
                  }
                }
              }
            }
          ]
        },
        {
          "title": "GeoJSON GeometryCollection",
          "type": "object",
          "required": [
            "type",
            "geometries"
          ],
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "GeometryCollection"
              ]
            },
            "geometries": {
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "title": "GeoJSON Point",
                    "type": "object",
                    "required": [
                      "type",
                      "coordinates"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Point"
                        ]
                      },
                      "coordinates": {
                        "type": "array",
                        "minItems": 2,
                        "items": {
                          "type": "number"
                        }
                      },
                      "bbox": {
                        "type": "array",
                        "minItems": 4,
                        "items": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  {
                    "title": "GeoJSON LineString",
                    "type": "object",
                    "required": [
                      "type",
                      "coordinates"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "LineString"
                        ]
                      },
                      "coordinates": {
                        "type": "array",
                        "minItems": 2,
                        "items": {
                          "type": "array",
                          "minItems": 2,
                          "items": {
                            "type": "number"
                          }
                        }
                      },
                      "bbox": {
                        "type": "array",
                        "minItems": 4,
                        "items": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  {
                    "title": "GeoJSON Polygon",
                    "type": "object",
                    "required": [
                      "type",
                      "coordinates"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Polygon"
                        ]
                      },
                      "coordinates": {
                        "type": "array",
                        "items": {
                          "type": "array",
                          "minItems": 4,
                          "items": {
                            "type": "array",
                            "minItems": 2,
                            "items": {
                              "type": "number"
                            }
                          }
                        }
                      },
                      "bbox": {
                        "type": "array",
                        "minItems": 4,
                        "items": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  {
                    "title": "GeoJSON MultiPoint",
                    "type": "object",
                    "required": [
                      "type",
                      "coordinates"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "MultiPoint"
                        ]
                      },
                      "coordinates": {
                        "type": "array",
                        "items": {
                          "type": "array",
                          "minItems": 2,
                          "items": {
                            "type": "number"
                          }
                        }
                      },
                      "bbox": {
                        "type": "array",
                        "minItems": 4,
                        "items": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  {
                    "title": "GeoJSON MultiLineString",
                    "type": "object",
                    "required": [
                      "type",
                      "coordinates"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "MultiLineString"
                        ]
                      },
                      "coordinates": {
                        "type": "array",
                        "items": {
                          "type": "array",
                          "minItems": 2,
                          "items": {
                            "type": "array",
                            "minItems": 2,
                            "items": {
                              "type": "number"
                            }
                          }
                        }
                      },
                      "bbox": {
                        "type": "array",
                        "minItems": 4,
                        "items": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  {
                    "title": "GeoJSON MultiPolygon",
                    "type": "object",
                    "required": [
                      "type",
                      "coordinates"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "MultiPolygon"
                        ]
                      },
                      "coordinates": {
                        "type": "array",
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "minItems": 4,
                            "items": {
                              "type": "array",
                              "minItems": 2,
                              "items": {
                                "type": "number"
                              }
                            }
                          }
                        }
                      },
                      "bbox": {
                        "type": "array",
                        "minItems": 4,
                        "items": {
                          "type": "number"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "bbox": {
              "type": "array",
              "minItems": 4,
              "items": {
                "type": "number"
              }
            }
          }
        }
      ]
    },
    "store-taxonCensus": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Completeness of census"
        },
        "id": {
          "type": "string",
          "title": "Id for the Completeness of census"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Completeness of census"
        },
        "censusTaxonID": {
          "type": "string",
          "title": "Censused taxon"
        },
        "censusTaxonSetID": {
          "type": "string",
          "enum": [
            "",
            "MX.taxonSetSykeButterflyCensusPapilionoidea",
            "MX.taxonSetSykeButterflyCensusOther",
            "MX.taxonSetWaterbirdWaterbirds",
            "MX.taxonSetWaterbirdWaders",
            "MX.taxonSetWaterbirdGulls",
            "MX.taxonSetWaterbirdPasserines",
            "MX.taxonSetWaterbirdAmphibia",
            "MX.taxonSetSykeBumblebee",
            "MVL.1201",
            "MX.taxonSetSykeBumblebeeOther",
            "MX.taxonSetBirdAtlasCommon",
            "MX.taxonSetBiomonCompleteListOdonata",
            "MX.taxonSetBiomonCompleteListButterflies",
            "MX.taxonSetBiomonCompleteListMoths",
            "MX.taxonSetBiomonCompleteListBombus",
            "MX.taxonSetBiomonCompleteListAmphibiaReptilia",
            "MX.taxonSetBiomonCompleteListLargeFlowers",
            "MX.taxonSetBiomonCompleteListSubarcticPlants",
            "MX.taxonSetBiomonCompleteListMacrolichens",
            "MX.taxonSetBiomonCompleteListBracketFungi",
            "MX.taxonSetBiomonCompleteListPracticalFungi",
            "MX.taxonSetSykeMacrozoobenthos",
            "MX.taxonSetArchipelagoWaterbirds",
            "MX.taxonSetArchipelagoWaders",
            "MX.taxonSetArchipelagoGulls",
            "MX.taxonSetArchipelagoPasserines",
            "MX.taxonSetArchipelagoAlcids",
            "MX.taxonSetArchipelagoRaptors",
            "MX.taxonSetArchipelagoCormorants",
            "MX.taxonSetArchipelagoEgrets",
            "MX.taxonSetArchipelagoMammals",
            "MX.taxonSetPriodiversityOldForestPolypores",
            "MX.taxonSetPriodiversityIndicatorLichens"
          ],
          "title": "Censused taxon set"
        },
        "taxonCensusType": {
          "type": "string",
          "enum": [
            "MY.taxonCensusTypeCounted",
            "MY.taxonCensusTypeEstimated",
            "MY.taxonCensusTypeNotCounted"
          ],
          "title": "Completeness of census"
        }
      },
      "required": [
        "taxonCensusType"
      ],
      "additionalProperties": false
    },
    "store-gathering": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Gathering event"
        },
        "id": {
          "type": "string",
          "title": "Id for the Gathering event"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Gathering event"
        },
        "AFEQuadrat": {
          "type": "string",
          "description": "AFE grid name",
          "title": "AFE grid"
        },
        "UTMQuadrat": {
          "type": "string",
          "description": "UTM grid name",
          "title": "UTM grid"
        },
        "acknowledgeNoUnitsInCensus": {
          "type": "boolean",
          "title": "No units in census"
        },
        "administrativeProvince": {
          "type": "string",
          "description": "Regions, rayons, provinces and other administrative areas. Separate multiple names with commas, from generic to specific. (E.g. Etelä-Suomen lääni, Uusimaa)",
          "title": "Administrative province"
        },
        "alt": {
          "type": "string",
          "description": "Altitude form sea level in meters, single value or range (E.g. 90, or 80-100). No GPS altitude here.",
          "title": "Alt in meters"
        },
        "areaDetail": {
          "type": "string",
          "title": "Area details"
        },
        "associatedObservationTaxa": {
          "type": "string",
          "description": "Write associated observation taxa names here, separated by a semicolon (;). E.g.: \"Betula pendula; Betula pubescens; Poaceae\". These will form their own units of the type observation.",
          "title": "Associated observation taxa"
        },
        "associatedSpecimenTaxa": {
          "type": "string",
          "description": "Write associated specimen taxa names here, separated by a semicolon (;). E.g.: \"Betula pendula; Betula pubescens; Poaceae\". These will form their own units of the type Preserved specimen.",
          "title": "Associated specimen taxa"
        },
        "batHabitat": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.batHabitatYardCityCentre",
              "MY.batHabitatYardSuburbs",
              "MY.batHabitatYardRural",
              "MY.batHabitatRoadSide",
              "MY.batHabitatStandOfTreesCloseToBuildings",
              "MY.batHabitatParkWIthFewTrees",
              "MY.batHabitatParkAbundantInTrees",
              "MY.batHabitatSparseForest",
              "MY.batHabitatDenseForest",
              "MY.batHabitatEdgeOfShoreCoppice",
              "MY.batHabitatLakeShore",
              "MY.batHabitatSeaShore",
              "MY.batHabitatArchipelago",
              "MY.batHabitatStreamOrRiverBank",
              "MY.batHabitatOldBuildingOrRuins",
              "MY.batHabitatCountryside"
            ]
          },
          "minItems": 0,
          "description": "Bat habitat",
          "title": "Habitat"
        },
        "binocularsUsed": {
          "type": "boolean",
          "title": "Binoculars"
        },
        "biologicalProvince": {
          "type": "string",
          "description": "Formal abbreviation. For Finnish eliömaakunnat, use Finnish abbreviation.",
          "title": "Biogeographical province"
        },
        "censusHinderedByEnviromentalFactors": {
          "type": "boolean",
          "title": "Weather (etc) hindered the census"
        },
        "censusHinderedByFog": {
          "type": "boolean",
          "title": "Fog hindered the census"
        },
        "censusHinderedByRain": {
          "type": "boolean",
          "title": "Rain hindered the census"
        },
        "censusHinderedByWind": {
          "type": "boolean",
          "title": "Wind hindered the census"
        },
        "collectingEventName": {
          "type": "string",
          "description": "Name of an expedition or such.",
          "title": "Collecting event name"
        },
        "conditionNotes": {
          "type": "string",
          "title": "Tämän laskentakerran lisätiedot"
        },
        "controlActivitiesNotes": {
          "type": "string",
          "title": "Prevention measures"
        },
        "coordinateNotes": {
          "type": "string",
          "description": "Free-text notes about the coordinates.",
          "title": "Coordinate notes"
        },
        "coordinateRadius": {
          "type": "string",
          "description": "Maximum error of coordinates in meters",
          "title": "Error radius in meters"
        },
        "coordinateSource": {
          "type": "string",
          "enum": [
            "",
            "MY.coordinateSourceGps",
            "MY.coordinateSourcePeruskartta",
            "MY.coordinateSourcePapermap",
            "MY.coordinateSourceKotkamap",
            "MY.coordinateSourceKarttapaikka",
            "MY.coordinateSourceRetkikartta",
            "MY.coordinateSourceGoogle",
            "MY.coordinateSourceLajifi",
            "MY.coordinateSourceOther",
            "MY.coordinateSourceUnknown"
          ],
          "description": "Use for NEW SPECIMENS: Where the coordinates have been acquired",
          "title": "Coord source"
        },
        "coordinateSystem": {
          "type": "string",
          "enum": [
            "",
            "MY.coordinateSystemYkj",
            "MY.coordinateSystemWgs84",
            "MY.coordinateSystemWgs84dms",
            "MY.coordinateSystemKkj",
            "MY.coordinateSystemEtrs-tm35fin",
            "MY.coordinateSystemDd",
            "MY.coordinateSystemDms"
          ],
          "description": "More information about the coordinate systems: https://wiki.helsinki.fi/display/digit/Entering+specimen+data",
          "title": "Coordinate system"
        },
        "coordinatesGridYKJ": {
          "type": "string",
          "title": "Finnish uniform grid coordinates"
        },
        "coordinatesVerbatim": {
          "type": "string",
          "description": "Coordinates, possible coordinate system and error radius word-to-word as they appear on the label or other original source, errors and all.",
          "title": "Verbatim coordinates from label or other original source"
        },
        "country": {
          "type": "string",
          "description": "Country name in English, or 2-letter country code, or name from label",
          "title": "Country"
        },
        "county": {
          "type": "string",
          "description": "County (piirikunta, kreivikunta etc.)",
          "title": "County"
        },
        "dateBegin": {
          "type": "string",
          "description": "Collection date as exact date or start date for a time period.",
          "title": "Start date"
        },
        "dateEnd": {
          "type": "string",
          "description": "End date for a collection time period, if exact date is not know.",
          "title": "End date"
        },
        "dateVerbatim": {
          "type": "string",
          "description": "Date just as it appears on the label or other original source, no interpretation, errors and all",
          "title": "Verbatim date from original source"
        },
        "depth": {
          "type": "string",
          "description": "Depth in meters, single value or range (E.g. 0.9, or 0.8-1.0)",
          "title": "Depth in meters"
        },
        "dynamicProperties": {
          "type": "string",
          "title": "dynamicProperties"
        },
        "eventDate": {
          "type": "string",
          "title": "Event Date"
        },
        "forestVegetationZone": {
          "type": "string",
          "enum": [
            "",
            "MY.forestVegetationZone1a",
            "MY.forestVegetationZone1b",
            "MY.forestVegetationZone2a",
            "MY.forestVegetationZone2b",
            "MY.forestVegetationZone3a",
            "MY.forestVegetationZone3b",
            "MY.forestVegetationZone3c",
            "MY.forestVegetationZone4a",
            "MY.forestVegetationZone4b",
            "MY.forestVegetationZone4c",
            "MY.forestVegetationZone4d"
          ],
          "description": "Finnish forest vegetation zone",
          "title": "Forest vegetation zone"
        },
        "gatheringFact": {
          "$ref": "#/components/schemas/store-gatheringFact"
        },
        "gatheringType": {
          "type": "string",
          "enum": [
            "",
            "MY.gatheringTypeForagingArea",
            "MY.gatheringTypeBreedingAndRestingArea",
            "MY.gatheringTypeCavityTree",
            "MY.gatheringTypeDroppingsTree",
            "MY.gatheringTypeNestTree",
            "MY.gatheringTypeLolifeAccess",
            "MY.gatheringTypeLolifeCoreZone",
            "MY.gatheringTypeLolifeHabitatZone",
            "MY.gatheringTypeLolifeApplicableZone",
            "MY.gatheringTypeWaterbirdPoint",
            "MY.gatheringTypeWaterbirdRound",
            "MY.gatheringTypeBoatCount",
            "MY.gatheringTypeNestCount"
          ],
          "title": "Gathering event type"
        },
        "geometry": {
          "$ref": "#/components/schemas/store-geometry"
        },
        "georeferenceSource": {
          "type": "string",
          "enum": [
            "",
            "MY.georeferenceSourceKotka",
            "MY.georeferenceSourceKarttapaikka",
            "MY.georeferenceSourcePaikkatietoikkuna",
            "MY.georeferenceSourceKarjalankartat",
            "MY.georeferenceSourceRetkikartta",
            "MY.georeferenceSourceGoogle",
            "MY.georeferenceSourcePeruskartta",
            "MY.georeferenceSourcePapermap",
            "MY.georeferenceSourceOtherpaper",
            "MY.georeferenceSourceOtherweb",
            "MY.georeferenceSourceCatalogue",
            "MY.georeferenceSourceBiogeomancer",
            "MY.georeferenceSourceGeolocate",
            "MY.georeferenceSourceOther",
            "MY.georeferenceSourceUnknown"
          ],
          "description": "Use for OLD SPECIMENS: What source was used to get coordinates based on locality names",
          "title": "Georeferencing source"
        },
        "habitat": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.habitatEnumValue1",
              "MY.habitatEnumValue2",
              "MY.habitatEnumValue3",
              "MY.habitatEnumValue4",
              "MY.habitatEnumValue5",
              "MY.habitatEnumValue6",
              "MY.habitatEnumValue7",
              "MY.habitatEnumValue8",
              "MY.habitatEnumValue9",
              "MY.habitatEnumValue10",
              "MY.habitatEnumValue11",
              "MY.habitatEnumValue12",
              "MY.habitatEnumValue13",
              "MY.habitatEnumValue14",
              "MY.habitatEnumValue15",
              "MY.habitatEnumValue16",
              "MY.habitatEnumValue17",
              "MY.habitatEnumValue18",
              "MY.habitatEnumValue19",
              "MY.habitatEnumValue20",
              "MY.habitatEnumValue21",
              "MY.habitatEnumValue22",
              "MY.habitatEnumValue23",
              "MY.habitatEnumValue24",
              "MY.habitatEnumValue25",
              "MY.habitatEnumValue26",
              "MY.habitatEnumValue27",
              "MY.habitatEnumValue28",
              "MY.habitatEnumValue29",
              "MY.habitatEnumValue30",
              "MY.habitatEnumValue31",
              "MY.habitatEnumValue32",
              "MY.habitatEnumValue33",
              "MY.habitatEnumValue34",
              "MY.habitatEnumValue35",
              "MY.habitatEnumValue36",
              "MY.habitatEnumValue87",
              "MY.habitatEnumValue40",
              "MY.habitatEnumValue41",
              "MY.habitatEnumValue42",
              "MY.habitatEnumValue43",
              "MY.habitatEnumValue44",
              "MY.habitatEnumValue45",
              "MY.habitatEnumValue46",
              "MY.habitatEnumValue47",
              "MY.habitatEnumValue48",
              "MY.habitatEnumValue49",
              "MY.habitatEnumValue50",
              "MY.habitatEnumValue51",
              "MY.habitatEnumValue52",
              "MY.habitatEnumValue53",
              "MY.habitatEnumValue54",
              "MY.habitatEnumValue56",
              "MY.habitatEnumValue57",
              "MY.habitatEnumValue58",
              "MY.habitatEnumValue59",
              "MY.habitatEnumValue60",
              "MY.habitatEnumValue61",
              "MY.habitatEnumValue62",
              "MY.habitatEnumValue64",
              "MY.habitatEnumValue66",
              "MY.habitatEnumValue67",
              "MY.habitatEnumValue68",
              "MY.habitatEnumValue69",
              "MY.habitatEnumValue70",
              "MY.habitatEnumValue71",
              "MY.habitatEnumValue72",
              "MY.habitatEnumValue73",
              "MY.habitatEnumValue74",
              "MY.habitatEnumValue76",
              "MY.habitatEnumValue77",
              "MY.habitatEnumValue78",
              "MY.habitatEnumValue79",
              "MY.habitatEnumValue80",
              "MY.habitatEnumValue81",
              "MY.habitatEnumValue82",
              "MY.habitatEnumValue83",
              "MY.habitatEnumValue84",
              "MY.habitatEnumValue85",
              "MY.habitatEnumValue86",
              "MY.habitatEnumValue88",
              "MY.habitatEnumValue89",
              "MY.habitatEnumValue90",
              "MY.habitatEnumValue91",
              "MY.habitatEnumValue92",
              "MY.habitatEnumValue93",
              "MY.habitatEnumValue94",
              "MY.habitatEnumValue95",
              "MY.habitatEnumValue96",
              "MY.habitatEnumValue97",
              "MY.habitatEnumValue98",
              "MY.habitatEnumValue99",
              "MY.habitatEnumValue100",
              "MY.habitatEnumValue101",
              "MY.habitatEnumValue102",
              "MY.habitatEnumValue103",
              "MY.habitatEnumValue104",
              "MY.habitatEnumValue105",
              "MY.habitatEnumValue106",
              "MY.habitatEnumValue107",
              "MY.habitatEnumValue108",
              "MY.habitatEnumValue109",
              "MY.habitatEnumValue110",
              "MY.habitatEnumValue111",
              "MY.habitatEnumValue112",
              "MY.habitatEnumValue113",
              "MY.habitatEnumValue114",
              "MY.habitatEnumValue115",
              "MY.habitatEnumValue116",
              "MY.habitatEnumValue117",
              "MY.habitatEnumValue118",
              "MY.habitatEnumValue119",
              "MY.habitatEnumValue120",
              "MY.habitatEnumValue121",
              "MY.habitatEnumValue122",
              "MY.habitatEnumValue123",
              "MY.habitatEnumValue124",
              "MY.habitatEnumValue125",
              "MY.habitatEnumValue126",
              "MY.habitatEnumValue127",
              "MY.habitatEnumValue128",
              "MY.habitatEnumValue129",
              "MY.habitatEnumValue130",
              "MY.habitatEnumValue131",
              "MY.habitatEnumValue132",
              "MY.habitatEnumValue133",
              "MY.habitatEnumValue134",
              "MY.habitatEnumValue135",
              "MY.habitatEnumValue136",
              "MY.habitatEnumValue137",
              "MY.habitatEnumValue138",
              "MY.habitatEnumValue139",
              "MY.habitatEnumValue140",
              "MY.habitatEnumValue141",
              "MY.habitatEnumValue142",
              "MY.habitatEnumValue143",
              "MY.habitatEnumValue144",
              "MY.habitatEnumValue145",
              "MY.habitatEnumValue147",
              "MY.habitatEnumValue148",
              "MY.habitatEnumValue149",
              "MY.habitatEnumValue150",
              "MY.habitatEnumValue151",
              "MY.habitatEnumValue152",
              "MY.habitatEnumValue153",
              "MY.habitatEnumValue154",
              "MY.habitatEnumValue155",
              "MY.habitatEnumValue156",
              "MY.habitatEnumValue157",
              "MY.habitatEnumValue158",
              "MY.habitatEnumValue159",
              "MY.habitatEnumValue160",
              "MY.habitatEnumValue161",
              "MY.habitatEnumValue162",
              "MY.habitatEnumValue163",
              "MY.habitatEnumValue164",
              "MY.habitatEnumValue165",
              "MY.habitatEnumValue166",
              "MY.habitatEnumValue167",
              "MY.habitatEnumValue168",
              "MY.habitatEnumValue169",
              "MY.habitatEnumValue170"
            ]
          },
          "minItems": 0,
          "title": "Habitat"
        },
        "habitatAttributes": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.habitatAttributesEnumValue1",
              "MY.habitatAttributesEnumValue2",
              "MY.habitatAttributesEnumValue3",
              "MY.habitatAttributesEnumValue4",
              "MY.habitatAttributesEnumValue5",
              "MY.habitatAttributesEnumValue6",
              "MY.habitatAttributesEnumValue7",
              "MY.habitatAttributesEnumValue8",
              "MY.habitatAttributesEnumValue9",
              "MY.habitatAttributesEnumValue10",
              "MY.habitatAttributesEnumValue11",
              "MY.habitatAttributesEnumValue12",
              "MY.habitatAttributesEnumValue13",
              "MY.habitatAttributesEnumValue14",
              "MY.habitatAttributesEnumValue15",
              "MY.habitatAttributesEnumValue16",
              "MY.habitatAttributesEnumValue17",
              "MY.habitatAttributesEnumValue18",
              "MY.habitatAttributesEnumValue19",
              "MY.habitatAttributesEnumValue20",
              "MY.habitatAttributesEnumValue21",
              "MY.habitatAttributesEnumValue22"
            ]
          },
          "minItems": 0,
          "title": "Additional information of habitat"
        },
        "habitatClassification": {
          "type": "string",
          "description": "Formal habitat name or abbreviation. If several, separate with semicolons (E.g. 'OMT; OMaT').",
          "title": "Habitat classification"
        },
        "habitatDescription": {
          "type": "string",
          "description": "Informal description of the habitat.",
          "title": "Habitat description"
        },
        "hasUnit": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "hasUnit"
        },
        "higherGeography": {
          "type": "string",
          "description": "If country is not known or not applicable, for example continent, ocean or large island",
          "title": "Higher geography"
        },
        "invasiveControlAreaKnown": {
          "type": "boolean",
          "title": "Esiintymän koko / laajuus tiedossa"
        },
        "invasiveControlDangerous": {
          "type": "boolean",
          "title": "Is the occurrence a direct threat to e.g. endangered species, biotopes or humans?"
        },
        "invasiveControlDangerousDescription": {
          "type": "string",
          "title": "Description of threats"
        },
        "invasiveControlEffectiveness": {
          "type": "string",
          "enum": [
            "",
            "MY.invasiveControlEffectivenessFull",
            "MY.invasiveControlEffectivenessPartial",
            "MY.invasiveControlEffectivenessNone",
            "MY.invasiveControlEffectivenessNotFound"
          ],
          "title": "Control level"
        },
        "invasiveControlEffectivenessNotes": {
          "type": "string",
          "title": "Notes of control level"
        },
        "invasiveControlMethods": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.invasiveControlMethodsMechanical",
              "MY.invasiveControlMethodsChemical",
              "MY.invasiveControlMethodsBiological",
              "MY.invasiveControlMethodsOther"
            ]
          },
          "minItems": 0,
          "title": "Control methods"
        },
        "invasiveControlMethodsDescription": {
          "type": "string",
          "title": "Description of control methods"
        },
        "invasiveControlOpen": {
          "type": "boolean",
          "title": "Are follow-up controls needed?"
        },
        "invasiveControlOpenDescription": {
          "type": "string",
          "title": "Description of follow-up controls?"
        },
        "invasiveControlOtherExpensesInEuros": {
          "type": "integer",
          "minimum": 0,
          "title": "Estimated of other expenses in euros"
        },
        "invasiveControlTaxon": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Control target taxon"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        },
        "keywords": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Keywords"
        },
        "latitude": {
          "type": "string",
          "description": "Latitude. For southern latitudes, use negative value.",
          "title": "Lat (N)"
        },
        "leg": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Name of the collector(s), in format 'Lastname, Firstname; Lastname Firstname'",
          "title": "Leg"
        },
        "legUserID": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Alkuperäislähteen käyttäjätunnus",
          "title": "Käyttäjätunnus"
        },
        "legVerbatim": {
          "type": "string",
          "description": "Leg just as it appears in the label or other original source, no interpretation, errors and all.",
          "title": "Verbatim leg from orginal source"
        },
        "locality": {
          "type": "string",
          "description": "Official name of the locality in basic form. Separate multiple names with commas, from generic to specific. No informal description here.",
          "title": "Locality names"
        },
        "localityDescription": {
          "type": "string",
          "description": "Informal description of the exact locality, e.g. '5 km NE of city X, under stone bridge'",
          "title": "Locality description"
        },
        "localityID": {
          "type": "string",
          "description": "An unique identifier or code for the locality, if the locality has one (e.g. from SAPO-ontology).",
          "title": "Locality ID"
        },
        "localityVerbatim": {
          "type": "string",
          "description": "Locality word-to-word as it appears on the label or other original source, errors and all",
          "title": "Verbatim locality from label or other original source"
        },
        "longitude": {
          "type": "string",
          "description": "Longitude. For western longitudes, use negative value.",
          "title": "Lon (E)"
        },
        "mothSamplingMethod": {
          "type": "string",
          "enum": [
            "",
            "MY.mothSamplingMethodJA500",
            "MY.mothSamplingMethodLHG",
            "MY.mothSamplingMethodLS",
            "MY.mothSamplingMethodMAARY",
            "MY.mothSamplingMethodPR125",
            "MY.mothSamplingMethodPR250"
          ],
          "title": "Moth sampling method"
        },
        "municipality": {
          "type": "string",
          "description": "Municipality, commune, town, city or civil parish",
          "title": "Municipality"
        },
        "namedPlaceID": {
          "type": "string",
          "title": "Named place"
        },
        "notes": {
          "type": "string",
          "description": "Additional information to the data in each section.",
          "title": "Notes"
        },
        "numberOfSampledIndividuals": {
          "type": "string",
          "description": "For garden accessions/seed bank, number of individuals from which seeds were collected",
          "title": "Number of sampled individuals"
        },
        "observationDays": {
          "type": "integer",
          "title": "Observation days"
        },
        "observationMinutes": {
          "type": "integer",
          "exclusiveMinimum": true,
          "title": "Observation minutes",
          "minimum": 0
        },
        "percentageGivingSeeds": {
          "type": "integer",
          "description": "For garden accessions/seed bank, what proportion of the population sampled was giving seeds",
          "title": "% of plant population giving seeds"
        },
        "predominantTree": {
          "type": "string",
          "enum": [
            "",
            "MX.37819",
            "MX.37812",
            "MX.37992",
            "MX.38004",
            "MX.38590",
            "MX.38686",
            "MX.38563",
            "MX.38527",
            "MX.41344",
            "MX.38016",
            "MX.39331",
            "MX.37990",
            "MX.38008",
            "MX.38010",
            "MX.37975",
            "MX.37976",
            "MX.39122",
            "MX.37815"
          ],
          "title": "Predominant tree"
        },
        "projectTitle": {
          "type": "string",
          "title": "projectTitle"
        },
        "province": {
          "type": "string",
          "title": "province"
        },
        "relativeHumidity": {
          "type": "integer",
          "minimum": 0,
          "description": "Relative humidity %",
          "title": "Relative humidity"
        },
        "samplingAreaSizeInSquareMeters": {
          "type": "number",
          "description": "For garden accessions/seed bank, estimated size of the area sampled, in square meters",
          "title": "Size of sampling area (m2)"
        },
        "samplingMethod": {
          "type": "string",
          "enum": [
            "",
            "MY.samplingMethodCarnet",
            "MY.samplingMethodFeromonetrap",
            "MY.samplingMethodNet",
            "MY.samplingMethodDrag",
            "MY.samplingMethodBrushing",
            "MY.samplingMethodAspirator",
            "MY.samplingMethodWindowtrap",
            "MY.samplingMethodVacuum",
            "MY.samplingMethodDigging",
            "MY.samplingMethodFishNet",
            "MY.samplingMethodShaking",
            "MY.samplingMethodReared",
            "MY.samplingMethodEpupa",
            "MY.samplingMethodExovo",
            "MY.samplingMethodElarva",
            "MY.samplingMethodFishTrap",
            "MY.samplingMethodYellowWindowTrap",
            "MY.samplingMethodYellowpan",
            "MY.samplingMethodTriangleDrag",
            "MY.samplingMethodPitfall",
            "MY.samplingMethodEclectortrap",
            "MY.samplingMethodHand",
            "MY.samplingMethodDungTrap",
            "MY.samplingMethodBoard",
            "MY.samplingMethodYellowtrap",
            "MY.samplingMethodMistnet",
            "MY.samplingMethodSweeping",
            "MY.samplingMethodSoilsample",
            "MY.samplingMethodWashing",
            "MY.samplingMethodMalaise",
            "MY.samplingMethodPantrap",
            "MY.samplingMethodSeine",
            "MY.samplingMethodAngleFishing",
            "MY.samplingMethodTrampling",
            "MY.samplingMethodBeamTrawl",
            "MY.samplingMethodTrap",
            "MY.samplingMethodDropping",
            "MY.samplingMethodTrunkWindowTrap",
            "MY.samplingMethodElectrofishing",
            "MY.samplingMethodSifting",
            "MY.samplingMethodDiverInsectTrap",
            "MY.samplingMethodDiving",
            "MY.samplingMethodBait",
            "MY.samplingMethodBaittrap",
            "MY.samplingMethodFlooding",
            "MY.samplingMethodTrawling",
            "MY.samplingMethodLight",
            "MY.samplingMethodLightTrap",
            "MY.samplingMethodWaterBucket",
            "MY.samplingMethodAquaticNet",
            "MY.samplingMethodAquaticEmergenceTrap",
            "MY.samplingMethodWaterSieve",
            "MY.samplingMethodOther"
          ],
          "description": "Main method for (usually intentional) sampling",
          "title": "Sampling method"
        },
        "samplingMethodNotes": {
          "type": "string",
          "title": "Sampling method notes"
        },
        "section": {
          "type": "integer",
          "minimum": 0,
          "title": "Section"
        },
        "skipped": {
          "type": "boolean",
          "title": "Skipped"
        },
        "spottingScopeUsed": {
          "type": "boolean",
          "title": "Spotting scope"
        },
        "substrate": {
          "type": "string",
          "description": "Type of substrate or name of substrate species.",
          "title": "Substrate"
        },
        "taxonCensus": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-taxonCensus"
          }
        },
        "temperature": {
          "type": "integer",
          "title": "Temperature in celsius"
        },
        "timeEnd": {
          "type": "string",
          "title": "End time"
        },
        "timeStart": {
          "type": "string",
          "title": "Start time"
        },
        "trapCount": {
          "type": "integer",
          "title": "Trap count"
        },
        "weather": {
          "type": "string",
          "title": "Weather"
        },
        "wgs84Latitude": {
          "type": "string",
          "title": "WGS84 Latitude"
        },
        "wgs84Longitude": {
          "type": "string",
          "title": "WGS84 Longitude"
        },
        "images": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Images"
        },
        "publicityRestrictions": {
          "type": "string",
          "enum": [
            "",
            "MZ.publicityRestrictionsPublic",
            "MZ.publicityRestrictionsProtected",
            "MZ.publicityRestrictionsPrivate"
          ],
          "description": "PUBLIC: all data can be published; PROTECTED: exact locality is hidden (100*100km square); PRIVATE: most of the data is hidden. Empty value means same as public.",
          "title": "Publicity restrictions"
        },
        "units": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-unit"
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "AFEQuadrat",
        "UTMQuadrat",
        "acknowledgeNoUnitsInCensus",
        "administrativeProvince",
        "alt",
        "areaDetail",
        "associatedObservationTaxa",
        "associatedSpecimenTaxa",
        "batHabitat",
        "binocularsUsed",
        "biologicalProvince",
        "censusHinderedByEnviromentalFactors",
        "censusHinderedByFog",
        "censusHinderedByRain",
        "censusHinderedByWind",
        "collectingEventName",
        "conditionNotes",
        "controlActivitiesNotes",
        "coordinateNotes",
        "coordinateRadius",
        "coordinateSource",
        "coordinateSystem",
        "coordinatesGridYKJ",
        "coordinatesVerbatim",
        "country",
        "county",
        "dateBegin",
        "dateEnd",
        "dateVerbatim",
        "depth",
        "dynamicProperties",
        "eventDate",
        "forestVegetationZone",
        "gatheringFact",
        "gatheringType",
        "geometry",
        "georeferenceSource",
        "habitat",
        "habitatAttributes",
        "habitatClassification",
        "habitatDescription",
        "hasUnit",
        "higherGeography",
        "invasiveControlAreaKnown",
        "invasiveControlDangerous",
        "invasiveControlDangerousDescription",
        "invasiveControlEffectiveness",
        "invasiveControlEffectivenessNotes",
        "invasiveControlMethods",
        "invasiveControlMethodsDescription",
        "invasiveControlOpen",
        "invasiveControlOpenDescription",
        "invasiveControlOtherExpensesInEuros",
        "invasiveControlTaxon",
        "isPartOf",
        "keywords",
        "latitude",
        "leg",
        "legUserID",
        "legVerbatim",
        "locality",
        "localityDescription",
        "localityID",
        "localityVerbatim",
        "longitude",
        "mothSamplingMethod",
        "municipality",
        "namedPlaceID",
        "notes",
        "numberOfSampledIndividuals",
        "observationDays",
        "observationMinutes",
        "percentageGivingSeeds",
        "predominantTree",
        "projectTitle",
        "province",
        "relativeHumidity",
        "samplingAreaSizeInSquareMeters",
        "samplingMethod",
        "samplingMethodNotes",
        "section",
        "skipped",
        "spottingScopeUsed",
        "substrate",
        "taxonCensus",
        "temperature",
        "timeEnd",
        "timeStart",
        "trapCount",
        "weather",
        "wgs84Latitude",
        "wgs84Longitude",
        "images",
        "publicityRestrictions",
        "units"
      ]
    },
    "store-unit": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Specimen"
        },
        "id": {
          "type": "string",
          "title": "Id for the Specimen"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Specimen"
        },
        "DBH": {
          "type": "string",
          "description": "Diameter at breast height, in centimeters",
          "title": "DBH in centimeters"
        },
        "DNASampleLocation": {
          "type": "string",
          "description": "Leave empty if no sample taken, or if the sample is recorded separately",
          "title": "DNA sample location"
        },
        "abundanceString": {
          "type": "string",
          "title": "Amount"
        },
        "abundanceUnit": {
          "type": "string",
          "enum": [
            "",
            "MY.abundanceUnitIndividualCount",
            "MY.abundanceUnitPairCount",
            "MY.abundanceUnitNest",
            "MY.abundanceUnitBreedingSite",
            "MY.abundanceUnitFeedingSite",
            "MY.abundanceUnitColony",
            "MY.abundanceUnitFruitbody",
            "MY.abundanceUnitSprout",
            "MY.abundanceUnitHummock",
            "MY.abundanceUnitThallus",
            "MY.abundanceUnitFlower",
            "MY.abundanceUnitSpot",
            "MY.abundanceUnitTrunk",
            "MY.abundanceUnitQueen",
            "MY.abundanceUnitShell",
            "MY.abundanceUnitDroppings",
            "MY.abundanceUnitMarks",
            "MY.abundanceUnitIndirect",
            "MY.abundanceUnitSquareDM",
            "MY.abundanceUnitSquareM",
            "MY.abundanceUnitRelativeDensity",
            "MY.abundanceUnitOccursDoesNotOccur"
          ],
          "title": "Abundance unit"
        },
        "additionalIDs": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Other identifiers this specimen has, in format 'type:identifier'. For example: 'mzhtypes:123' (old MAZ-type number)",
          "title": "Additional ID's"
        },
        "adultIndividualCount": {
          "type": "integer",
          "title": "Adult individual count"
        },
        "age": {
          "type": "string",
          "description": "Estimated or known age in calendar years, years, days or other relevant unit.",
          "title": "Age"
        },
        "ageNotes": {
          "type": "string",
          "description": "E.g. how age was determined, by whom and when.",
          "title": "Age notes"
        },
        "alive": {
          "type": "boolean",
          "title": "Alive"
        },
        "ankleInMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Ankle"
        },
        "areaInSquareMeters": {
          "type": "integer",
          "minimum": 0,
          "title": "Occurrence area (m²)"
        },
        "atlasCode": {
          "type": "string",
          "enum": [
            "",
            "MY.atlasCodeEnum1",
            "MY.atlasCodeEnum2",
            "MY.atlasCodeEnum3",
            "MY.atlasCodeEnum4",
            "MY.atlasCodeEnum5",
            "MY.atlasCodeEnum6",
            "MY.atlasCodeEnum61",
            "MY.atlasCodeEnum62",
            "MY.atlasCodeEnum63",
            "MY.atlasCodeEnum64",
            "MY.atlasCodeEnum65",
            "MY.atlasCodeEnum66",
            "MY.atlasCodeEnum7",
            "MY.atlasCodeEnum71",
            "MY.atlasCodeEnum72",
            "MY.atlasCodeEnum73",
            "MY.atlasCodeEnum74",
            "MY.atlasCodeEnum75",
            "MY.atlasCodeEnum8",
            "MY.atlasCodeEnum81",
            "MY.atlasCodeEnum82"
          ],
          "title": "Breeding index"
        },
        "batBehavior": {
          "type": "string",
          "enum": [
            "",
            "MY.batBehaviorHibernating",
            "MY.batBehaviorRoosting",
            "MY.batBehaviorHunting"
          ],
          "title": "Bat behavior"
        },
        "beakInMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Beak"
        },
        "birdAge": {
          "type": "string",
          "enum": [
            "",
            "MY.birdAgePp",
            "MY.birdAgePm",
            "MY.birdAgeFl",
            "MY.birdAgePlus1kv",
            "MY.birdAge1Kv",
            "MY.birdAgePlus2Kv",
            "MY.birdAge2kv",
            "MY.birdAgePlus3Kv",
            "MY.birdAge3Kv",
            "MY.birdAgePlus4Kv",
            "MY.birdAge4Kv",
            "MY.birdAgePlus5Kv",
            "MY.birdAge5Kv",
            "MY.birdAgePlus6Kv",
            "MY.birdAge6Kv",
            "MY.birdAgePlus7Kv",
            "MY.birdAge7Kv",
            "MY.birdAgePlus8Kv",
            "MY.birdAge8Kv"
          ],
          "title": "Bird age"
        },
        "birdBehavior": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Bird behavior"
        },
        "birdPlumage": {
          "type": "string",
          "enum": [
            "",
            "MY.birdPlumageAd",
            "MY.birdPlumageEijp",
            "MY.birdPlumageImm",
            "MY.birdPlumageJp",
            "MY.birdPlumageJuv",
            "MY.birdPlumageNpuk",
            "MY.birdPlumagePull",
            "MY.birdPlumageSubad",
            "MY.birdPlumageTp",
            "MY.birdPlumageVp",
            "MY.birdPlumagePep",
            "MY.birdPlumageSs"
          ],
          "title": "Bird plumage"
        },
        "breeding": {
          "type": "boolean",
          "title": "Breeding"
        },
        "broodSize": {
          "type": "integer",
          "exclusiveMinimum": true,
          "title": "Brood size",
          "minimum": 0
        },
        "causeOfDeath": {
          "type": "string",
          "description": "Cause of death, if not intentionally trapped on sampled",
          "title": "Cause of Death"
        },
        "checklistID": {
          "type": "string",
          "title": "Checklist"
        },
        "chemistry": {
          "type": "string",
          "description": "Results of chemical reaction tests etc.",
          "title": "Chemical properties"
        },
        "count": {
          "type": "string",
          "description": "Numeric or other description on the amount of individuals (or sprouts, fruiting bodies or such) in the specimen. Sexes and juveniles can be specified like so: 1m2f3j (=1 male, 2 females, 3 juveniles)",
          "title": "Count"
        },
        "decayStage": {
          "type": "string",
          "description": "Estimation of decay stage (lahoaste in Finnish) on the scale of 1 to 5 and/or description",
          "title": "Decay stage"
        },
        "distance": {
          "type": "string",
          "enum": [
            "",
            "MY.distanceOverFlight",
            "MY.distanceNear",
            "MY.distanceQuiteFar",
            "MY.distanceFar",
            "MY.distanceVeryFar"
          ],
          "title": "Distance"
        },
        "earliestEpochOrLowestSeries": {
          "type": "string",
          "enum": [
            "",
            "MY.epochOrSeriesCambrian",
            "MY.epochOrSeriesCarboniferous",
            "MY.epochOrSeriesCretaceous",
            "MY.epochOrSeriesDevonian",
            "MY.epochOrSeriesEdiacaran",
            "MY.epochOrSeriesJurassic",
            "MY.epochOrSeriesOrdovician",
            "MY.epochOrSeriesPermian",
            "MY.epochOrSeriesQuaternary",
            "MY.epochOrSeriesRecent",
            "MY.epochOrSeriesSilurian",
            "MY.epochOrSeriesTertiary",
            "MY.epochOrSeriesTriassic"
          ],
          "description": "For palaeontological specimens, earliest possible geochronologic epoch or lowest chronostratigraphic series attributable to the stratigraphic horizon from which the specimen was collected",
          "title": "Earliest epoch or lowest series"
        },
        "femaleIndividualCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Female individual count"
        },
        "fruitType": {
          "type": "string",
          "enum": [
            "",
            "MY.fruitTypeAchene",
            "MY.fruitTypeBerry",
            "MY.fruitTypeCapsule",
            "MY.fruitTypeCaryopsis",
            "MY.fruitTypeCone",
            "MY.fruitTypeDrupe",
            "MY.fruitTypeFollicle",
            "MY.fruitTypeLegume",
            "MY.fruitTypeNut",
            "MY.fruitTypeOther",
            "MY.fruitTypePome",
            "MY.fruitTypeSchizocarp",
            "MY.fruitTypeSiliqua"
          ],
          "description": "Fruit type of the collected fruits, used for botanical garden accessions/seed bank.",
          "title": "Fruit type"
        },
        "genotype": {
          "type": "string",
          "description": "Genotype of the microbial strain",
          "title": "Genotype"
        },
        "gonadInMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Gonad"
        },
        "growthMediumName": {
          "type": "string",
          "description": "Microbial culture growth medium name, usually from a standard",
          "title": "Growth medium name"
        },
        "growthOtherConditions": {
          "type": "string",
          "description": "Other growth conditions for the microbial culture, light etc.",
          "title": "Other conditions for growth"
        },
        "growthTemperature": {
          "type": "string",
          "description": "Microbial culture growth temperature",
          "title": "Growth temperature"
        },
        "habitat": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.habitatEnumValue1",
              "MY.habitatEnumValue2",
              "MY.habitatEnumValue3",
              "MY.habitatEnumValue4",
              "MY.habitatEnumValue5",
              "MY.habitatEnumValue6",
              "MY.habitatEnumValue7",
              "MY.habitatEnumValue8",
              "MY.habitatEnumValue9",
              "MY.habitatEnumValue10",
              "MY.habitatEnumValue11",
              "MY.habitatEnumValue12",
              "MY.habitatEnumValue13",
              "MY.habitatEnumValue14",
              "MY.habitatEnumValue15",
              "MY.habitatEnumValue16",
              "MY.habitatEnumValue17",
              "MY.habitatEnumValue18",
              "MY.habitatEnumValue19",
              "MY.habitatEnumValue20",
              "MY.habitatEnumValue21",
              "MY.habitatEnumValue22",
              "MY.habitatEnumValue23",
              "MY.habitatEnumValue24",
              "MY.habitatEnumValue25",
              "MY.habitatEnumValue26",
              "MY.habitatEnumValue27",
              "MY.habitatEnumValue28",
              "MY.habitatEnumValue29",
              "MY.habitatEnumValue30",
              "MY.habitatEnumValue31",
              "MY.habitatEnumValue32",
              "MY.habitatEnumValue33",
              "MY.habitatEnumValue34",
              "MY.habitatEnumValue35",
              "MY.habitatEnumValue36",
              "MY.habitatEnumValue87",
              "MY.habitatEnumValue40",
              "MY.habitatEnumValue41",
              "MY.habitatEnumValue42",
              "MY.habitatEnumValue43",
              "MY.habitatEnumValue44",
              "MY.habitatEnumValue45",
              "MY.habitatEnumValue46",
              "MY.habitatEnumValue47",
              "MY.habitatEnumValue48",
              "MY.habitatEnumValue49",
              "MY.habitatEnumValue50",
              "MY.habitatEnumValue51",
              "MY.habitatEnumValue52",
              "MY.habitatEnumValue53",
              "MY.habitatEnumValue54",
              "MY.habitatEnumValue56",
              "MY.habitatEnumValue57",
              "MY.habitatEnumValue58",
              "MY.habitatEnumValue59",
              "MY.habitatEnumValue60",
              "MY.habitatEnumValue61",
              "MY.habitatEnumValue62",
              "MY.habitatEnumValue64",
              "MY.habitatEnumValue66",
              "MY.habitatEnumValue67",
              "MY.habitatEnumValue68",
              "MY.habitatEnumValue69",
              "MY.habitatEnumValue70",
              "MY.habitatEnumValue71",
              "MY.habitatEnumValue72",
              "MY.habitatEnumValue73",
              "MY.habitatEnumValue74",
              "MY.habitatEnumValue76",
              "MY.habitatEnumValue77",
              "MY.habitatEnumValue78",
              "MY.habitatEnumValue79",
              "MY.habitatEnumValue80",
              "MY.habitatEnumValue81",
              "MY.habitatEnumValue82",
              "MY.habitatEnumValue83",
              "MY.habitatEnumValue84",
              "MY.habitatEnumValue85",
              "MY.habitatEnumValue86",
              "MY.habitatEnumValue88",
              "MY.habitatEnumValue89",
              "MY.habitatEnumValue90",
              "MY.habitatEnumValue91",
              "MY.habitatEnumValue92",
              "MY.habitatEnumValue93",
              "MY.habitatEnumValue94",
              "MY.habitatEnumValue95",
              "MY.habitatEnumValue96",
              "MY.habitatEnumValue97",
              "MY.habitatEnumValue98",
              "MY.habitatEnumValue99",
              "MY.habitatEnumValue100",
              "MY.habitatEnumValue101",
              "MY.habitatEnumValue102",
              "MY.habitatEnumValue103",
              "MY.habitatEnumValue104",
              "MY.habitatEnumValue105",
              "MY.habitatEnumValue106",
              "MY.habitatEnumValue107",
              "MY.habitatEnumValue108",
              "MY.habitatEnumValue109",
              "MY.habitatEnumValue110",
              "MY.habitatEnumValue111",
              "MY.habitatEnumValue112",
              "MY.habitatEnumValue113",
              "MY.habitatEnumValue114",
              "MY.habitatEnumValue115",
              "MY.habitatEnumValue116",
              "MY.habitatEnumValue117",
              "MY.habitatEnumValue118",
              "MY.habitatEnumValue119",
              "MY.habitatEnumValue120",
              "MY.habitatEnumValue121",
              "MY.habitatEnumValue122",
              "MY.habitatEnumValue123",
              "MY.habitatEnumValue124",
              "MY.habitatEnumValue125",
              "MY.habitatEnumValue126",
              "MY.habitatEnumValue127",
              "MY.habitatEnumValue128",
              "MY.habitatEnumValue129",
              "MY.habitatEnumValue130",
              "MY.habitatEnumValue131",
              "MY.habitatEnumValue132",
              "MY.habitatEnumValue133",
              "MY.habitatEnumValue134",
              "MY.habitatEnumValue135",
              "MY.habitatEnumValue136",
              "MY.habitatEnumValue137",
              "MY.habitatEnumValue138",
              "MY.habitatEnumValue139",
              "MY.habitatEnumValue140",
              "MY.habitatEnumValue141",
              "MY.habitatEnumValue142",
              "MY.habitatEnumValue143",
              "MY.habitatEnumValue144",
              "MY.habitatEnumValue145",
              "MY.habitatEnumValue147",
              "MY.habitatEnumValue148",
              "MY.habitatEnumValue149",
              "MY.habitatEnumValue150",
              "MY.habitatEnumValue151",
              "MY.habitatEnumValue152",
              "MY.habitatEnumValue153",
              "MY.habitatEnumValue154",
              "MY.habitatEnumValue155",
              "MY.habitatEnumValue156",
              "MY.habitatEnumValue157",
              "MY.habitatEnumValue158",
              "MY.habitatEnumValue159",
              "MY.habitatEnumValue160",
              "MY.habitatEnumValue161",
              "MY.habitatEnumValue162",
              "MY.habitatEnumValue163",
              "MY.habitatEnumValue164",
              "MY.habitatEnumValue165",
              "MY.habitatEnumValue166",
              "MY.habitatEnumValue167",
              "MY.habitatEnumValue168",
              "MY.habitatEnumValue169",
              "MY.habitatEnumValue170"
            ]
          },
          "minItems": 0,
          "title": "Habitat"
        },
        "hasIdentification": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "hasIdentification"
        },
        "hasSubUnit": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "hasSubUnit"
        },
        "hostID": {
          "type": "string",
          "title": "Host species"
        },
        "hostInformalNameString": {
          "type": "string",
          "title": "Host species"
        },
        "indirectObservationType": {
          "type": "string",
          "enum": [
            "",
            "MY.indirectObservationTypeFeces",
            "MY.indirectObservationTypeSnowTracks",
            "MY.indirectObservationTypeUrine",
            "MY.indirectObservationTypeFeasting",
            "MY.indirectObservationTypeFoodStock",
            "MY.indirectObservationTypeNone"
          ],
          "title": "Tracks"
        },
        "individualCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Individual count"
        },
        "infestation": {
          "type": "string",
          "description": "Description of the infestation status of the collected seeds, used for botanical garden accessions/seed bank.",
          "title": "Infestation"
        },
        "informalNameString": {
          "type": "string",
          "title": "Species"
        },
        "informalTaxonGroup": {
          "type": "string",
          "title": "Informal taxon group"
        },
        "informalTaxonGroups": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Valitut eliöryhmät",
          "title": "Informal taxon groups"
        },
        "infrasubspecificSubdivision": {
          "type": "string",
          "description": "Pathovars, serovars and other infrasubspecific subdivisions of microbes.",
          "title": "Infrasubspecific subdivision"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        },
        "juvenileIndividualCount": {
          "type": "integer",
          "title": "Juvenile individual count"
        },
        "keywords": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Keywords"
        },
        "larvaIndividualCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Larva count"
        },
        "latestEpochOrHighestSeries": {
          "type": "string",
          "enum": [
            "",
            "MY.epochOrSeriesCambrian",
            "MY.epochOrSeriesCarboniferous",
            "MY.epochOrSeriesCretaceous",
            "MY.epochOrSeriesDevonian",
            "MY.epochOrSeriesEdiacaran",
            "MY.epochOrSeriesJurassic",
            "MY.epochOrSeriesOrdovician",
            "MY.epochOrSeriesPermian",
            "MY.epochOrSeriesQuaternary",
            "MY.epochOrSeriesRecent",
            "MY.epochOrSeriesSilurian",
            "MY.epochOrSeriesTertiary",
            "MY.epochOrSeriesTriassic"
          ],
          "description": "For palaeontological specimens, latest possible geochronologic epoch or highest chronostratigraphic series attributable to the stratigraphic horizon from which the specimen was collected.",
          "title": "Latest epoch or highest series"
        },
        "lengthInMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Length"
        },
        "lifeStage": {
          "type": "string",
          "enum": [
            "",
            "MY.lifeStageAdult",
            "MY.lifeStageNymph",
            "MY.lifeStageLarva",
            "MY.lifeStageEgg",
            "MY.lifeStagePupa",
            "MY.lifeStageJuvenile",
            "MY.lifeStageSubimago",
            "MY.lifeStageImmature",
            "MY.lifeStageFertile",
            "MY.lifeStageSterile",
            "MY.lifeStageTadpole",
            "MY.lifeStageEmbryo",
            "MY.lifeStageSubadult",
            "MY.lifeStageMature",
            "MY.lifeStagePullus",
            "MY.lifeStageHatchedEgg",
            "MY.lifeStageHatchedPupa",
            "MY.lifeStageGall",
            "MY.lifeStageMarks",
            "MY.lifeStageTriungulin",
            "MY.lifeStageExuvia"
          ],
          "description": "Life stage of the specimen. If multiple present, select the one which was present at the time of collecting. Use Life stage description field for extra information.",
          "title": "Life stage"
        },
        "lifeStageDescription": {
          "type": "string",
          "description": "Free-text notes or addtional information about the life stage. If multiple values present, describe them here.",
          "title": "Life stage description"
        },
        "likelyMigrant": {
          "type": "boolean",
          "title": "Likely migrant (doesn't breed)"
        },
        "macroscopy": {
          "type": "string",
          "description": "Macroscopic features and measurements, if not recorded separately into measurement fields.",
          "title": "Macroscopic characters"
        },
        "maleIndividualCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Male individual count"
        },
        "measurement": {
          "$ref": "#/components/schemas/store-measurement"
        },
        "microbiologicalRiskGroup": {
          "type": "string",
          "enum": [
            "",
            "MY.microbiologicalRiskGroup1",
            "MY.microbiologicalRiskGroup2",
            "MY.microbiologicalRiskGroup3",
            "MY.microbiologicalRiskGroup4"
          ],
          "description": "According to German TRBA August 2015, which is more comprehensive than the EU or Finnish list for bacterial risk groups",
          "title": "Risk group"
        },
        "microscopy": {
          "type": "string",
          "description": "Microscopic features and measurements, if not recorded separately into measurement fields.",
          "title": "Microscopic characters"
        },
        "movingDirection": {
          "type": "string",
          "enum": [
            "",
            "MY.movingDirectionN",
            "MY.movingDirectionNNE",
            "MY.movingDirectionNE",
            "MY.movingDirectionENE",
            "MY.movingDirectionE",
            "MY.movingDirectionESE",
            "MY.movingDirectionSE",
            "MY.movingDirectionSSE",
            "MY.movingDirectionS",
            "MY.movingDirectionSSW",
            "MY.movingDirectionSW",
            "MY.movingDirectionWSW",
            "MY.movingDirectionW",
            "MY.movingDirectionWNW",
            "MY.movingDirectionNW",
            "MY.movingDirectionNNW"
          ],
          "title": "Moving direction"
        },
        "movingStatus": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Moving status"
        },
        "mutant": {
          "type": "string",
          "description": "Information on mutant microbial strain.",
          "title": "Mutant"
        },
        "nativeStatus": {
          "type": "string",
          "enum": [
            "",
            "MY.native",
            "MY.nonNative"
          ],
          "title": "Native status"
        },
        "nestCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Nest count"
        },
        "nestNotes": {
          "type": "string",
          "title": "Nest notes"
        },
        "nestTreeDiameterInCentimeters": {
          "type": "integer",
          "exclusiveMinimum": true,
          "title": "Diameter of the tree (cm)",
          "minimum": 0
        },
        "nestType": {
          "type": "string",
          "enum": [
            "",
            "MY.nestTypeTreeCavity",
            "MY.nestTypeTwig",
            "MY.nestTypeNestBox",
            "MY.nestTypeBuilding",
            "MY.nestTypeGroundCavity",
            "MY.nestTypeOther"
          ],
          "title": "Nest type"
        },
        "notes": {
          "type": "string",
          "description": "Additional information to the data in each section.",
          "title": "Notes"
        },
        "observationStatus": {
          "type": "string",
          "enum": [
            "",
            "MY.observationStatusIgnored",
            "MY.observationStatusNotObserved",
            "MY.observationStatusObservedNoCount",
            "MY.observationStatusObservedPartialCount",
            "MY.observationStatusObservedCompleteCount"
          ],
          "title": "Observation status"
        },
        "pairCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Pair count"
        },
        "pairCountOpinion": {
          "type": "integer",
          "minimum": 0,
          "title": "Own interpretation/pairs"
        },
        "plantLifeStage": {
          "type": "string",
          "enum": [
            "",
            "MY.plantLifeStageSterile",
            "MY.plantLifeStageFertile",
            "MY.plantLifeStageSeed",
            "MY.plantLifeStageSprout",
            "MY.plantLifeStageBud",
            "MY.plantLifeStageFlower",
            "MY.plantLifeStageWitheredFlower",
            "MY.plantLifeStageRipeningFruit",
            "MY.plantLifeStageRipeFruit",
            "MY.plantLifeStageDeadSprout",
            "MY.plantLifeStageSubterranean"
          ],
          "title": "Plant life stage"
        },
        "plantStatusCode": {
          "type": "string",
          "enum": [
            "",
            "MY.plantStatusCodeL",
            "MY.plantStatusCodeA",
            "MY.plantStatusCodeAV",
            "MY.plantStatusCodeAOV",
            "MY.plantStatusCodeAN",
            "MY.plantStatusCodeANV",
            "MY.plantStatusCodeANS",
            "MY.plantStatusCodeT",
            "MY.plantStatusCodeTV",
            "MY.plantStatusCodeTOV",
            "MY.plantStatusCodeTNV",
            "MY.plantStatusCodeTNS",
            "MY.plantStatusCodeV",
            "MY.plantStatusCodeOV",
            "MY.plantStatusCodeN",
            "MY.plantStatusCodeNV",
            "MY.plantStatusCodeNS",
            "MY.plantStatusCodeE",
            "MY.plantStatusCodeTE",
            "MY.plantStatusCodeTVE",
            "MY.plantStatusCodeTOVE",
            "MY.plantStatusCodeTNVE",
            "MY.plantStatusCodeTNSE",
            "MY.plantStatusCodeTN",
            "MY.plantStatusCodeTNE",
            "MY.plantStatusCodeR",
            "MY.plantStatusCodeC",
            "MY.plantStatusCodeH",
            "MY.plantStatusCodeG",
            "MY.plantStatusCodeF"
          ],
          "description": "Status code for the plant (wild, alien etc.)",
          "title": "Plant status code"
        },
        "populationAbundance": {
          "type": "string",
          "description": "Abundance of the taxon in the field",
          "title": "Abundance in the field"
        },
        "preparations": {
          "type": "string",
          "description": "Preparations/preparates made from the specimen, if not recorded as separate Preparations/samples in the designated section",
          "title": "Preparations"
        },
        "preservation": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.preservationPressed",
              "MY.preservationDry",
              "MY.preservationCriticalPointDrying",
              "MY.preservationPinned",
              "MY.preservationGlued",
              "MY.preservationLiquid",
              "MY.preservationEthanol",
              "MY.preservationEthanolPure",
              "MY.preservationEthanol70",
              "MY.preservationEthanol80",
              "MY.preservationEthanol80Pure",
              "MY.preservationEthanol96",
              "MY.preservationEthanolMinus20C",
              "MY.preservationEthanolDenatured",
              "MY.preservationEthanolFormalin",
              "MY.preservationEthanolExFormalin",
              "MY.preservationFormalin",
              "MY.preservationBouinSolution",
              "MY.preservationPampelsFluid",
              "MY.preservationGlycerol",
              "MY.preservationParaffin",
              "MY.preservationMercuricChloride",
              "MY.preservationCryopreserved",
              "MY.preservationFrozen",
              "MY.preservationFrozenMinus80C",
              "MY.preservationFreezeDried",
              "MY.preservationGoldPlated",
              "MY.preservationActiveCulture",
              "MY.preservationLiving",
              "MY.preservationSlide",
              "MY.preservationSlideCanadaBalsam",
              "MY.preservationSlideEuparal",
              "MY.preservationSlidePolyviol",
              "MY.preservationStuffed",
              "MY.preservationCast",
              "MY.preservationPlastinated",
              "MY.preservationFrozenMinus80CAndEthanolMinus20C"
            ]
          },
          "minItems": 0,
          "description": "Main method of preservation. If parts of the specimen are preserved in different ways, you can choose several methods.",
          "title": "Preservation"
        },
        "primarySpecimen": {
          "type": "boolean",
          "description": "Can be used to highlight one unit as primary specimen/observation if there are many in one document. Only one unit per document can be marked as primary.",
          "title": "Primary specimen"
        },
        "provenance": {
          "type": "string",
          "enum": [
            "",
            "MY.provenanceUnknown",
            "MY.provenanceCultivated",
            "MY.provenanceCultivatedUnsure",
            "MY.provenanceCultivatedPropagatedFromWildSource",
            "MY.provenanceWildSource",
            "MY.provenanceWildSourceUnsure",
            "MY.provenanceEscapedCultivated",
            "MY.provenancePropagule"
          ],
          "description": "Origin or source of the garden accession",
          "title": "Provenance"
        },
        "recordBasis": {
          "type": "string",
          "enum": [
            "",
            "MY.recordBasisPreservedSpecimen",
            "MY.recordBasisHumanObservation",
            "MY.recordBasisHumanObservationSeen",
            "MY.recordBasisHumanObservationHeard",
            "MY.recordBasisHumanObservationHandled",
            "MY.recordBasisHumanObservationPhoto",
            "MY.recordBasisHumanObservationAudio",
            "MY.recordBasisHumanObservationVideo",
            "MY.recordBasisHumanObservationIndirect",
            "MY.recordBasisMachineObservation",
            "MY.recordBasisMachineObservationPhoto",
            "MY.recordBasisMachineObservationVideo",
            "MY.recordBasisMachineObservationAudio",
            "MY.recordBasisMachineObservationGeologger",
            "MY.recordBasisMachineObservationSatelliteTransmitter",
            "MY.recordBasisFossilSpecimen",
            "MY.recordBasisSubfossilSpecimen",
            "MY.recordBasisSubfossilSpecimenAmberInclusion",
            "MY.recordBasisMaterialSample",
            "MY.recordBasisMaterialSampleAir",
            "MY.recordBasisMaterialSampleSoil",
            "MY.recordBasisMaterialSampleWater",
            "MY.recordBasisMicrobialSpecimen",
            "MY.recordBasisLivingSpecimen",
            "MY.recordBasisLiterature"
          ],
          "description": "Type of record, most commonly preserved specimen for museum specimens and observation for associated observations (\"seuralaislajihavainto\").",
          "title": "Record type"
        },
        "recordParts": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.recordPartsBones",
              "MY.recordPartsAntler",
              "MY.recordPartsHead",
              "MY.recordPartsSkull",
              "MY.recordPartsSkin",
              "MY.recordPartsWing",
              "MY.recordPartsTail",
              "MY.recordPartsTissue",
              "MY.recordPartsFeather",
              "MY.recordPartsEgg",
              "MY.recordPartsIntestine",
              "MY.recordPartsGonad",
              "MY.recordPartsSeed",
              "MY.recordPartsNest",
              "MY.recordPartsFaeces",
              "MY.recordPartsFeedingMarks",
              "MY.recordPartsTracks",
              "MY.recordPartsScale",
              "MY.recordPartsFin",
              "MY.recordPartsFull",
              "MY.recordPartsPart",
              "MY.recordPartsActiveCulture",
              "MY.recordPartsCutting",
              "MY.recordPartsVegetativePart",
              "MY.recordPartsFreezeDried",
              "MY.recordPartsDryIce",
              "MY.recordPartsDNA",
              "MY.recordPartsShell",
              "MY.recordPartsWholePlant",
              "MY.recordPartsTissueCulture",
              "MY.recordPartsMount",
              "My.recordPartsSkullAndBones"
            ]
          },
          "minItems": 0,
          "description": "What parts of the record are / have been in storage.",
          "title": "Record parts"
        },
        "ring": {
          "type": "string",
          "description": "Bird or bat ring number, code, colour code or such",
          "title": "Ring"
        },
        "samplingMethod": {
          "type": "string",
          "enum": [
            "",
            "MY.samplingMethodCarnet",
            "MY.samplingMethodFeromonetrap",
            "MY.samplingMethodNet",
            "MY.samplingMethodDrag",
            "MY.samplingMethodBrushing",
            "MY.samplingMethodAspirator",
            "MY.samplingMethodWindowtrap",
            "MY.samplingMethodVacuum",
            "MY.samplingMethodDigging",
            "MY.samplingMethodFishNet",
            "MY.samplingMethodShaking",
            "MY.samplingMethodReared",
            "MY.samplingMethodEpupa",
            "MY.samplingMethodExovo",
            "MY.samplingMethodElarva",
            "MY.samplingMethodFishTrap",
            "MY.samplingMethodYellowWindowTrap",
            "MY.samplingMethodYellowpan",
            "MY.samplingMethodTriangleDrag",
            "MY.samplingMethodPitfall",
            "MY.samplingMethodEclectortrap",
            "MY.samplingMethodHand",
            "MY.samplingMethodDungTrap",
            "MY.samplingMethodBoard",
            "MY.samplingMethodYellowtrap",
            "MY.samplingMethodMistnet",
            "MY.samplingMethodSweeping",
            "MY.samplingMethodSoilsample",
            "MY.samplingMethodWashing",
            "MY.samplingMethodMalaise",
            "MY.samplingMethodPantrap",
            "MY.samplingMethodSeine",
            "MY.samplingMethodAngleFishing",
            "MY.samplingMethodTrampling",
            "MY.samplingMethodBeamTrawl",
            "MY.samplingMethodTrap",
            "MY.samplingMethodDropping",
            "MY.samplingMethodTrunkWindowTrap",
            "MY.samplingMethodElectrofishing",
            "MY.samplingMethodSifting",
            "MY.samplingMethodDiverInsectTrap",
            "MY.samplingMethodDiving",
            "MY.samplingMethodBait",
            "MY.samplingMethodBaittrap",
            "MY.samplingMethodFlooding",
            "MY.samplingMethodTrawling",
            "MY.samplingMethodLight",
            "MY.samplingMethodLightTrap",
            "MY.samplingMethodWaterBucket",
            "MY.samplingMethodAquaticNet",
            "MY.samplingMethodAquaticEmergenceTrap",
            "MY.samplingMethodWaterSieve",
            "MY.samplingMethodOther"
          ],
          "description": "Main method for (usually intentional) sampling",
          "title": "Sampling method"
        },
        "samplingMethodNotes": {
          "type": "string",
          "title": "Sampling method notes"
        },
        "seedMaturity": {
          "type": "string",
          "enum": [
            "",
            "MY.seedMaturityImmature",
            "MY.seedMaturityMature",
            "MY.seedMaturityMixed"
          ],
          "description": "Maturity of the collected seeds, used for botanical garden accessions/seed bank.",
          "title": "Seed maturity"
        },
        "seedMorphology": {
          "type": "string",
          "enum": [
            "",
            "MY.seedMorphologyBent",
            "MY.seedMorphologyBroad",
            "MY.seedMorphologyCapitate",
            "MY.seedMorphologyFolded",
            "MY.seedMorphologyLateral",
            "MY.seedMorphologyLinearFullyDeveloped",
            "MY.seedMorphologyLinearUnderdeveloped",
            "MY.seedMorphologyPeripheral",
            "MY.seedMorphologyRudimentary",
            "MY.seedMorphologySpatulateFullyDeveloped",
            "MY.seedMorphologySpatulateUnderdeveloped",
            "MY.seedMorphologyUndifferentiated",
            "MY.seedMorphologyInvesting"
          ],
          "description": "Seed morphology of the collected seeds, used for botanical garden accessions/seed bank.",
          "title": "Seed morphology"
        },
        "sequenceText": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "DNA sequence associated with the occurrence, stored in FASTA format.",
          "title": "DNA sequence (FASTA)"
        },
        "sex": {
          "type": "string",
          "enum": [
            "",
            "MY.sexM",
            "MY.sexF",
            "MY.sexW",
            "MY.sexU",
            "MY.sexN",
            "MY.sexX",
            "MY.sexE",
            "MY.sexC"
          ],
          "description": "Sex of the individual(s)",
          "title": "Sex"
        },
        "sexNotes": {
          "type": "string",
          "description": "E.g. how sex was determined, by whom and when.",
          "title": "Sex notes"
        },
        "shortHandText": {
          "type": "string",
          "title": "Shorthand"
        },
        "smell": {
          "type": "string",
          "enum": [
            "",
            "MY.smellNotSmelled",
            "MY.smellNoSmelled",
            "MY.smellWeak",
            "MY.smellModerate",
            "MY.smellStrong"
          ],
          "title": "Smell"
        },
        "smellNotes": {
          "type": "string",
          "title": "Smell notes"
        },
        "stratigraphyVerbatim": {
          "type": "string",
          "title": "Verbatim stratigraphy from original source"
        },
        "substrateClassification": {
          "type": "string",
          "enum": [
            "",
            "MY.substrateGround",
            "MY.substrateGroundLowShrubs",
            "MY.substrateGroundLichens",
            "MY.substrateGroundHerbs",
            "MY.substrateGroundMosses",
            "MY.substrateGroundSphagnum",
            "MY.substrateGroundGrassy",
            "MY.substrateGroundNeedleLitter",
            "MY.substrateGroundLeafLitter",
            "MY.substrateGroundMixedLitter",
            "MY.substrateGroundSandySoil",
            "MY.substrateGroundGravelSoil",
            "MY.substrateGroundClayeySoil",
            "MY.substrateGroundHeathHumus",
            "MY.substrateGroundMull",
            "MY.substrateGroundPeat",
            "MY.substrateGroundBurnedSoil",
            "MY.substrateLivingTree",
            "MY.substrateLivingTreeTrunk",
            "MY.substrateLivingTreeBase",
            "MY.substrateLivingTreeRoots",
            "MY.substrateLivingTreeBranch",
            "MY.substrateLivingTreeDeadBranch",
            "MY.substrateLivingTreeDeadLimb",
            "MY.substrateLivingTreeLeaf",
            "MY.substrateLivingTreeNeedle",
            "MY.substrateDeadWood",
            "MY.substrateDeadWoodStandingTreeTrunk",
            "MY.substrateDeadWoodStandingTreeBranch",
            "MY.substrateDeadWoodStandingTreeBase",
            "MY.substrateDeadWoodFallenTreeTrunk",
            "MY.substrateDeadWoodFallenTreeBranch",
            "MY.substrateDeadWoodUpturnedRoots",
            "MY.substrateDeadWoodDeadRoots",
            "MY.substrateDeadWoodStump",
            "MY.substrateDeadWoodFallenBranch",
            "MY.substrateDeadWoodCone",
            "MY.substrateDeadWoodTwigs",
            "MY.substrateDeadWoodBark",
            "MY.substrateDeadWoodSawdust",
            "MY.substrateDeadWoodPieceOfWood",
            "MY.substrateDeadWoodLoggingResidue",
            "MY.substrateDeadWoodLog",
            "MY.substrateDeadWoodDriftwood",
            "MY.substrateDeadWoodConstructionWood",
            "MY.substrateDung",
            "MY.substrateCompost",
            "MY.substrateLivingShoot",
            "MY.substrateDeadShoot",
            "MY.substrateLivingFungus",
            "MY.substrateDeadFungus",
            "MY.substrateLivingAnimal",
            "MY.substrateDeadAnimal",
            "MY.substrateRockSurface",
            "MY.substrateDeadNeedle",
            "MY.substrateDeadLeaf"
          ],
          "title": "Type of substrate"
        },
        "substrateDecayStage": {
          "type": "string",
          "enum": [
            "",
            "MY.substrateDecayStageEnum1",
            "MY.substrateDecayStageEnum2",
            "MY.substrateDecayStageEnum3",
            "MY.substrateDecayStageEnum4",
            "MY.substrateDecayStageEnum5"
          ],
          "title": "Woody substrate, decay stage"
        },
        "substrateNotes": {
          "type": "string",
          "title": "Substrate notes"
        },
        "substrateSpecies": {
          "type": "string",
          "title": "Substrate species"
        },
        "substrateSpeciesID": {
          "type": "string",
          "title": "Substrate species"
        },
        "substrateSpeciesInformalNameString": {
          "type": "string",
          "title": "Substrate species"
        },
        "substrateTreeClassification": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.substrateTreeClassificationEnum1",
              "MY.substrateTreeClassificationEnum2",
              "MY.substrateTreeClassificationEnum3",
              "MY.substrateTreeClassificationEnum4",
              "MY.substrateTreeClassificationEnum5",
              "MY.substrateTreeClassificationEnum6"
            ]
          },
          "minItems": 0,
          "title": "Woody substrate, additional information"
        },
        "tailInMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Tail"
        },
        "taste": {
          "type": "string",
          "enum": [
            "",
            "MY.tasteNotTasted",
            "MY.tasteNoTaste",
            "MY.tasteWeak",
            "MY.tasteModerate",
            "MY.tasteStrong"
          ],
          "title": "Taste"
        },
        "tasteNotes": {
          "type": "string",
          "title": "Taste notes"
        },
        "taxonConfidence": {
          "type": "string",
          "enum": [
            "",
            "MY.taxonConfidenceSure",
            "MY.taxonConfidenceUnsure",
            "MY.taxonConfidenceSubspeciesUnsure"
          ],
          "title": "Confidence of determination"
        },
        "twitched": {
          "type": "boolean",
          "title": "Twitched"
        },
        "unitFact": {
          "$ref": "#/components/schemas/store-unitFact"
        },
        "unitGathering": {
          "$ref": "#/components/schemas/store-unitGathering"
        },
        "unitType": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Specimen type"
        },
        "weightInGrams": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Weight"
        },
        "wild": {
          "type": "string",
          "enum": [
            "",
            "MY.wildWild",
            "MY.wildUnknown",
            "MY.wildNonWild"
          ],
          "title": "Native status"
        },
        "wingInMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Wing length (mm)"
        },
        "audio": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Recordings"
        },
        "images": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Images"
        },
        "publicityRestrictions": {
          "type": "string",
          "enum": [
            "",
            "MZ.publicityRestrictionsPublic",
            "MZ.publicityRestrictionsProtected",
            "MZ.publicityRestrictionsPrivate"
          ],
          "description": "PUBLIC: all data can be published; PROTECTED: exact locality is hidden (100*100km square); PRIVATE: most of the data is hidden. Empty value means same as public.",
          "title": "Publicity restrictions"
        },
        "identifications": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-identification"
          }
        },
        "typeSpecimens": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-typeSpecimen"
          }
        },
        "samples": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-sample"
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "DBH",
        "DNASampleLocation",
        "abundanceString",
        "abundanceUnit",
        "additionalIDs",
        "adultIndividualCount",
        "age",
        "ageNotes",
        "alive",
        "ankleInMillimeters",
        "areaInSquareMeters",
        "atlasCode",
        "batBehavior",
        "beakInMillimeters",
        "birdAge",
        "birdBehavior",
        "birdPlumage",
        "breeding",
        "broodSize",
        "causeOfDeath",
        "checklistID",
        "chemistry",
        "count",
        "decayStage",
        "distance",
        "earliestEpochOrLowestSeries",
        "femaleIndividualCount",
        "fruitType",
        "genotype",
        "gonadInMillimeters",
        "growthMediumName",
        "growthOtherConditions",
        "growthTemperature",
        "habitat",
        "hasIdentification",
        "hasSubUnit",
        "hostID",
        "hostInformalNameString",
        "indirectObservationType",
        "individualCount",
        "infestation",
        "informalNameString",
        "informalTaxonGroup",
        "informalTaxonGroups",
        "infrasubspecificSubdivision",
        "isPartOf",
        "juvenileIndividualCount",
        "keywords",
        "larvaIndividualCount",
        "latestEpochOrHighestSeries",
        "lengthInMillimeters",
        "lifeStage",
        "lifeStageDescription",
        "likelyMigrant",
        "macroscopy",
        "maleIndividualCount",
        "measurement",
        "microbiologicalRiskGroup",
        "microscopy",
        "movingDirection",
        "movingStatus",
        "mutant",
        "nativeStatus",
        "nestCount",
        "nestNotes",
        "nestTreeDiameterInCentimeters",
        "nestType",
        "notes",
        "observationStatus",
        "pairCount",
        "pairCountOpinion",
        "plantLifeStage",
        "plantStatusCode",
        "populationAbundance",
        "preparations",
        "preservation",
        "primarySpecimen",
        "provenance",
        "recordBasis",
        "recordParts",
        "ring",
        "samplingMethod",
        "samplingMethodNotes",
        "seedMaturity",
        "seedMorphology",
        "sequenceText",
        "sex",
        "sexNotes",
        "shortHandText",
        "smell",
        "smellNotes",
        "stratigraphyVerbatim",
        "substrateClassification",
        "substrateDecayStage",
        "substrateNotes",
        "substrateSpecies",
        "substrateSpeciesID",
        "substrateSpeciesInformalNameString",
        "substrateTreeClassification",
        "tailInMillimeters",
        "taste",
        "tasteNotes",
        "taxonConfidence",
        "twitched",
        "unitFact",
        "unitGathering",
        "unitType",
        "weightInGrams",
        "wild",
        "wingInMillimeters",
        "audio",
        "images",
        "publicityRestrictions",
        "identifications",
        "typeSpecimens",
        "samples"
      ]
    },
    "store-measurement": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MY.measurementClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MY.measurementClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MY.measurementClass"
        },
        "DNAConcentrationNgPerMicroliter": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "DNA concentration (ng/microliter)"
        },
        "DNARatioOfAbsorbance260And280": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "DNA purity (ratio of absorbance 260/280 nm)"
        },
        "DNAVolumeMicroliters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "DNA volume (microliters)"
        },
        "beakMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Beak (mm)"
        },
        "bodyCentimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Body (cm)"
        },
        "bodyMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Body (mm)"
        },
        "earLengthMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Ear length (mm)"
        },
        "embryoCount": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Embryo count"
        },
        "follicleDiameterMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Follicle diameter (mm)"
        },
        "footLengthMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Foot length (mm)"
        },
        "forearmMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Forearm (mm)"
        },
        "gonadMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Gonad (mm)"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        },
        "tailCentimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Tail (cm)"
        },
        "tailMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Tail (mm)"
        },
        "tarsusLengthMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Tarsus length (mm)"
        },
        "totalLengthCentimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Length (cm)"
        },
        "totalLengthMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Length (mm)"
        },
        "uterineScarCount": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Uterine scar count"
        },
        "weightGrams": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Weight (g)"
        },
        "weightKilograms": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Weight (kg)"
        },
        "wingMaxMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Wing max (mm)"
        },
        "wingMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Wing (mm)"
        },
        "wingMinMillimeters": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "number"
          },
          "minItems": 0,
          "title": "Wing min (mm)"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "DNAConcentrationNgPerMicroliter",
        "DNARatioOfAbsorbance260And280",
        "DNAVolumeMicroliters",
        "beakMillimeters",
        "bodyCentimeters",
        "bodyMillimeters",
        "earLengthMillimeters",
        "embryoCount",
        "follicleDiameterMillimeters",
        "footLengthMillimeters",
        "forearmMillimeters",
        "gonadMillimeters",
        "isPartOf",
        "tailCentimeters",
        "tailMillimeters",
        "tarsusLengthMillimeters",
        "totalLengthCentimeters",
        "totalLengthMillimeters",
        "uterineScarCount",
        "weightGrams",
        "weightKilograms",
        "wingMaxMillimeters",
        "wingMillimeters",
        "wingMinMillimeters"
      ]
    },
    "store-unitFact": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Näytteen / havainnon faktat"
        },
        "id": {
          "type": "string",
          "title": "Id for the Näytteen / havainnon faktat"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Näytteen / havainnon faktat"
        },
        "adultIndividualCount": {
          "type": "integer",
          "title": "Adult individual count"
        },
        "autocompleteSelectedTaxonID": {
          "type": "string",
          "title": "Taxon ID selected from autocomplete"
        },
        "birdMultiplier": {
          "type": "boolean",
          "title": "K-multiplier"
        },
        "broodCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Brood count"
        },
        "destroyedNestCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Destroyed nests count"
        },
        "detOnSite": {
          "type": "string",
          "enum": [
            "",
            "MY.duringObservation",
            "MY.afterObservation"
          ],
          "description": "Tehtiinkö lajin määritys havaintotilanteessa vai myöhemmin esimerkiksi internetin tai muiden kanssa keskustelun perusteella?",
          "title": "Determination on site"
        },
        "distanceMeters": {
          "type": "integer",
          "title": "Observation distance (m)"
        },
        "eggCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Egg count"
        },
        "femalesWithBroodsCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Females with broods count"
        },
        "glowWormMicrohabitat": {
          "type": "string",
          "enum": [
            "",
            "MY.glowWormMicrohabitatEnum1",
            "MY.glowWormMicrohabitatEnum2",
            "MY.glowWormMicrohabitatEnum3",
            "MY.glowWormMicrohabitatEnum4",
            "MY.glowWormMicrohabitatEnum5",
            "MY.glowWormMicrohabitatEnum6",
            "MY.glowWormMicrohabitatEnumOther"
          ],
          "title": "Micro habitat"
        },
        "groundNestCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Ground nest count"
        },
        "individualCountFlock": {
          "type": "integer",
          "minimum": 0,
          "title": "Parven koko"
        },
        "individualCountInner": {
          "type": "integer",
          "minimum": 0,
          "title": "Yksilömäärä sisällä"
        },
        "individualCountOuter": {
          "type": "integer",
          "minimum": 0,
          "title": "Yksilömäärä alueen ulkopuolella"
        },
        "juvenileIndividualCount": {
          "type": "integer",
          "title": "Juvenile individual count"
        },
        "lineTransectObsType": {
          "type": "string",
          "enum": [
            "",
            "MY.lineTransectObsTypeSong",
            "MY.lineTransectObsTypeOtherSound",
            "MY.lineTransectObsTypeSeen",
            "MY.lineTransectObsTypeSeenMale",
            "MY.lineTransectObsTypeSeenFemale",
            "MY.lineTransectObsTypeFlyingOverhead",
            "MY.lineTransectObsTypeFlock",
            "MY.lineTransectObsTypeFlockFlyingOverhead",
            "MY.lineTransectObsTypeSeenPair",
            "MY.lineTransectObsTypeSeenBrood",
            "MY.lineTransectObsTypeSeenNest",
            "MY.lineTransectObsTypeUnknown"
          ],
          "title": "Observations quality"
        },
        "lineTransectRouteFieldType": {
          "type": "string",
          "enum": [
            "",
            "MY.lineTransectRouteFieldTypeInner",
            "MY.lineTransectRouteFieldTypeOuter"
          ],
          "title": "Field Area"
        },
        "lolifeDroppingsCount": {
          "type": "string",
          "enum": [
            "",
            "MY.lolifeDroppingsCount0",
            "MY.lolifeDroppingsCount1",
            "MY.lolifeDroppingsCount2",
            "MY.lolifeDroppingsCount25",
            "MY.lolifeDroppingsCount3",
            "MY.lolifeDroppingsCount4"
          ],
          "title": "Droppings count"
        },
        "lolifeDroppingsQuality": {
          "type": "string",
          "enum": [
            "",
            "MY.lolifeDroppingsQuality1",
            "MY.lolifeDroppingsQuality2"
          ],
          "title": "Papanoiden laatu"
        },
        "lolifeDroppingsType": {
          "type": "string",
          "enum": [
            "",
            "MY.lolifeDroppingsTypeRock",
            "MY.lolifeDroppingsTypeTree",
            "MY.lolifeDroppingsTypeTreeGroup",
            "MY.lolifeDroppingsTypeOther"
          ],
          "title": "Droppings type"
        },
        "lolifeNestTree": {
          "type": "string",
          "enum": [
            "",
            "MX.38590",
            "MX.37812",
            "MX.37999",
            "MX.37993",
            "MX.38010",
            "MX.38008",
            "MY.lolifeNestTreeOther"
          ],
          "title": "Tree species"
        },
        "observationDuration": {
          "type": "string",
          "title": "Observation duration"
        },
        "observationHours": {
          "type": "integer",
          "exclusiveMinimum": true,
          "title": "Observation duration (h)",
          "minimum": 0
        },
        "pairCountInner": {
          "type": "integer",
          "minimum": 0,
          "title": "Parimäärä sisällä"
        },
        "pairCountOuter": {
          "type": "integer",
          "minimum": 0,
          "title": "Parimäärä alueen ulkopuolella"
        },
        "pointCountFlock": {
          "type": "string",
          "title": "Parvien koot"
        },
        "pullusIndividualCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Pullus individual count"
        },
        "runningWaterInVicinity": {
          "type": "boolean",
          "title": "Is the plant growing next to running water?"
        },
        "taxonConfidenceDescription": {
          "type": "string",
          "description": "Oma arvio lajimäärityksen luotettavuudesta",
          "title": "Estimate on determination confidence"
        },
        "traits": {
          "type": "string",
          "title": "Observed traits"
        },
        "treeNestCount": {
          "type": "integer",
          "minimum": 0,
          "title": "Puupesien määrä"
        },
        "waterbirdFemale": {
          "type": "string",
          "enum": [
            "",
            "MY.waterbirdFemaleEnumYes",
            "MY.waterbirdFemaleEnumNo",
            "MY.waterbirdFemaleEnumLonelyPanicking"
          ],
          "title": "Female observed"
        },
        "waterbirdJuvenileAgeClass": {
          "type": "string",
          "enum": [
            "",
            "MY.waterbirdJuvenileAgeClassIa",
            "MY.waterbirdJuvenileAgeClassIb",
            "MY.waterbirdJuvenileAgeClassIc",
            "MY.waterbirdJuvenileAgeClassIIa",
            "MY.waterbirdJuvenileAgeClassIIb",
            "MY.waterbirdJuvenileAgeClassIIc",
            "MY.waterbirdJuvenileAgeClassIIIa",
            "MY.waterbirdJuvenileAgeClassUnknown"
          ],
          "title": "Juvenile age class"
        },
        "waterbirdJuvenileCountAccurate": {
          "type": "boolean",
          "title": "Count accurate?"
        },
        "waterbirdObserverOpinionSelectedCensus": {
          "type": "boolean",
          "title": "Make an interpretation based on this census"
        },
        "waterbirdPairCountOpinionReasoning": {
          "type": "string",
          "enum": [
            "",
            "MY.waterbirdPairCountOpinionReasoningEnum1",
            "MY.waterbirdPairCountOpinionReasoningEnum2",
            "MY.waterbirdPairCountOpinionReasoningEnum3",
            "MY.waterbirdPairCountOpinionReasoningEnumOther"
          ],
          "title": "Reasoning for own interpretation"
        },
        "individualCountBiotopeA": {
          "type": "integer",
          "minimum": 0,
          "title": "Individual count dump"
        },
        "individualCountBiotopeB": {
          "type": "integer",
          "minimum": 0,
          "title": "Individual count urban"
        },
        "individualCountBiotopeC": {
          "type": "integer",
          "minimum": 0,
          "title": "Individual count countryside"
        },
        "individualCountBiotopeD": {
          "type": "integer",
          "minimum": 0,
          "title": "Individual count field"
        },
        "individualCountBiotopeE": {
          "type": "integer",
          "minimum": 0,
          "title": "Individual count forest"
        },
        "individualCountBiotopeF": {
          "type": "integer",
          "minimum": 0,
          "title": "Individual count other biotope"
        },
        "individualCountBiotopeG": {
          "type": "integer",
          "minimum": 0,
          "title": "Individual count cutting open"
        },
        "individualCountBiotopeH": {
          "type": "integer",
          "minimum": 0,
          "title": "Individual count reed"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "adultIndividualCount",
        "autocompleteSelectedTaxonID",
        "birdMultiplier",
        "broodCount",
        "destroyedNestCount",
        "detOnSite",
        "distanceMeters",
        "eggCount",
        "femalesWithBroodsCount",
        "glowWormMicrohabitat",
        "groundNestCount",
        "individualCountFlock",
        "individualCountInner",
        "individualCountOuter",
        "juvenileIndividualCount",
        "lineTransectObsType",
        "lineTransectRouteFieldType",
        "lolifeDroppingsCount",
        "lolifeDroppingsQuality",
        "lolifeDroppingsType",
        "lolifeNestTree",
        "observationDuration",
        "observationHours",
        "pairCountInner",
        "pairCountOuter",
        "pointCountFlock",
        "pullusIndividualCount",
        "runningWaterInVicinity",
        "taxonConfidenceDescription",
        "traits",
        "treeNestCount",
        "waterbirdFemale",
        "waterbirdJuvenileAgeClass",
        "waterbirdJuvenileCountAccurate",
        "waterbirdObserverOpinionSelectedCensus",
        "waterbirdPairCountOpinionReasoning",
        "individualCountBiotopeA",
        "individualCountBiotopeB",
        "individualCountBiotopeC",
        "individualCountBiotopeD",
        "individualCountBiotopeE",
        "individualCountBiotopeF",
        "individualCountBiotopeG",
        "individualCountBiotopeH"
      ]
    },
    "store-unitGathering": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Havainnon keruutiedot"
        },
        "id": {
          "type": "string",
          "title": "Id for the Havainnon keruutiedot"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Havainnon keruutiedot"
        },
        "dateBegin": {
          "type": "string",
          "description": "Collection date as exact date or start date for a time period.",
          "title": "Start date"
        },
        "dateEnd": {
          "type": "string",
          "description": "End date for a collection time period, if exact date is not know.",
          "title": "End date"
        },
        "geometry": {
          "$ref": "#/components/schemas/store-geometry"
        },
        "habitatDescription": {
          "type": "string",
          "description": "Informal description of the habitat.",
          "title": "Habitat description"
        },
        "substrate": {
          "type": "string",
          "description": "Type of substrate or name of substrate species.",
          "title": "Substrate"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "dateBegin",
        "dateEnd",
        "geometry",
        "habitatDescription",
        "substrate"
      ]
    },
    "store-identification": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Identification"
        },
        "id": {
          "type": "string",
          "title": "Id for the Identification"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Identification"
        },
        "associatedObservationTaxa": {
          "type": "string",
          "description": "Write associated observation taxa names here, separated by a semicolon (;). E.g.: \"Betula pendula; Betula pubescens; Poaceae\". These will form their own units of the type observation.",
          "title": "Associated observation taxa"
        },
        "author": {
          "type": "string",
          "description": "Author for the taxon",
          "title": "Taxon author"
        },
        "det": {
          "type": "string",
          "description": "Name of the identifier (person) preferably in format \"lastname, firstname\"",
          "title": "Det."
        },
        "detDate": {
          "type": "string",
          "description": "Date or year when the identification was done, preferably in format \"d.m.Y\" or \"Y\"",
          "title": "Det. date"
        },
        "detMethod": {
          "type": "string",
          "enum": [
            "",
            "MY.detMethodFreshSample",
            "MY.detMethodMicroscopy",
            "MY.detMethodPhoto"
          ],
          "title": "Det method"
        },
        "detVerbatim": {
          "type": "string",
          "description": "Name of the identifier and date of identification in original format (e.g. from the label), errors and all",
          "title": "Det verbatim from the label or other original source"
        },
        "genusQualifier": {
          "type": "string",
          "description": "Additional qualifier or specifier at genus level (e.g. aff., cf.)",
          "title": "Genus qualifier"
        },
        "identificationBasis": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.identificationBasisDNA",
              "MY.identificationBasisGenitals",
              "MY.identificationBasisGenitalPreparate",
              "MY.identificationBasisSpores",
              "MY.identificationBasisHandled",
              "MY.identificationBasisChemical",
              "MY.identificationBasisHeard",
              "MY.identificationBasisMicroscope",
              "MY.identificationBasisSeen",
              "MY.identificationBasisPreservedSpecimen",
              "MY.identificationBasisFreshSpecimen",
              "MY.identificationBasisMedia"
            ]
          },
          "minItems": 0,
          "title": "Identification basis"
        },
        "identificationNotes": {
          "type": "string",
          "description": "Additional information on the identification, basis or such",
          "title": "Identification notes"
        },
        "infraAuthor": {
          "type": "string",
          "description": "Author for the taxon below species level/infra epithet",
          "title": "Infra author"
        },
        "infraEpithet": {
          "type": "string",
          "description": "Taxon name for the epithet below species level",
          "title": "Infra name"
        },
        "infraRank": {
          "type": "string",
          "enum": [
            "",
            "MY.infraRankSsp",
            "MY.infraRankVar",
            "MY.infraRankBeta",
            "MY.infraRankB",
            "MY.infraRankForma",
            "MY.infraRankHybrid",
            "MY.infraRankAnamorph",
            "MY.infraRankAggregate",
            "MY.infraRankAberration",
            "MY.infraRankCultivar",
            "MY.infraRankMorpha",
            "MY.infraRankUnknown",
            "MY.infraRankNothosubspecies",
            "MY.infraRankCultivarGroup",
            "MY.infraRankFsp",
            "MY.infraRankNothovar"
          ],
          "description": "Taxonomic level of the epithet below species level",
          "title": "Infra rank"
        },
        "infrasubspecificSubdivision": {
          "type": "string",
          "description": "Pathovars, serovars and other infrasubspecific subdivisions of microbes.",
          "title": "Infrasubspecific subdivision"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        },
        "isTaxonGroup": {
          "type": "boolean",
          "title": "Is taxon group"
        },
        "preferredIdentification": {
          "type": "string",
          "description": "This can be used to select one of the identifications as 'recommended', which is the used as default when displaying information about the specimen.",
          "title": "Preferred identification"
        },
        "sec": {
          "type": "string",
          "description": "Publication reference for the taxon concept, that was used in identification",
          "title": "Taxon concept (sec)"
        },
        "speciesQualifier": {
          "type": "string",
          "description": "Additional qualifier at species level (e.g. aff., cf., sp. n., coll.)",
          "title": "Species qualifier"
        },
        "taxon": {
          "type": "string",
          "description": "Taxon name",
          "title": "Species"
        },
        "taxonID": {
          "type": "string",
          "description": "ID for the taxon if has some other than an MX code",
          "title": "Taxon alternative ID"
        },
        "taxonRank": {
          "type": "string",
          "enum": [
            "",
            "MX.superdomain",
            "MX.domain",
            "MX.kingdom",
            "MX.subkingdom",
            "MX.infrakingdom",
            "MX.superphylum",
            "MX.phylum",
            "MX.subphylum",
            "MX.infraphylum",
            "MX.superdivision",
            "MX.division",
            "MX.subdivision",
            "MX.infradivision",
            "MX.superclass",
            "MX.class",
            "MX.subclass",
            "MX.infraclass",
            "MX.parvclass",
            "MX.superorder",
            "MX.order",
            "MX.suborder",
            "MX.infraorder",
            "MX.parvorder",
            "MX.superfamily",
            "MX.family",
            "MX.subfamily",
            "MX.tribe",
            "MX.subtribe",
            "MX.supergenus",
            "MX.genus",
            "MX.nothogenus",
            "MX.subgenus",
            "MX.section",
            "MX.subsection",
            "MX.series",
            "MX.subseries",
            "MX.infragenericTaxon",
            "MX.aggregate",
            "MX.speciesAggregate",
            "MX.species",
            "MX.nothospecies",
            "MX.infraspecificTaxon",
            "MX.subspecificAggregate",
            "MX.subspecies",
            "MX.nothosubspecies",
            "MX.variety",
            "MX.subvariety",
            "MX.form",
            "MX.subform",
            "MX.hybrid",
            "MX.anamorph",
            "MX.ecotype",
            "MX.populationGroup",
            "MX.intergenericHybrid",
            "MX.infragenericHybrid",
            "MX.cultivar",
            "MX.group",
            "MX.grex"
          ],
          "description": "Taxonomic level for the identification",
          "title": "Taxon rank"
        },
        "taxonSpecifier": {
          "type": "string",
          "title": "Taxon specifier"
        },
        "taxonURI": {
          "type": "string",
          "title": "Taxon URI"
        },
        "taxonVerbatim": {
          "type": "string",
          "description": "Taxon name in original format (e.g. from the label), errors and all",
          "title": "Taxon verbatim"
        },
        "publicityRestrictions": {
          "type": "string",
          "enum": [
            "",
            "MZ.publicityRestrictionsPublic",
            "MZ.publicityRestrictionsProtected",
            "MZ.publicityRestrictionsPrivate"
          ],
          "description": "PUBLIC: all data can be published; PROTECTED: exact locality is hidden (100*100km square); PRIVATE: most of the data is hidden. Empty value means same as public.",
          "title": "Publicity restrictions"
        },
        "sortOrder": {
          "type": "integer",
          "title": "sortOrder"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "associatedObservationTaxa",
        "author",
        "det",
        "detDate",
        "detMethod",
        "detVerbatim",
        "genusQualifier",
        "identificationBasis",
        "identificationNotes",
        "infraAuthor",
        "infraEpithet",
        "infraRank",
        "infrasubspecificSubdivision",
        "isPartOf",
        "isTaxonGroup",
        "preferredIdentification",
        "sec",
        "speciesQualifier",
        "taxon",
        "taxonID",
        "taxonRank",
        "taxonSpecifier",
        "taxonURI",
        "taxonVerbatim",
        "publicityRestrictions",
        "sortOrder"
      ]
    },
    "store-typeSpecimen": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Identification"
        },
        "id": {
          "type": "string",
          "title": "Id for the Identification"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Identification"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        },
        "typeAuthor": {
          "type": "string",
          "description": "Author of the type species",
          "title": "Type author"
        },
        "typeBasionymePubl": {
          "type": "string",
          "description": "Publication reference for original description or basionyme",
          "title": "Original description publication"
        },
        "typeNotes": {
          "type": "string",
          "description": "Additional information on the type",
          "title": "Type notes"
        },
        "typePubl": {
          "type": "string",
          "description": "Publication reference for type publication",
          "title": "Type publication"
        },
        "typeSeriesID": {
          "type": "string",
          "description": "ID for the type series, if part of one",
          "title": "Type series ID"
        },
        "typeSpecies": {
          "type": "string",
          "description": "Name of the type species",
          "title": "Type name"
        },
        "typeStatus": {
          "type": "string",
          "enum": [
            "",
            "MY.typeStatusType",
            "MY.typeStatusHolotype",
            "MY.typeStatusSyntype",
            "MY.typeStatusParatype",
            "MY.typeStatusLectotype",
            "MY.typeStatusParalectotype",
            "MY.typeStatusNeotype",
            "MY.typeStatusAllotype",
            "MY.typeStatusNeoallotype",
            "MY.typeStatusIsotype",
            "MY.typeStatusEpitype",
            "MY.typeStatusIsolectotype",
            "MY.typeStatusIsoepitype",
            "MY.typeStatusIsoneotype",
            "MY.typeStatusIsoparatype",
            "MY.typeStatusIsosyntype",
            "MY.typeStatusOriginalMaterial",
            "MY.typeStatusCotype",
            "MY.typeStatusTopotype",
            "MY.typeStatusHomotype",
            "MY.typeStatusNo",
            "MY.typeStatusPossible",
            "MY.typeStatusObscure",
            "MY.typeStatusTypeStrain",
            "MY.typeStatusPathovarReferenceStrain"
          ],
          "description": "Is this holotype, paratype, syntype etc...",
          "title": "Type of type"
        },
        "typeSubspecies": {
          "type": "string",
          "description": "Name of the type subspecies",
          "title": "Type ssp name"
        },
        "typeSubspeciesAuthor": {
          "type": "string",
          "description": "Author of the type subspecies",
          "title": "Type ssp author"
        },
        "typeVerification": {
          "type": "string",
          "enum": [
            "",
            "MY.typeVerificationVerified",
            "MY.typeVerificationUnverified",
            "MY.typeVerificationProbable",
            "MY.typeVerificationDoubtful"
          ],
          "description": "Verification whether this really is a type?",
          "title": "Type verification"
        },
        "typif": {
          "type": "string",
          "description": "Name of the person who chose the type, preferably in the format \"Lastname, firstname\"",
          "title": "Typefier"
        },
        "typifDate": {
          "type": "string",
          "description": "Date when the specimen was chosen as a type",
          "title": "Typifier date"
        },
        "publicityRestrictions": {
          "type": "string",
          "enum": [
            "",
            "MZ.publicityRestrictionsPublic",
            "MZ.publicityRestrictionsProtected",
            "MZ.publicityRestrictionsPrivate"
          ],
          "description": "PUBLIC: all data can be published; PROTECTED: exact locality is hidden (100*100km square); PRIVATE: most of the data is hidden. Empty value means same as public.",
          "title": "Publicity restrictions"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "isPartOf",
        "typeAuthor",
        "typeBasionymePubl",
        "typeNotes",
        "typePubl",
        "typeSeriesID",
        "typeSpecies",
        "typeStatus",
        "typeSubspecies",
        "typeSubspeciesAuthor",
        "typeVerification",
        "typif",
        "typifDate",
        "publicityRestrictions"
      ]
    },
    "store-sample": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Specimen sample"
        },
        "id": {
          "type": "string",
          "title": "Id for the Specimen sample"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Specimen sample"
        },
        "DNAExtractionInstrument": {
          "type": "string",
          "description": "Name of the instrument or device used for DNA extraction",
          "title": "DNA extraction instrument"
        },
        "additionalIDs": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Other identifiers this preparation/sample has, in format 'type:identifier'. For example: 'MZHtissue:123'. You can enter the type and colon and then click 'generate' to fetch the next free number for that prefix type.",
          "title": "Preparation/sample additional sample IDs"
        },
        "bold": {
          "type": "string",
          "description": "BOLD ID (usually BOLD \"Sample ID\") for the preparation/sample. If no other preparation/sample information is entered, use the BOLD field on the document level",
          "title": "Sample BOLD ID"
        },
        "collectionID": {
          "type": "string",
          "description": "The collection which this preparation/sample belongs to, if different from the collection of the specimen.",
          "title": "Preparation/sample collection"
        },
        "condition": {
          "type": "string",
          "description": "Notes on the defects of the preparation/sample (missing parts or such). For specimen level status use the condition field in the basic information section (document level). Empty value means same as \"good\" or \"hyvä\" - that the sample is in fine condition.",
          "title": "Preparation/sample condition (defects)"
        },
        "datasetID": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Tag for the preparation/sample. For specimen level tags, use the tag field in the basic information section (document level).",
          "title": "Preparation/sample tag(s)"
        },
        "elutionMedium": {
          "type": "string",
          "enum": [
            "",
            "MF.elutionMediumUltrapureWater",
            "MF.elutionMediumElutionBuffer"
          ],
          "description": "DNA sample elution medium",
          "title": "DNA elution medium"
        },
        "event": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Diary-style information about what has been done to the preparation/sample",
          "title": "Events (maintenance etc.)"
        },
        "genbank": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Genbank ID for the preparation/sample. If no other preparation/sample information is entered, use the Genbank field on the document level",
          "title": "Sample Genbank ID"
        },
        "individualsInPreparation": {
          "type": "string",
          "enum": [
            "",
            "MF.individualsInPreparationMultiple",
            "MF.individualsInPreparationSingle"
          ],
          "description": "For example a jar that contains multiple fish individuals can be recorded as one specimen and one preparation. Can also be used for DNA samples (was DNA extracted from single or multiple individuals?).",
          "title": "Single/multiple individual(s)?"
        },
        "material": {
          "type": "string",
          "enum": [
            "",
            "MF.materialBirdStudySkin",
            "MF.materialWing",
            "MF.materialTail",
            "MF.materialWingAndTail",
            "MF.materialSkull",
            "MF.materialEntireSkeleton",
            "MF.materialBones",
            "MF.materialSkullAndBones",
            "MF.materialAntlers",
            "MF.materialHead",
            "MF.materialMuscle",
            "MF.materialLiver",
            "MF.materialLeaf",
            "MF.materialBlood",
            "MF.materialLeg",
            "MF.materialSkin",
            "MF.materialFeather",
            "MF.materialEgg",
            "MF.materialEggContent",
            "MF.materialGenomicDNA",
            "MF.materialMitochondrialDNA",
            "MF.materialChloroplastDNA",
            "MF.materialEnvironmentalDNA",
            "MF.materialTeeth",
            "MF.materialBodyParts",
            "MF.materialEntireOrganism",
            "MF.materialAppendages",
            "MF.materialGenitalPreparation",
            "MF.materialSection",
            "MF.materialChromosomes",
            "MF.materialShell",
            "MF.materialHair",
            "MF.materialClutch",
            "MF.materialEggshell",
            "MF.materialEggshellFragments",
            "MF.materialNest",
            "MF.materialNestMaterial",
            "MF.materialOther"
          ],
          "description": "Preparation/sample material. Choose preparation/sample type first.",
          "title": "Material"
        },
        "notes": {
          "type": "string",
          "description": "Additional information about the preparation/sample",
          "title": "Notes"
        },
        "preparationType": {
          "type": "string",
          "enum": [
            "MF.preparationTypeSkin",
            "MF.preparationTypeSkeletal",
            "MF.preparationTypeMount",
            "MF.preparationTypeTissue",
            "MF.preparationTypeTissueEcotoxicology",
            "MF.preparationTypeLiquid",
            "MF.preparationTypeMicroscopeSlide",
            "MF.preparationTypeDNAExtract",
            "MF.preparationTypeEgg",
            "MF.preparationTypeNest",
            "MF.preparationTypeFrozenSpecimen",
            "MF.preparationTypeOther"
          ],
          "description": "Type of preparation/sample",
          "title": "Preparation/sample type"
        },
        "preparations": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-preparation"
          }
        },
        "preservation": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MY.preservationPressed",
              "MY.preservationDry",
              "MY.preservationCriticalPointDrying",
              "MY.preservationPinned",
              "MY.preservationGlued",
              "MY.preservationLiquid",
              "MY.preservationEthanol",
              "MY.preservationEthanolPure",
              "MY.preservationEthanol70",
              "MY.preservationEthanol80",
              "MY.preservationEthanol80Pure",
              "MY.preservationEthanol96",
              "MY.preservationEthanolMinus20C",
              "MY.preservationEthanolDenatured",
              "MY.preservationEthanolFormalin",
              "MY.preservationEthanolExFormalin",
              "MY.preservationFormalin",
              "MY.preservationBouinSolution",
              "MY.preservationPampelsFluid",
              "MY.preservationGlycerol",
              "MY.preservationParaffin",
              "MY.preservationMercuricChloride",
              "MY.preservationCryopreserved",
              "MY.preservationFrozen",
              "MY.preservationFrozenMinus80C",
              "MY.preservationFreezeDried",
              "MY.preservationGoldPlated",
              "MY.preservationActiveCulture",
              "MY.preservationLiving",
              "MY.preservationSlide",
              "MY.preservationSlideCanadaBalsam",
              "MY.preservationSlideEuparal",
              "MY.preservationSlidePolyviol",
              "MY.preservationStuffed",
              "MY.preservationCast",
              "MY.preservationPlastinated",
              "MY.preservationFrozenMinus80CAndEthanolMinus20C"
            ]
          },
          "minItems": 0,
          "description": "Preservation methods and materials of the preparation/sample. It is possible to choose several",
          "title": "Preparation/sample preservation"
        },
        "publication": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Publication references or doi's that refer to this preparations/sample. For publications referring to the specimen, use publications field in the Other section (document level).",
          "title": "Preparation/sample publication(s)"
        },
        "quality": {
          "type": "string",
          "enum": [
            "",
            "MF.qualityLow",
            "MF.qualityMedium",
            "MF.qualityHigh"
          ],
          "description": "DNA sample quality on a three step scale. The quality is defined by quality check measurements",
          "title": "DNA sample quality"
        },
        "qualityCheckDate": {
          "type": "string",
          "description": "Date of the latest quality check measurements",
          "title": "DNA quality check date"
        },
        "qualityCheckMethod": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MF.qualityCheckMethodNanoDrop",
              "MF.qualityCheckMethodCubit"
            ]
          },
          "minItems": 0,
          "description": "Method or instrument used for quality measurements",
          "title": "DNA quality check method"
        },
        "qualityNotes": {
          "type": "string",
          "description": "Additional information about the DNA sample quality",
          "title": "DNA quality notes"
        },
        "sampleLocation": {
          "type": "string",
          "description": "Location of the preparation/sample so that museum personnel can find it. E.g. room, freezer, shelf number etc.",
          "title": "Preparation/sample location"
        },
        "specimenID": {
          "type": "string",
          "title": "Specimen ID"
        },
        "status": {
          "type": "string",
          "enum": [
            "",
            "MY.statusOk",
            "MY.statusMissing",
            "MY.statusUnrecoverable",
            "MY.statusLost",
            "MY.statusDonated",
            "MY.statusDeposited",
            "MY.statusDeaccessioned",
            "MY.statusDiscarded",
            "MY.statusSpent",
            "MY.statusDestroyed",
            "MY.statusUndefined",
            "MY.statusAxenic",
            "MY.statusNonAxenic",
            "MY.statusNotAvailable",
            "MY.statusDead",
            "MY.statusNoVoucherRetained"
          ],
          "description": "Status of the preparation/sample. For specimen level status use the status field in the basic information section. Empty value means same as \"ok\" - that there is nothing special about the status of the sample.",
          "title": "Preparation/sample status"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        },
        "measurement": {
          "$ref": "#/components/schemas/store-measurement"
        },
        "creator": {
          "type": "string",
          "title": "Creator"
        },
        "dateCreated": {
          "type": "string",
          "format": "date-time",
          "title": "Created"
        },
        "dateEdited": {
          "type": "string",
          "format": "date-time",
          "title": "Edited"
        },
        "editor": {
          "type": "string",
          "title": "Editor"
        },
        "owner": {
          "type": "string",
          "description": "Team or organisation that owns the record and can edit it.",
          "title": "Owner of record"
        }
      },
      "required": [
        "preparationType"
      ],
      "additionalProperties": false
    },
    "store-preparation": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MF.preparationClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MF.preparationClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MF.preparationClass"
        },
        "preparationDate": {
          "type": "string",
          "description": "Date when the preparation/sample was prepared.",
          "title": "Preparation date"
        },
        "preparationMaterials": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MF.preparationMaterialsAcetone",
              "MF.preparationMaterialsAmmonia",
              "MF.preparationMaterialsBasyntan",
              "MF.preparationMaterialsBorax",
              "MF.preparationMaterialsEulan",
              "MF.preparationMaterialsHydrogenPeroxide",
              "MF.preparationMaterialsMethyleneChloride",
              "MF.preparationMaterialsNovaltan",
              "MF.preparationMaterialsPapaine",
              "MF.preparationMaterialsPlaster",
              "MF.preparationMaterialsPolyurethane",
              "MF.preparationMaterialsPretanix",
              "MF.preparationMaterialsPurifiedGasoline",
              "MF.preparationMaterialsWoodWool",
              "MF.preparationMaterialsCTAB",
              "MF.preparationMaterialsEZNAForensicKit",
              "MF.preparationMaterialsDNEasyBloodAndTissueKit",
              "MF.preparationMaterialsDNEasyPlantKit",
              "MF.preparationMaterialsNucleospinTissueKit",
              "MF.preparationMaterialsNucleospinPlantTwo",
              "MF.preparationMaterialsSaltExtraction",
              "MF.preparationMaterialsDNeasyPlantMiniKit",
              "MF.preparationMaterialsMagAttractHMWDNAKit"
            ]
          },
          "minItems": 0,
          "description": "Materials (chemicals, kits etc.) used in the preparation process. It is possible to choose several.",
          "title": "Preparation process materials"
        },
        "preparationProcess": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MF.preparationProcessTanning",
              "MF.preparationProcessEnzymaticMaceration",
              "MF.preparationProcessDegreasing",
              "MF.preparationProcessBeetleCleaning",
              "MF.preparationProcessPEG",
              "MF.preparationProcessFreezeDrying"
            ]
          },
          "minItems": 0,
          "description": "Processes used in the preparation. It is possible to choose several.",
          "title": "Preparation process"
        },
        "preparationProcessNotes": {
          "type": "string",
          "description": "Additional information about the preparation process.",
          "title": "Preparation process notes"
        },
        "preparedBy": {
          "type": "string",
          "description": "Name of the person who prepared the preparation/sample, preferably in the format 'lastname, firstname'",
          "title": "Prepared by"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "preparationDate",
        "preparationMaterials",
        "preparationProcess",
        "preparationProcessNotes",
        "preparedBy",
        "isPartOf"
      ]
    },
    "store-formSeason": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MHL.formSeasonClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MHL.formSeasonClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MHL.formSeasonClass"
        },
        "end": {
          "type": "string",
          "description": "End of season",
          "title": "end"
        },
        "start": {
          "type": "string",
          "description": "Start of season",
          "title": "Start"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "end",
        "start"
      ]
    },
    "Form": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MHL.form"
        },
        "id": {
          "type": "string",
          "title": "Id for the MHL.form"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MHL.form"
        },
        "baseFormID": {
          "type": "string",
          "title": "Base form"
        },
        "category": {
          "type": "string",
          "enum": [
            "",
            "MHL.categoryGeneric",
            "MHL.categorySurvey",
            "MHL.categoryTaxonomicGroup",
            "MHL.categoryBirdMonitoringSchemes",
            "MHL.categoryCitizenScience",
            "MHL.categoryBiomonCompleteLists"
          ],
          "title": "Category"
        },
        "collectionID": {
          "type": "string",
          "description": "Id for the collection to where observation useing this form are connected",
          "title": "Collection ID"
        },
        "context": {
          "type": "string",
          "description": "The schema context of the form (e.g. MY.document, MNP.namedPlace...)",
          "title": "Context"
        },
        "description": {
          "type": "string",
          "title": "Description"
        },
        "fieldsFormID": {
          "type": "string",
          "description": "Use fields, uiSchema and translations from the form",
          "title": "Fields form ID"
        },
        "language": {
          "type": "string",
          "enum": [
            "",
            "en",
            "fi",
            "sv"
          ],
          "title": "Form language"
        },
        "logo": {
          "type": "string",
          "title": "Logo address"
        },
        "name": {
          "type": "string",
          "title": "Name"
        },
        "options": {
          "$ref": "#/components/schemas/store-formOptions"
        },
        "patch": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "minItems": 0,
          "title": "Patch form data"
        },
        "shortDescription": {
          "type": "string",
          "title": "Short description"
        },
        "shortTitle": {
          "type": "string",
          "description": "Shown at sidebar and & as browser title",
          "title": "Short title"
        },
        "supportedLanguage": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "en",
              "fi",
              "sv"
            ]
          },
          "minItems": 0,
          "title": "Supported language"
        },
        "title": {
          "type": "string",
          "title": "Title"
        },
        "translations": {
          "type": "object",
          "additionalProperties": true,
          "title": "Translations"
        },
        "uiSchema": {
          "type": "object",
          "additionalProperties": true,
          "title": "Specification for ui schema"
        },
        "schema": {
          "$ref": "#/components/schemas/JSONSchema"
        },
        "excludeFromCopy": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "validators": {
          "type": "object",
          "additionalProperties": true
        },
        "warnings": {
          "type": "object",
          "additionalProperties": true
        },
        "uiSchemaContext": {
          "type": "object",
          "additionalProperties": true
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "baseFormID",
        "category",
        "collectionID",
        "context",
        "description",
        "fieldsFormID",
        "language",
        "logo",
        "name",
        "options",
        "patch",
        "shortDescription",
        "shortTitle",
        "supportedLanguage",
        "title",
        "translations",
        "uiSchema",
        "schema",
        "excludeFromCopy",
        "validators",
        "warnings",
        "uiSchemaContext"
      ]
    },
    "JSONSchema": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/JSONSchemaObject"
        },
        {
          "$ref": "#/components/schemas/JSONSchemaArray"
        },
        {
          "$ref": "#/components/schemas/JSONSchemaPrimitive"
        }
      ]
    },
    "JSONSchemaObject": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "object"
          ]
        },
        "properties": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/JSONSchema"
          }
        },
        "default": {
          "type": "object"
        }
      },
      "required": [
        "type",
        "properties",
        "default"
      ]
    },
    "JSONSchemaArray": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "array"
          ]
        },
        "items": {
          "$ref": "#/components/schemas/JSONSchema"
        },
        "uniqueItems": {
          "type": "boolean"
        },
        "maxItems": {
          "type": "boolean"
        },
        "minItems": {
          "type": "boolean"
        },
        "default": {
          "type": "array"
        }
      },
      "required": [
        "type",
        "items"
      ],
      "additionalProperties": true
    },
    "JSONSchemaPrimitive": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "string",
            "number",
            "integer",
            "boolean",
            "null"
          ]
        },
        "default": {}
      },
      "additionalProperties": true,
      "required": [
        "type",
        "default"
      ]
    },
    "store-form": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MHL.form"
        },
        "id": {
          "type": "string",
          "title": "Id for the MHL.form"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MHL.form"
        },
        "baseFormID": {
          "type": "string",
          "title": "Base form"
        },
        "category": {
          "type": "string",
          "enum": [
            "",
            "MHL.categoryGeneric",
            "MHL.categorySurvey",
            "MHL.categoryTaxonomicGroup",
            "MHL.categoryBirdMonitoringSchemes",
            "MHL.categoryCitizenScience",
            "MHL.categoryBiomonCompleteLists"
          ],
          "title": "Category"
        },
        "collectionID": {
          "type": "string",
          "description": "Id for the collection to where observation useing this form are connected",
          "title": "Collection ID"
        },
        "context": {
          "type": "string",
          "description": "The schema context of the form (e.g. MY.document, MNP.namedPlace...)",
          "title": "Context"
        },
        "description": {
          "type": "string",
          "title": "Description"
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-field"
          }
        },
        "fieldsFormID": {
          "type": "string",
          "description": "Use fields, uiSchema and translations from the form",
          "title": "Fields form ID"
        },
        "language": {
          "type": "string",
          "enum": [
            "",
            "en",
            "fi",
            "sv"
          ],
          "title": "Form language"
        },
        "logo": {
          "type": "string",
          "title": "Logo address"
        },
        "name": {
          "type": "string",
          "title": "Name"
        },
        "options": {
          "$ref": "#/components/schemas/store-formOptions"
        },
        "patch": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "minItems": 0,
          "title": "Patch form data"
        },
        "shortDescription": {
          "type": "string",
          "title": "Short description"
        },
        "shortTitle": {
          "type": "string",
          "description": "Shown at sidebar and & as browser title",
          "title": "Short title"
        },
        "supportedLanguage": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "en",
              "fi",
              "sv"
            ]
          },
          "minItems": 0,
          "title": "Supported language"
        },
        "title": {
          "type": "string",
          "title": "Title"
        },
        "translations": {
          "type": "object",
          "additionalProperties": true,
          "title": "Translations"
        },
        "uiSchema": {
          "type": "object",
          "additionalProperties": true,
          "title": "Specification for ui schema"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "baseFormID",
        "category",
        "collectionID",
        "context",
        "description",
        "fields",
        "fieldsFormID",
        "language",
        "logo",
        "name",
        "options",
        "patch",
        "shortDescription",
        "shortTitle",
        "supportedLanguage",
        "title",
        "translations",
        "uiSchema"
      ]
    },
    "store-notification": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MHN.notification"
        },
        "id": {
          "type": "string",
          "title": "Id for the MHN.notification"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MHN.notification"
        },
        "annotation": {
          "$ref": "#/components/schemas/store-annotation"
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "title": "Created"
        },
        "friendRequest": {
          "type": "string",
          "title": "Friend request from"
        },
        "friendRequestAccepted": {
          "type": "string",
          "title": "Friend request accepted by"
        },
        "notificationReason": {
          "type": "string",
          "enum": [
            "",
            "MHN.notificationReasonOwnDocumentAnnotated",
            "MHN.notificationReasonAnnotatedDocumentAnnotated"
          ],
          "title": "Notification reason"
        },
        "seen": {
          "type": "boolean",
          "title": "Seen"
        },
        "toPerson": {
          "type": "string",
          "title": "Notification is for"
        }
      },
      "required": [
        "created",
        "toPerson"
      ],
      "additionalProperties": false
    },
    "store-annotation": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MAN.annotation"
        },
        "id": {
          "type": "string",
          "title": "Id for the MAN.annotation"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MAN.annotation"
        },
        "addedTags": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Added tags"
        },
        "annotationByPerson": {
          "type": "string",
          "title": "Person Id"
        },
        "annotationBySystem": {
          "type": "string",
          "title": "System Id"
        },
        "annotationClass": {
          "type": "string",
          "enum": [
            "",
            "MAN.annotationClassReliable",
            "MAN.annotationClassLikely",
            "MAN.annotationClassNeutral",
            "MAN.annotationClassSuspicious",
            "MAN.annotationClassUnreliable",
            "MAN.annotationClassAcknowledged",
            "MAN.annotationClassSpam"
          ],
          "title": "My evaluation of the observation"
        },
        "atlasCode": {
          "type": "string",
          "enum": [
            "",
            "MY.atlasCodeEnum1",
            "MY.atlasCodeEnum2",
            "MY.atlasCodeEnum3",
            "MY.atlasCodeEnum4",
            "MY.atlasCodeEnum5",
            "MY.atlasCodeEnum6",
            "MY.atlasCodeEnum61",
            "MY.atlasCodeEnum62",
            "MY.atlasCodeEnum63",
            "MY.atlasCodeEnum64",
            "MY.atlasCodeEnum65",
            "MY.atlasCodeEnum66",
            "MY.atlasCodeEnum7",
            "MY.atlasCodeEnum71",
            "MY.atlasCodeEnum72",
            "MY.atlasCodeEnum73",
            "MY.atlasCodeEnum74",
            "MY.atlasCodeEnum75",
            "MY.atlasCodeEnum8",
            "MY.atlasCodeEnum81",
            "MY.atlasCodeEnum82"
          ],
          "title": "Overriding Breeding Index"
        },
        "byRole": {
          "type": "string",
          "enum": [
            "",
            "MMAN.expert",
            "MMAN.basic",
            "MMAN.owner",
            "MMAN.formAdmin",
            "MMAN.ictAdmin"
          ],
          "title": "Annotators role"
        },
        "censusAnnotation": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MAN.countError",
              "MAN.innerCountError",
              "MAN.otherError"
            ]
          },
          "minItems": 0,
          "title": "Census annotation"
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "title": "Creation time"
        },
        "createdTimestamp": {
          "type": "integer",
          "minimum": 0,
          "title": "Created timestamp"
        },
        "deletedTimestamp": {
          "type": "integer",
          "minimum": 0,
          "title": "Deleted timestamp"
        },
        "identification": {
          "$ref": "#/components/schemas/store-identification"
        },
        "invasiveControlEffectiveness": {
          "type": "string",
          "enum": [
            "",
            "MY.invasiveControlEffectivenessFull",
            "MY.invasiveControlEffectivenessPartial",
            "MY.invasiveControlEffectivenessNone",
            "MY.invasiveControlEffectivenessNotFound"
          ],
          "title": "Annotation type for invasive control"
        },
        "lineTransectAnnotation": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MAN.birdCountError",
              "MAN.innerCountError",
              "MAN.otherError"
            ]
          },
          "minItems": 0,
          "title": "Line transect annotation"
        },
        "notes": {
          "type": "string",
          "title": "Comment"
        },
        "occurrenceAtTimeOfAnnotation": {
          "$ref": "#/components/schemas/store-annotationOccurrence"
        },
        "opinion": {
          "type": "string",
          "title": "Suggested identification"
        },
        "removedTags": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Removed tags"
        },
        "rootID": {
          "type": "string",
          "title": "Root ID"
        },
        "targetID": {
          "type": "string",
          "title": "Target Id"
        },
        "type": {
          "type": "string",
          "enum": [
            "",
            "MAN.typeOpinion",
            "MAN.typeInvasiveControlEffectiveness",
            "MAN.typeUnidentifiable",
            "MAN.typeAdmin"
          ],
          "title": "My evaluation of the observation"
        },
        "createdBySystem": {
          "type": "string",
          "title": "Deleted by system"
        },
        "deleted": {
          "type": "boolean",
          "title": "Soft delete"
        },
        "deletedByPerson": {
          "type": "string",
          "title": "Deleted by person"
        },
        "deletedDateTime": {
          "type": "string",
          "format": "date-time",
          "title": "Deleted at"
        }
      },
      "required": [
        "rootID"
      ],
      "additionalProperties": false
    },
    "store-annotationOccurrence": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MAN.annotationOccurrenceClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MAN.annotationOccurrenceClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MAN.annotationOccurrenceClass"
        },
        "countryVerbatim": {
          "type": "string",
          "title": "Country verbatim"
        },
        "dateBegin": {
          "type": "string",
          "title": "Date begin"
        },
        "dateEnd": {
          "type": "string",
          "title": "Date end"
        },
        "locality": {
          "type": "string",
          "title": "Locality"
        },
        "municipalityVerbatim": {
          "type": "string",
          "title": "Municipality verbatim"
        },
        "taxonId": {
          "type": "string",
          "title": "Taxon ID"
        },
        "taxonVerbatim": {
          "type": "string",
          "title": "Taxon verbatim"
        },
        "wgs84centerPointLat": {
          "type": "number",
          "title": "Latitude (center point)"
        },
        "wgs84centerPointLon": {
          "type": "number",
          "title": "Longitude (center point)"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "countryVerbatim",
        "dateBegin",
        "dateEnd",
        "locality",
        "municipalityVerbatim",
        "taxonId",
        "taxonVerbatim",
        "wgs84centerPointLat",
        "wgs84centerPointLon"
      ]
    },
    "store-profile": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MA.profile"
        },
        "id": {
          "type": "string",
          "title": "Id for the MA.profile"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MA.profile"
        },
        "birdSongRecognitionSkillLevels": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/store-birdSongRecognitionSkillLevel"
          }
        },
        "birdwatchingActivityLevel": {
          "type": "string",
          "enum": [
            "",
            "MA.birdwatchingActivityLevelEnum1",
            "MA.birdwatchingActivityLevelEnum2",
            "MA.birdwatchingActivityLevelEnum3",
            "MA.birdwatchingActivityLevelEnum4"
          ],
          "title": "User's activity level in birdwatching"
        },
        "blocked": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Blocked ppl"
        },
        "finnishBirdSongRecognitionSkillLevel": {
          "type": "string",
          "enum": [
            "",
            "MA.finnishBirdSongRecognitionSkillLevelEnum1",
            "MA.finnishBirdSongRecognitionSkillLevelEnum2",
            "MA.finnishBirdSongRecognitionSkillLevelEnum3",
            "MA.finnishBirdSongRecognitionSkillLevelEnum4"
          ],
          "title": "User's skill level in Finnish bird song recognition"
        },
        "friendRequests": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Friend requests received"
        },
        "friends": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "List of friends of the user"
        },
        "image": {
          "type": "string",
          "title": "Image for the profile"
        },
        "nameVisibleInKerttu": {
          "type": "boolean",
          "title": "Name is visible to others in Kerttu"
        },
        "personalCollectionIdentifier": {
          "type": "string",
          "title": "Own collection identifier"
        },
        "profileDescription": {
          "type": "string",
          "title": "Profile description"
        },
        "settings": {
          "type": "object",
          "additionalProperties": true,
          "title": "Settings for the user"
        },
        "taxonExpertise": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Expertise"
        },
        "taxonExpertiseNotes": {
          "type": "string",
          "title": "Expertise notes"
        },
        "userID": {
          "type": "string",
          "title": "This users profile"
        },
        "xenoCantoApiKey": {
          "type": "string",
          "title": "Xeno-Canto API key"
        },
        "xenoCantoUserName": {
          "type": "string",
          "title": "Xeno-Canto user name"
        },
        "profileKey": {
          "type": "string",
          "title": "profileKey"
        }
      },
      "required": [
        "userID"
      ],
      "additionalProperties": false
    },
    "store-birdSongRecognitionSkillLevel": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Instances of this class are bird song recognition skill levels of a certain area"
        },
        "id": {
          "type": "string",
          "title": "Id for the Instances of this class are bird song recognition skill levels of a certain area"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Instances of this class are bird song recognition skill levels of a certain area"
        },
        "birdSongRecognitionArea": {
          "type": "string",
          "title": "Area"
        },
        "birdSongRecognitionSkillLevel": {
          "type": "string",
          "enum": [
            "MA.birdSongRecognitionSkillLevelEnum1",
            "MA.birdSongRecognitionSkillLevelEnum2",
            "MA.birdSongRecognitionSkillLevelEnum3",
            "MA.birdSongRecognitionSkillLevelEnum4"
          ],
          "title": "Skill level"
        }
      },
      "required": [
        "birdSongRecognitionArea",
        "birdSongRecognitionSkillLevel"
      ],
      "additionalProperties": false
    },
    "SensitivePerson": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "fullName": {
          "type": "string"
        },
        "group": {
          "type": "string"
        },
        "@context": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "emailAddress",
        "role",
        "roleAnnotation",
        "@context"
      ]
    },
    "SensitiveProfile": {
      "type": "object",
      "properties": {
        "userID": {
          "type": "string"
        },
        "profileDescription": {
          "type": "string"
        },
        "image": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "userID",
        "profileDescription",
        "personalCollectionIdentifier",
        "taxonExpertise",
        "taxonExpertiseNotes",
        "image",
        "friends",
        "blocked",
        "friendRequests"
      ]
    },
    "SensitiveCollection": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Collection"
        },
        "id": {
          "type": "string",
          "title": "Id for the Collection"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Collection"
        },
        "secureLevel": {
          "type": "string",
          "enum": [
            "",
            "MX.secureLevelNone",
            "MX.secureLevelKM1",
            "MX.secureLevelKM5",
            "MX.secureLevelKM10",
            "MX.secureLevelKM25",
            "MX.secureLevelKM50",
            "MX.secureLevelKM100",
            "MX.secureLevelHighest",
            "MX.secureLevelNoShow"
          ],
          "description": "Secure level (salaus-/karkeistustaso) for the data",
          "title": "Secure level"
        },
        "abbreviation": {
          "type": "string",
          "description": "Unofficial abbreviation (or acronym) for this collection",
          "title": "Unofficial abbreviation"
        },
        "additionalIdentifier": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Identifier of this dataset/collection in other databases"
        },
        "allowedForDwStatistics": {
          "type": "boolean",
          "description": "Admin field. Is it allowed to use collection with data warehouse /statistic endpoints.",
          "title": "Allowed for DW statistics"
        },
        "boundingBoxLatMax": {
          "type": "string",
          "title": "Bounding box latitude max (WGS84)"
        },
        "boundingBoxLatMin": {
          "type": "string",
          "title": "Bounding box latitude min (WGS84)"
        },
        "boundingBoxLonMax": {
          "type": "string",
          "title": "Bounding box longitude max (WGS84)"
        },
        "boundingBoxLonMin": {
          "type": "string",
          "title": "Bounding box longitude min (WGS84)"
        },
        "citation": {
          "type": "string",
          "description": "Example how to cite this collection in a scientific article, if using organization, name and abbreviation is not enough.",
          "title": "Citation recommendation"
        },
        "collectionCode": {
          "type": "string",
          "description": "Collection code for natural history specimen collection, such as H-BR",
          "title": "Specimen collection code"
        },
        "collectionName": {
          "type": "string"
        },
        "collectionQuality": {
          "type": "string",
          "enum": [
            "",
            "MY.collectionQualityEnum3",
            "MY.collectionQualityEnum2",
            "MY.collectionQualityEnum1"
          ],
          "description": "Quality classification for the collection.",
          "title": "Collection quality"
        },
        "collectionSize": {
          "type": "string",
          "description": "How many specimens, records or such does the collection contain? Fill in approximate number, describe more in notes if necessary.",
          "title": "Size (approx.)"
        },
        "collectionType": {
          "type": "string",
          "enum": [
            "",
            "MY.collectionTypeSpecimens",
            "MY.collectionTypeLiving",
            "MY.collectionTypeMonitoring",
            "MY.collectionTypeObservations",
            "MY.collectionTypePublicationdata",
            "MY.collectionTypePublication",
            "MY.collectionTypeMixed",
            "MY.collectionTypeOther",
            "MY.collectionTypeGardenArea",
            "MY.collectionTypeIndoorGardenArea",
            "MY.collectionTypeOutdoorGardenArea",
            "MY.collectionTypeGardenSublocation",
            "MY.collectionTypeTrait"
          ],
          "description": "Type of the collection (specimen, monitoring etc).",
          "title": "Type"
        },
        "concealmentBasis": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "contactEmail": {
          "type": "string",
          "description": "Personal or general (e.g. group of people in the organisation) email address to reach the person(s) responsible.",
          "title": "Contact email"
        },
        "coverageBasis": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "dataDownloadURL": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Data download URL"
        },
        "dataNotes": {
          "type": "string",
          "description": "Diary-like notes about the data, with date/time. For example \"2020-08-19: Changed country names Fönland to Finland\", or \"Specimens collected during 2019 are missing coordinates due to malfunctioning GPS\"",
          "title": "Notes about the data"
        },
        "dataQuality": {
          "type": "string",
          "enum": [
            "",
            "MY.dataQuality1",
            "MY.dataQuality2",
            "MY.dataQuality3",
            "MY.dataQuality4",
            "MY.dataQuality5",
            "MY.dataQualityNA"
          ],
          "description": "Quality estimation for the data in this collection",
          "title": "Data quality"
        },
        "dataQualityDescription": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "dataQuarantinePeriod": {
          "type": "integer",
          "description": "Embargo period in years after which data is opened",
          "title": "Embargo in years"
        },
        "dataUseTerms": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "description": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "digitizedSize": {
          "type": "string",
          "description": "How many percent of the collection is in digital form, e.g. in a database or Excel file? Fill in approximate number, describe more in notes if necessary.",
          "title": "% digitized (approx.)"
        },
        "doi": {
          "type": "string",
          "title": "DOI provided by FinBIF"
        },
        "downloadRequestHandler": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Admin field. The identifier of the person responsible for handling requests for restricted data for this set (typically same person who's responsible for the collection)",
          "title": "Download request handler"
        },
        "editNotes": {
          "type": "string",
          "description": "Reason for this edit or notes about it.",
          "title": "Notes about this edit"
        },
        "gbifDoi": {
          "type": "string",
          "description": "Admin field. DOI received from GBIF after the collection has been published.",
          "title": "Collection DOI from GBIF"
        },
        "geographicCoverage": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "hierarchyType": {
          "type": "string",
          "enum": [
            "MY.hierarchyTypeDocumentParent",
            "MY.hierarchyTypeCollectionParent"
          ],
          "description": "Type of the collection within the collection hierarchy tree.",
          "title": "Hierarchical type"
        },
        "institutionCode": {
          "type": "string",
          "description": "Institution code for natural history specimen collection holding institution, such as H, MHZ or TUR",
          "title": "Institution code"
        },
        "intellectualDescription": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "intellectualOwner": {
          "type": "string",
          "description": "Name of the institution or organisation publishing the data.",
          "title": "Publisher name (en)"
        },
        "intellectualRights": {
          "type": "string",
          "enum": [
            "MY.intellectualRightsCC-BY",
            "MY.intellectualRightsCC0",
            "MY.intellectualRightsPD",
            "MY.intellectualRightsARR"
          ],
          "description": "License which is used when publishing data that belongs to this collection.",
          "title": "License for use"
        },
        "internalUseOnly": {
          "type": "boolean",
          "description": "Is the data to be used only within Kotka?",
          "title": "Internal use only"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        },
        "language": {
          "type": "string",
          "description": "Language the data is (mainly) written in, if applicable.",
          "title": "Language"
        },
        "longName": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "metadataCreator": {
          "type": "string",
          "title": "Person responsible for this metadata"
        },
        "metadataStatus": {
          "type": "string",
          "enum": [
            "",
            "MY.metadataStatusPreliminary",
            "MY.metadataStatusSatisfactory",
            "MY.metadataStatusComprehensive",
            "MY.metadataStatusHidden"
          ],
          "description": "Indication of how comprehensive the information on this form is.",
          "title": "Status of this metadata"
        },
        "methods": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "notes": {
          "type": "string",
          "description": "Additional information to the data in each section.",
          "title": "Notes"
        },
        "onlineUrl": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "personResponsible": {
          "type": "string",
          "description": "Person(s) responsible for the collection (Lastname, Firstname; Lastname, Firstname).",
          "title": "Person responsible"
        },
        "publicAccess": {
          "type": "boolean",
          "description": "Used for botanic garden collections. Is the collection/garden area accessible to public or not.",
          "title": "Accessibility to public"
        },
        "publicationDescription": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "publicationTerms": {
          "type": "string",
          "enum": [
            "",
            "MY.publicationTermsFree",
            "MY.publicationTermsOfficial",
            "MY.publicationTermsInternal",
            "MY.publicationTermsNone"
          ],
          "description": "How can Luomus publish the data, if it is owned by third party?",
          "title": "Publication terms"
        },
        "publisherShortname": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "shareToFEO": {
          "type": "string",
          "title": "Share to FEO"
        },
        "shareToGbif": {
          "type": "string",
          "description": "Admin field. Can the data be shared to GBIF or not: Given collection ID means data is shared under that collection.",
          "title": "Share to GBIF"
        },
        "taxonomicCoverage": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "temporalCoverage": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "typesSize": {
          "type": "string",
          "description": "How many TYPE specimens does the collection contain?  Fill in approximate number, describe more in notes if necessary.",
          "title": "Amount of type specimens (approx.)"
        },
        "dateCreated": {
          "type": "string",
          "format": "date-time",
          "title": "Created"
        },
        "dateEdited": {
          "type": "string",
          "format": "date-time",
          "title": "Edited"
        },
        "owner": {
          "type": "string",
          "description": "Team or organisation that owns the record and can edit it.",
          "title": "Owner of record"
        },
        "publicityRestrictions": {
          "type": "string",
          "enum": [
            "",
            "MZ.publicityRestrictionsPublic",
            "MZ.publicityRestrictionsProtected",
            "MZ.publicityRestrictionsPrivate"
          ],
          "description": "PUBLIC: all data can be published; PROTECTED: exact locality is hidden (100*100km square); PRIVATE: most of the data is hidden. Empty value means same as public.",
          "title": "Publicity restrictions"
        },
        "hasChildren": {
          "type": "boolean"
        },
        "longNameMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "sv": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "en": {
              "$ref": "#/components/schemas/store-multiLang"
            }
          },
          "_patchMultiLang": false
        },
        "descriptionMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "sv": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "en": {
              "$ref": "#/components/schemas/store-multiLang"
            }
          },
          "_patchMultiLang": false
        },
        "onlineUrlMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "sv": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "en": {
              "$ref": "#/components/schemas/store-multiLang"
            }
          },
          "_patchMultiLang": false
        }
      },
      "required": [
        "contactEmail",
        "description",
        "hierarchyType",
        "intellectualRights",
        "personResponsible",
        "id"
      ],
      "additionalProperties": false
    },
    "store-collection": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Collection"
        },
        "id": {
          "type": "string",
          "title": "Id for the Collection"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Collection"
        },
        "secureLevel": {
          "type": "string",
          "enum": [
            "",
            "MX.secureLevelNone",
            "MX.secureLevelKM1",
            "MX.secureLevelKM5",
            "MX.secureLevelKM10",
            "MX.secureLevelKM25",
            "MX.secureLevelKM50",
            "MX.secureLevelKM100",
            "MX.secureLevelHighest",
            "MX.secureLevelNoShow"
          ],
          "description": "Secure level (salaus-/karkeistustaso) for the data",
          "title": "Secure level"
        },
        "abbreviation": {
          "type": "string",
          "description": "Unofficial abbreviation (or acronym) for this collection",
          "title": "Unofficial abbreviation"
        },
        "additionalIdentifier": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Identifier of this dataset/collection in other databases"
        },
        "allowedForDwStatistics": {
          "type": "boolean",
          "description": "Admin field. Is it allowed to use collection with data warehouse /statistic endpoints.",
          "title": "Allowed for DW statistics"
        },
        "boundingBoxLatMax": {
          "type": "string",
          "title": "Bounding box latitude max (WGS84)"
        },
        "boundingBoxLatMin": {
          "type": "string",
          "title": "Bounding box latitude min (WGS84)"
        },
        "boundingBoxLonMax": {
          "type": "string",
          "title": "Bounding box longitude max (WGS84)"
        },
        "boundingBoxLonMin": {
          "type": "string",
          "title": "Bounding box longitude min (WGS84)"
        },
        "citation": {
          "type": "string",
          "description": "Example how to cite this collection in a scientific article, if using organization, name and abbreviation is not enough.",
          "title": "Citation recommendation"
        },
        "collectionCode": {
          "type": "string",
          "description": "Collection code for natural history specimen collection, such as H-BR",
          "title": "Specimen collection code"
        },
        "collectionLocation": {
          "type": "string"
        },
        "collectionName": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "collectionQuality": {
          "type": "string",
          "enum": [
            "",
            "MY.collectionQualityEnum3",
            "MY.collectionQualityEnum2",
            "MY.collectionQualityEnum1"
          ],
          "description": "Quality classification for the collection.",
          "title": "Collection quality"
        },
        "collectionSize": {
          "type": "string",
          "description": "How many specimens, records or such does the collection contain? Fill in approximate number, describe more in notes if necessary.",
          "title": "Size (approx.)"
        },
        "collectionType": {
          "type": "string",
          "enum": [
            "",
            "MY.collectionTypeSpecimens",
            "MY.collectionTypeLiving",
            "MY.collectionTypeMonitoring",
            "MY.collectionTypeObservations",
            "MY.collectionTypePublicationdata",
            "MY.collectionTypePublication",
            "MY.collectionTypeMixed",
            "MY.collectionTypeOther",
            "MY.collectionTypeGardenArea",
            "MY.collectionTypeIndoorGardenArea",
            "MY.collectionTypeOutdoorGardenArea",
            "MY.collectionTypeGardenSublocation",
            "MY.collectionTypeTrait"
          ],
          "description": "Type of the collection (specimen, monitoring etc).",
          "title": "Type"
        },
        "concealmentBasis": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "contactEmail": {
          "type": "string",
          "description": "Personal or general (e.g. group of people in the organisation) email address to reach the person(s) responsible.",
          "title": "Contact email"
        },
        "coverageBasis": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "dataDownloadURL": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Data download URL"
        },
        "dataLocation": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "dataNotes": {
          "type": "string",
          "description": "Diary-like notes about the data, with date/time. For example \"2020-08-19: Changed country names Fönland to Finland\", or \"Specimens collected during 2019 are missing coordinates due to malfunctioning GPS\"",
          "title": "Notes about the data"
        },
        "dataQuality": {
          "type": "string",
          "enum": [
            "",
            "MY.dataQuality1",
            "MY.dataQuality2",
            "MY.dataQuality3",
            "MY.dataQuality4",
            "MY.dataQuality5",
            "MY.dataQualityNA"
          ],
          "description": "Quality estimation for the data in this collection",
          "title": "Data quality"
        },
        "dataQualityDescription": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "dataQuarantinePeriod": {
          "type": "integer",
          "description": "Embargo period in years after which data is opened",
          "title": "Embargo in years"
        },
        "dataUseTerms": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "description": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "digitizedSize": {
          "type": "string",
          "description": "How many percent of the collection is in digital form, e.g. in a database or Excel file? Fill in approximate number, describe more in notes if necessary.",
          "title": "% digitized (approx.)"
        },
        "doi": {
          "type": "string",
          "title": "DOI provided by FinBIF"
        },
        "downloadRequestHandler": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Admin field. The identifier of the person responsible for handling requests for restricted data for this set (typically same person who's responsible for the collection)",
          "title": "Download request handler"
        },
        "editNotes": {
          "type": "string",
          "description": "Reason for this edit or notes about it.",
          "title": "Notes about this edit"
        },
        "gbifDoi": {
          "type": "string",
          "description": "Admin field. DOI received from GBIF after the collection has been published.",
          "title": "Collection DOI from GBIF"
        },
        "geographicCoverage": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "hierarchyType": {
          "type": "string",
          "enum": [
            "MY.hierarchyTypeDocumentParent",
            "MY.hierarchyTypeCollectionParent"
          ],
          "description": "Type of the collection within the collection hierarchy tree.",
          "title": "Hierarchical type"
        },
        "institutionCode": {
          "type": "string",
          "description": "Institution code for natural history specimen collection holding institution, such as H, MHZ or TUR",
          "title": "Institution code"
        },
        "intellectualDescription": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "intellectualOwner": {
          "type": "string",
          "description": "Name of the institution or organisation publishing the data.",
          "title": "Publisher name (en)"
        },
        "intellectualRights": {
          "type": "string",
          "enum": [
            "MY.intellectualRightsCC-BY",
            "MY.intellectualRightsCC0",
            "MY.intellectualRightsPD",
            "MY.intellectualRightsARR"
          ],
          "description": "License which is used when publishing data that belongs to this collection.",
          "title": "License for use"
        },
        "internalUseOnly": {
          "type": "boolean",
          "description": "Is the data to be used only within Kotka?",
          "title": "Internal use only"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        },
        "language": {
          "type": "string",
          "description": "Language the data is (mainly) written in, if applicable.",
          "title": "Language"
        },
        "longName": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "metadataCreator": {
          "type": "string",
          "title": "Person responsible for this metadata"
        },
        "metadataStatus": {
          "type": "string",
          "enum": [
            "",
            "MY.metadataStatusPreliminary",
            "MY.metadataStatusSatisfactory",
            "MY.metadataStatusComprehensive",
            "MY.metadataStatusHidden"
          ],
          "description": "Indication of how comprehensive the information on this form is.",
          "title": "Status of this metadata"
        },
        "methods": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "notes": {
          "type": "string",
          "description": "Additional information to the data in each section.",
          "title": "Notes"
        },
        "onlineUrl": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "personResponsible": {
          "type": "string",
          "description": "Person(s) responsible for the collection (Lastname, Firstname; Lastname, Firstname).",
          "title": "Person responsible"
        },
        "publicAccess": {
          "type": "boolean",
          "description": "Used for botanic garden collections. Is the collection/garden area accessible to public or not.",
          "title": "Accessibility to public"
        },
        "publicationDescription": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "publicationTerms": {
          "type": "string",
          "enum": [
            "",
            "MY.publicationTermsFree",
            "MY.publicationTermsOfficial",
            "MY.publicationTermsInternal",
            "MY.publicationTermsNone"
          ],
          "description": "How can Luomus publish the data, if it is owned by third party?",
          "title": "Publication terms"
        },
        "publisherShortname": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "shareToFEO": {
          "type": "string",
          "title": "Share to FEO"
        },
        "shareToGbif": {
          "type": "string",
          "description": "Admin field. Can the data be shared to GBIF or not: Given collection ID means data is shared under that collection.",
          "title": "Share to GBIF"
        },
        "taxonomicCoverage": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "temporalCoverage": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "typesSize": {
          "type": "string",
          "description": "How many TYPE specimens does the collection contain?  Fill in approximate number, describe more in notes if necessary.",
          "title": "Amount of type specimens (approx.)"
        },
        "creator": {
          "type": "string",
          "title": "Creator"
        },
        "dateCreated": {
          "type": "string",
          "format": "date-time",
          "title": "Created"
        },
        "dateEdited": {
          "type": "string",
          "format": "date-time",
          "title": "Edited"
        },
        "editor": {
          "type": "string",
          "title": "Editor"
        },
        "owner": {
          "type": "string",
          "description": "Team or organisation that owns the record and can edit it.",
          "title": "Owner of record"
        },
        "publicityRestrictions": {
          "type": "string",
          "enum": [
            "",
            "MZ.publicityRestrictionsPublic",
            "MZ.publicityRestrictionsProtected",
            "MZ.publicityRestrictionsPrivate"
          ],
          "description": "PUBLIC: all data can be published; PROTECTED: exact locality is hidden (100*100km square); PRIVATE: most of the data is hidden. Empty value means same as public.",
          "title": "Publicity restrictions"
        }
      },
      "required": [
        "collectionName",
        "contactEmail",
        "description",
        "hierarchyType",
        "intellectualRights",
        "personResponsible"
      ],
      "additionalProperties": false
    },
    "ExpandedSensitiveCollection": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Collection"
        },
        "id": {
          "type": "string",
          "title": "Id for the Collection"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Collection"
        },
        "secureLevel": {
          "type": "string",
          "enum": [
            "",
            "MX.secureLevelNone",
            "MX.secureLevelKM1",
            "MX.secureLevelKM5",
            "MX.secureLevelKM10",
            "MX.secureLevelKM25",
            "MX.secureLevelKM50",
            "MX.secureLevelKM100",
            "MX.secureLevelHighest",
            "MX.secureLevelNoShow"
          ],
          "description": "Secure level (salaus-/karkeistustaso) for the data",
          "title": "Secure level"
        },
        "abbreviation": {
          "type": "string",
          "description": "Unofficial abbreviation (or acronym) for this collection",
          "title": "Unofficial abbreviation"
        },
        "additionalIdentifier": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Identifier of this dataset/collection in other databases"
        },
        "allowedForDwStatistics": {
          "type": "boolean",
          "description": "Admin field. Is it allowed to use collection with data warehouse /statistic endpoints.",
          "title": "Allowed for DW statistics"
        },
        "boundingBoxLatMax": {
          "type": "string",
          "title": "Bounding box latitude max (WGS84)"
        },
        "boundingBoxLatMin": {
          "type": "string",
          "title": "Bounding box latitude min (WGS84)"
        },
        "boundingBoxLonMax": {
          "type": "string",
          "title": "Bounding box longitude max (WGS84)"
        },
        "boundingBoxLonMin": {
          "type": "string",
          "title": "Bounding box longitude min (WGS84)"
        },
        "citation": {
          "type": "string",
          "description": "Example how to cite this collection in a scientific article, if using organization, name and abbreviation is not enough.",
          "title": "Citation recommendation"
        },
        "collectionCode": {
          "type": "string",
          "description": "Collection code for natural history specimen collection, such as H-BR",
          "title": "Specimen collection code"
        },
        "collectionName": {
          "type": "string"
        },
        "collectionQuality": {
          "type": "string",
          "enum": [
            "",
            "MY.collectionQualityEnum3",
            "MY.collectionQualityEnum2",
            "MY.collectionQualityEnum1"
          ],
          "description": "Quality classification for the collection.",
          "title": "Collection quality"
        },
        "collectionSize": {
          "type": "string",
          "description": "How many specimens, records or such does the collection contain? Fill in approximate number, describe more in notes if necessary.",
          "title": "Size (approx.)"
        },
        "collectionType": {
          "type": "string",
          "enum": [
            "",
            "MY.collectionTypeSpecimens",
            "MY.collectionTypeLiving",
            "MY.collectionTypeMonitoring",
            "MY.collectionTypeObservations",
            "MY.collectionTypePublicationdata",
            "MY.collectionTypePublication",
            "MY.collectionTypeMixed",
            "MY.collectionTypeOther",
            "MY.collectionTypeGardenArea",
            "MY.collectionTypeIndoorGardenArea",
            "MY.collectionTypeOutdoorGardenArea",
            "MY.collectionTypeGardenSublocation",
            "MY.collectionTypeTrait"
          ],
          "description": "Type of the collection (specimen, monitoring etc).",
          "title": "Type"
        },
        "concealmentBasis": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "contactEmail": {
          "type": "string",
          "description": "Personal or general (e.g. group of people in the organisation) email address to reach the person(s) responsible.",
          "title": "Contact email"
        },
        "coverageBasis": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "dataDownloadURL": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Data download URL"
        },
        "dataNotes": {
          "type": "string",
          "description": "Diary-like notes about the data, with date/time. For example \"2020-08-19: Changed country names Fönland to Finland\", or \"Specimens collected during 2019 are missing coordinates due to malfunctioning GPS\"",
          "title": "Notes about the data"
        },
        "dataQuality": {
          "type": "string",
          "enum": [
            "",
            "MY.dataQuality1",
            "MY.dataQuality2",
            "MY.dataQuality3",
            "MY.dataQuality4",
            "MY.dataQuality5",
            "MY.dataQualityNA"
          ],
          "description": "Quality estimation for the data in this collection",
          "title": "Data quality"
        },
        "dataQualityDescription": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "dataQuarantinePeriod": {
          "type": "integer",
          "description": "Embargo period in years after which data is opened",
          "title": "Embargo in years"
        },
        "dataUseTerms": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "description": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "digitizedSize": {
          "type": "string",
          "description": "How many percent of the collection is in digital form, e.g. in a database or Excel file? Fill in approximate number, describe more in notes if necessary.",
          "title": "% digitized (approx.)"
        },
        "doi": {
          "type": "string",
          "title": "DOI provided by FinBIF"
        },
        "downloadRequestHandler": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Admin field. The identifier of the person responsible for handling requests for restricted data for this set (typically same person who's responsible for the collection)",
          "title": "Download request handler"
        },
        "editNotes": {
          "type": "string",
          "description": "Reason for this edit or notes about it.",
          "title": "Notes about this edit"
        },
        "gbifDoi": {
          "type": "string",
          "description": "Admin field. DOI received from GBIF after the collection has been published.",
          "title": "Collection DOI from GBIF"
        },
        "geographicCoverage": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "hierarchyType": {
          "type": "string",
          "enum": [
            "MY.hierarchyTypeDocumentParent",
            "MY.hierarchyTypeCollectionParent"
          ],
          "description": "Type of the collection within the collection hierarchy tree.",
          "title": "Hierarchical type"
        },
        "institutionCode": {
          "type": "string",
          "description": "Institution code for natural history specimen collection holding institution, such as H, MHZ or TUR",
          "title": "Institution code"
        },
        "intellectualDescription": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "intellectualOwner": {
          "type": "string",
          "description": "Name of the institution or organisation publishing the data.",
          "title": "Publisher name (en)"
        },
        "intellectualRights": {
          "type": "string",
          "enum": [
            "MY.intellectualRightsCC-BY",
            "MY.intellectualRightsCC0",
            "MY.intellectualRightsPD",
            "MY.intellectualRightsARR"
          ],
          "description": "License which is used when publishing data that belongs to this collection.",
          "title": "License for use"
        },
        "internalUseOnly": {
          "type": "boolean",
          "description": "Is the data to be used only within Kotka?",
          "title": "Internal use only"
        },
        "isPartOf": {
          "type": "string",
          "description": "Which parent or larger collection this is part of.",
          "title": "Is part of"
        },
        "language": {
          "type": "string",
          "description": "Language the data is (mainly) written in, if applicable.",
          "title": "Language"
        },
        "longName": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "metadataCreator": {
          "type": "string",
          "title": "Person responsible for this metadata"
        },
        "metadataStatus": {
          "type": "string",
          "enum": [
            "",
            "MY.metadataStatusPreliminary",
            "MY.metadataStatusSatisfactory",
            "MY.metadataStatusComprehensive",
            "MY.metadataStatusHidden"
          ],
          "description": "Indication of how comprehensive the information on this form is.",
          "title": "Status of this metadata"
        },
        "methods": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "notes": {
          "type": "string",
          "description": "Additional information to the data in each section.",
          "title": "Notes"
        },
        "onlineUrl": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "personResponsible": {
          "type": "string",
          "description": "Person(s) responsible for the collection (Lastname, Firstname; Lastname, Firstname).",
          "title": "Person responsible"
        },
        "publicAccess": {
          "type": "boolean",
          "description": "Used for botanic garden collections. Is the collection/garden area accessible to public or not.",
          "title": "Accessibility to public"
        },
        "publicationDescription": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "publicationTerms": {
          "type": "string",
          "enum": [
            "",
            "MY.publicationTermsFree",
            "MY.publicationTermsOfficial",
            "MY.publicationTermsInternal",
            "MY.publicationTermsNone"
          ],
          "description": "How can Luomus publish the data, if it is owned by third party?",
          "title": "Publication terms"
        },
        "publisherShortname": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "shareToFEO": {
          "type": "string",
          "title": "Share to FEO"
        },
        "shareToGbif": {
          "type": "string",
          "description": "Admin field. Can the data be shared to GBIF or not: Given collection ID means data is shared under that collection.",
          "title": "Share to GBIF"
        },
        "taxonomicCoverage": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "temporalCoverage": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "typesSize": {
          "type": "string",
          "description": "How many TYPE specimens does the collection contain?  Fill in approximate number, describe more in notes if necessary.",
          "title": "Amount of type specimens (approx.)"
        },
        "dateCreated": {
          "type": "string",
          "format": "date-time",
          "title": "Created"
        },
        "dateEdited": {
          "type": "string",
          "format": "date-time",
          "title": "Edited"
        },
        "owner": {
          "type": "string",
          "description": "Team or organisation that owns the record and can edit it.",
          "title": "Owner of record"
        },
        "publicityRestrictions": {
          "type": "string",
          "enum": [
            "",
            "MZ.publicityRestrictionsPublic",
            "MZ.publicityRestrictionsProtected",
            "MZ.publicityRestrictionsPrivate"
          ],
          "description": "PUBLIC: all data can be published; PROTECTED: exact locality is hidden (100*100km square); PRIVATE: most of the data is hidden. Empty value means same as public.",
          "title": "Publicity restrictions"
        },
        "hasChildren": {
          "type": "boolean"
        },
        "longNameMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "sv": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "en": {
              "$ref": "#/components/schemas/store-multiLang"
            }
          },
          "_patchMultiLang": false
        },
        "descriptionMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "sv": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "en": {
              "$ref": "#/components/schemas/store-multiLang"
            }
          },
          "_patchMultiLang": false
        },
        "onlineUrlMultiLang": {
          "type": "object",
          "properties": {
            "fi": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "sv": {
              "$ref": "#/components/schemas/store-multiLang"
            },
            "en": {
              "$ref": "#/components/schemas/store-multiLang"
            }
          },
          "_patchMultiLang": false
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ExpandedSensitiveCollection"
          }
        }
      },
      "required": [
        "contactEmail",
        "description",
        "hierarchyType",
        "intellectualRights",
        "personResponsible",
        "id"
      ],
      "additionalProperties": false
    },
    "store-namedPlace": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MNP.namedPlace"
        },
        "id": {
          "type": "string",
          "title": "Id for the MNP.namedPlace"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MNP.namedPlace"
        },
        "acceptedDocument": {
          "$ref": "#/components/schemas/store-document"
        },
        "accessibility": {
          "type": "string",
          "enum": [
            "",
            "MNP.accessibilityEasy",
            "MNP.accessibilityModerate",
            "MNP.accessibilityDifficult"
          ],
          "title": "Accessibility"
        },
        "active": {
          "$ref": "#/components/schemas/store-dateRange"
        },
        "alternativeIDs": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Alternative IDs"
        },
        "biogeographicalProvince": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Formal abbreviation. For Finnish eliömaakunnat, use Finnish abbreviation.",
          "title": "Biogeographical province"
        },
        "birdAssociationArea": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Bird assocation area"
        },
        "collectionID": {
          "type": "string",
          "title": "Collection"
        },
        "editors": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Persons who have rights to see and use the named places in their documents",
          "title": "Editors"
        },
        "geometry": {
          "$ref": "#/components/schemas/store-geometry"
        },
        "images": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Images"
        },
        "locality": {
          "type": "string",
          "title": "Paikkatiedot"
        },
        "localityDescription": {
          "type": "string",
          "description": "Informal description of the exact locality, e.g. '5 km NE of city X, under stone bridge'",
          "title": "Locality description"
        },
        "municipality": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Municipality"
        },
        "name": {
          "type": "string",
          "title": "Name"
        },
        "notes": {
          "type": "string",
          "title": "Notes"
        },
        "owners": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "description": "Persons who have full use access and rights to edit the named place",
          "title": "Owners of the named place"
        },
        "prepopulatedDocument": {
          "$ref": "#/components/schemas/store-document"
        },
        "priority": {
          "type": "string",
          "enum": [
            "",
            "MNP.priority1",
            "MNP.priority2",
            "MNP.priority3",
            "MNP.priority4",
            "MNP.priority5"
          ],
          "title": "Priority"
        },
        "privateNotes": {
          "type": "string",
          "title": "Private notes"
        },
        "public": {
          "type": "boolean",
          "description": "Is the named place publicaly available. (Defaults to false)",
          "title": "Publicly available"
        },
        "reserve": {
          "$ref": "#/components/schemas/store-reserve"
        },
        "tags": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MNP.tagAccessibilityEasy",
              "MNP.tagAccessibilityModerate",
              "MNP.tagAccessibilityDifficult",
              "MNP.tagHabitatImportant",
              "MNP.tagCensusRare",
              "MNP.tagHabitatFarmland",
              "MNP.tagHabitatMire",
              "MNP.tagHabitatMountain",
              "MNP.tagSuitable",
              "MNP.tagTypeIsland",
              "MNP.tagTypePartialIsland",
              "MNP.tagTypeIslandGroup",
              "MNP.tagTypeWater",
              "MNP.tagTypeShoreline",
              "MNP.tagTypeMixed",
              "MNP.tagTypeUnknown",
              "MNP.tagWishedToBeCounted"
            ]
          },
          "minItems": 0,
          "title": "Tags"
        },
        "taxonIDs": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Taxa"
        },
        "samplingMethodNotes": {
          "type": "string",
          "title": "Sampling method notes"
        }
      },
      "required": [
        "geometry",
        "name"
      ],
      "additionalProperties": false
    },
    "store-dateRange": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MNP.dateRange"
        },
        "id": {
          "type": "string",
          "title": "Id for the MNP.dateRange"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MNP.dateRange"
        },
        "end": {
          "type": "string",
          "format": "date",
          "title": "End"
        },
        "start": {
          "type": "string",
          "format": "date",
          "title": "Start"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "end",
        "start"
      ]
    },
    "store-reserve": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MNP.reserveClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MNP.reserveClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MNP.reserveClass"
        },
        "reserver": {
          "type": "string",
          "title": "Reserver"
        },
        "until": {
          "type": "string",
          "format": "date",
          "title": "Until"
        }
      },
      "required": [
        "reserver",
        "until"
      ],
      "additionalProperties": false
    },
    "store-area": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Area"
        },
        "id": {
          "type": "string",
          "title": "Id for the Area"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Area"
        },
        "areaType": {
          "type": "string",
          "enum": [
            "ML.country",
            "ML.biogeographicalProvince",
            "ML.municipality",
            "ML.oldMunicipality",
            "ML.elyCentre",
            "ML.province",
            "ML.continent",
            "ML.iucnEvaluationArea",
            "ML.birdAssociationArea"
          ],
          "description": "Aluetyyppi",
          "title": "Area type"
        },
        "countryCodeISOalpha2": {
          "type": "string",
          "description": "Country code ISO alpha 2",
          "title": "Country code"
        },
        "countryCodeISOalpha3": {
          "type": "string",
          "description": "country code ISO alpha 3",
          "title": "country code"
        },
        "isPartOf": {
          "type": "string",
          "title": "Part of"
        },
        "isPartOfBirdAssociationArea": {
          "type": "string",
          "title": "Is part of bird assocation area"
        },
        "isPartOfEnvironmentalELY": {
          "type": "string",
          "title": "Is part of Environmental ELY"
        },
        "isPartOfProvince": {
          "type": "string",
          "title": "Is part of province"
        },
        "name": {
          "type": "string"
        },
        "previouslyOfficialName": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Previously used name"
        },
        "provinceCodeAlpha": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "provinceCodeNumeric": {
          "type": "string",
          "title": "Province code numeric"
        },
        "ringingDepartmentBirdAssociationAreaCode": {
          "type": "string",
          "title": "ringingDepartmentBirdAssociationAreaCode"
        },
        "ringingDepartmentMunicipalityCode": {
          "type": "string",
          "title": "ringingDepartmentMunicipalityCode"
        }
      },
      "required": [
        "areaType",
        "id"
      ],
      "additionalProperties": false
    },
    "store-tag": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the MMAN.tagClass"
        },
        "id": {
          "type": "string",
          "title": "Id for the MMAN.tagClass"
        },
        "@type": {
          "type": "string",
          "title": "Type for the MMAN.tagClass"
        },
        "description": {
          "type": "string"
        },
        "name": {
          "$ref": "#/components/schemas/store-multiLang"
        },
        "requiredRolesAdd": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MMAN.expert",
              "MMAN.basic",
              "MMAN.owner",
              "MMAN.formAdmin",
              "MMAN.ictAdmin"
            ]
          },
          "minItems": 0,
          "title": "Required role to add"
        },
        "requiredRolesRemove": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string",
            "enum": [
              "",
              "MMAN.expert",
              "MMAN.basic",
              "MMAN.owner",
              "MMAN.formAdmin",
              "MMAN.ictAdmin"
            ]
          },
          "minItems": 0,
          "title": "Required role to remove"
        },
        "type": {
          "type": "string",
          "enum": [
            "",
            "MMAN.typeCheck",
            "MMAN.typeAdmin",
            "MMAN.typeInfo",
            "MMAN.typeInvasive",
            "MMAN.typeCensus",
            "MMAN.typeNegativeQuality",
            "MMAN.typePositiveQuality"
          ],
          "title": "Type"
        }
      },
      "additionalProperties": false,
      "required": [
        "@context",
        "id",
        "@type",
        "name",
        "requiredRolesAdd",
        "requiredRolesRemove",
        "type"
      ]
    },
    "store-checklist": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Checklist"
        },
        "id": {
          "type": "string",
          "title": "Id for the Checklist"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Checklist"
        },
        "isPublic": {
          "type": "boolean",
          "title": "isPublic"
        },
        "name": {
          "type": "string"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        },
        "rootTaxon": {
          "type": "string",
          "title": "rootTaxon"
        },
        "rdfs:comment": {
          "type": "string",
          "title": "Notes"
        }
      },
      "required": [
        "isPublic",
        "owner",
        "rootTaxon",
        "id"
      ],
      "additionalProperties": false
    },
    "store-checklistVersion": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Checklist version"
        },
        "id": {
          "type": "string",
          "title": "Id for the Checklist version"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Checklist version"
        },
        "versionChecklist": {
          "type": "string",
          "title": "Checklist id"
        },
        "versionDate": {
          "type": "string",
          "format": "date",
          "title": "Frozen at"
        },
        "versionDescription": {
          "type": "string"
        },
        "versionName": {
          "$ref": "#/components/schemas/store-multiLang"
        }
      },
      "additionalProperties": false,
      "required": [
        "id"
      ]
    },
    "SensitiveOrganization": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string"
        },
        "organizationLevel1": {
          "type": "string"
        },
        "organizationLevel2": {
          "$ref": "#/components/schemas/MultiLangDto"
        },
        "organizationLevel3": {
          "$ref": "#/components/schemas/MultiLangDto"
        },
        "organizationLevel4": {
          "$ref": "#/components/schemas/MultiLangDto"
        },
        "abbreviation": {
          "type": "string"
        }
      },
      "required": [
        "@context"
      ]
    },
    "store-informalTaxonGroup": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Informal Taxon Group"
        },
        "id": {
          "type": "string",
          "title": "Id for the Informal Taxon Group"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Informal Taxon Group"
        },
        "explicitlyDefinedRoot": {
          "type": "boolean",
          "description": "If this is true, the group is considered a root even if it has parents. For example Fishes is part of Water animals but still is wanted to be a root by itself.",
          "title": "Explicitly defined root"
        },
        "hasSubGroup": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Has subgroup"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "additionalProperties": false
    },
    "TaxonAutocompleteResponse": {
      "type": "object",
      "properties": {
        "matchingName": {
          "type": "string",
          "description": "Name that matched the search word"
        },
        "nameType": {
          "type": "string",
          "description": "Type of the name.",
          "enum": [
            "MX.scientificName",
            "MX.vernacularName",
            "MX.hasSynonym",
            "MX.hasBasionym",
            "MX.alternativeVernacularName",
            "MX.hasMisappliedName",
            "MX.birdlifeCode",
            "MX.obsoleteVernacularName",
            "MX.euringCode",
            "MX.hasSubjectiveSynonym",
            "MX.hasAlternativeName",
            "MX.hasOrthographicVariant",
            "MX.hasObjectiveSynonym",
            "MX.hasMisspelledName",
            "MX.colloquialVernacularName",
            "MX.hasUncertainSynonym",
            "MX.hasHomotypicSynonym",
            "MX.tradeName",
            "MX.hasHeterotypicSynonym"
          ]
        },
        "id": {
          "type": "string",
          "description": "Taxon identifier of the taxon that has the matching name; in the short Qname format, for example 'MX.123'"
        },
        "checklist": {
          "type": "string",
          "description": "Checklist identifier of the matching taxon; in the short Qname format, for example 'MR.1'. For taxa not part of any checklist the value is 'undefined'."
        },
        "scientificName": {
          "type": "string",
          "description": "Accepted scientific name of the taxon that has the matching name"
        },
        "scientificNameAuthorship": {
          "type": "string",
          "description": "Author of the above mentioned scientific name"
        },
        "taxonRank": {
          "type": "string",
          "description": "Taxonomic rank of the taxon that has the matching name; in the short Qname format, for example 'MX.genus'"
        },
        "cursiveName": {
          "type": "boolean",
          "description": "Should the matching name be cursived"
        },
        "finnish": {
          "type": "boolean",
          "description": "Is the taxon that has the mathing name marked as a Finnish taxon"
        },
        "species": {
          "type": "boolean",
          "description": "Is the taxon that has the mathing name species level or lower, or a higher taxon"
        },
        "vernacularName": {
          "type": "string"
        },
        "informalGroups": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Identifier of the informal taxon group that the matching taxon belongs to); in the short Qname format, for example 'MVL.1'"
              },
              "name": {
                "$ref": "#/components/schemas/LajiBackendLocalizedText"
              }
            },
            "required": [
              "id",
              "name"
            ]
          }
        },
        "kingdomScientificName": {
          "type": "string",
          "description": "Scientific name of the kingdom that the matching taxon belongs to"
        },
        "type": {
          "type": "string",
          "description": "Type of the matching name",
          "enum": [
            "exactMatches",
            "partialMatches",
            "likelyMatches"
          ]
        },
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "matchingName",
        "nameType",
        "id",
        "checklist",
        "scientificName",
        "scientificNameAuthorship",
        "taxonRank",
        "cursiveName",
        "finnish",
        "species",
        "informalGroups",
        "kingdomScientificName",
        "type",
        "key",
        "value"
      ]
    },
    "SensitiveSource": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "$ref": "#/components/schemas/MultiLangDto"
        }
      },
      "required": [
        "description"
      ]
    },
    "store-iucnRedListTaxonGroup": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the IUCN Red List Evaluation Informal Taxon Group"
        },
        "id": {
          "type": "string",
          "title": "Id for the IUCN Red List Evaluation Informal Taxon Group"
        },
        "@type": {
          "type": "string",
          "title": "Type for the IUCN Red List Evaluation Informal Taxon Group"
        },
        "hasIucnSubGroup": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Has sub group"
        },
        "includesInformalTaxonGroup": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Includes informal taxon group"
        },
        "includesTaxon": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Includes taxon"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [],
      "additionalProperties": false
    },
    "IucnRedListTaxonGroupExpanded": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the IUCN Red List Evaluation Informal Taxon Group"
        },
        "id": {
          "type": "string",
          "title": "Id for the IUCN Red List Evaluation Informal Taxon Group"
        },
        "@type": {
          "type": "string",
          "title": "Type for the IUCN Red List Evaluation Informal Taxon Group"
        },
        "hasIucnSubGroup": {
          "$ref": "#/components/schemas/IucnRedListTaxonGroupExpanded"
        },
        "includesInformalTaxonGroup": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Includes informal taxon group"
        },
        "includesTaxon": {
          "type": "array",
          "uniqueItems": false,
          "items": {
            "type": "string"
          },
          "minItems": 0,
          "title": "Includes taxon"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "id"
      ],
      "additionalProperties": false
    },
    "store-publication": {
      "type": "object",
      "properties": {
        "@context": {
          "type": "string",
          "title": "Context for the Publication"
        },
        "id": {
          "type": "string",
          "title": "Id for the Publication"
        },
        "@type": {
          "type": "string",
          "title": "Type for the Publication"
        },
        "URI": {
          "type": "string",
          "title": "URI"
        },
        "name": {
          "type": "string",
          "title": "Name"
        }
      },
      "additionalProperties": false,
      "required": [
        "id"
      ]
    }
  }
}