{
  "$id": "https://schemas.dissco.tech/schemas/fdo-profile/organisation/0.1.0/organisation.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "FDO Profile for Organisations",
  "$comment": "FDO Profile Version 0.1.0",
  "properties": {
    "fdoProfile": {
      "const": "https://doi.org/21.T11148/413c00cbd83ae33d1ac0",
      "description": "PID to a machine readable description of the attributes in the FDO record",
      "$comment": "idx = 1"
    },
    "fdoRecordLicense": {
      "const": "https://creativecommons.org/publicdomain/zero/1.0/",
      "description": "The licence for the FDO record, required to be always public domain",
      "$comment": "idx = 2"
    },
    "digitalObjectType": {
      "const": "https://doi.org/21.T11148/413c00cbd83ae33d1ac0",
      "description": "PID to a description of the Type of digital object that defines the metadata, bit sequences (if any) and operations for the object",
      "$comment": "idx = 3"
    },
    "digitalObjectName": {
      "type": "string",
      "description": "Name of the object type for humans",
      "example": "digital specimen type 1",
      "$comment": "idx = 4"
    },
    "pid": {
      "type": "string",
      "description": "The PID of which the FDO record is part, in DiSSCo this is a Handle or DOI. It is recommended to store this pid also in the local collection management system for the specimen.",
      "example": "https://doi.org/10.22/GEE-W3J-HL2",
      "$comment": "idx = 5"
    },
    "pidIssuer": {
      "type": "string",
      "description": "In case of a DOI this is a PID for the DOI Registration Agency",
      "example": "https://hdl.handle.net/10.17183",
      "$comment": "idx = 6"
    },
    "pidIssuerName": {
      "type": "string",
      "description": "Human-readable name of the PID issuer",
      "example": "DataCite",
      "$comment": "idx = 7"
    },
    "issuedForAgent": {
      "type": "string",
      "description": "In the case of a digital specimen, this is a PID for DiSSCo as the agent responsible for serving the digital specimen object",
      "example": "https://hdl.handle.net/10.22",
      "$comment": "idx = 8"
    },
    "issuedForAgentName": {
      "type": "string",
      "description": "Human-readable agent name",
      "example": "DiSSCo",
      "$comment": "idx = 9"
    },
    "pidRecordIssueDate": {
      "type": "string",
      "description": "Date the PID record was created",
      "example": "2023-10-16T12:08:37.494Z",
      "$comment": "idx = 10"
    },
    "pidRecordIssueNumber": {
      "type": "integer",
      "description": "Starts with 1 and is incrementally increased by 1 every time the pid record is updated. Compatible with DOI schema requirements.",
      "example": "2",
      "$comment": "idx = 11"
    },
    "structuralType": {
      "enum": [
        "digital",
        "physical",
        "performance",
        "abstraction"
      ],
      "description": "Nature of the digital object, compatible with DOI schema requirements. The nature of a digital specimen object is always \"digital\". Other digital objects (outside DiSSCo) could be of physical, performance or abstraction nature.",
      "$comment": "idx = 12"
    },
    "pidStatus": {
      "enum": [
        "TOMBSTONE",
        "DRAFT",
        "ACTIVE",
        "FAILED"
      ],
      "description": "A PID is considered to have a lifecycle, PID status indicates the status in the life cycle, e.g. draft, active, retired. PID statuses are described further in the PID infrastructure design.",
      "$comment": "idx = 13"
    },
    "HS_ADMIN": {
      "type": "string",
      "description": "Administrative information for PID profile",
      "$comment": "idx = 100"
    },
    "10320/loc": {
      "type": "string",
      "description": "XML document describing location(s) of the resource",
      "$comment": "idx = 101",
      "example": "<locations><location href=\"https://dev.dissco.tech/api/v1/annotations/TEST/FFR-RTL-B8K\" id=\"0\" weight=\"1\"/></locations>"
    },
    "tombstoneText": {
      "type": "string",
      "description": "A reason why the Digital Object was tombstoned",
      "examples": [
        "This is a duplicate of XXX",
        "This object was made by mistake"
      ],
      "$comment": "idx = 30"
    },
    "ods:hasRelatedPID": {
      "type": "array",
      "description": "The PIDs of the object the tombstoned object is related to",
      "items": {
        "type": "object",
        "items": {
          "type": "object",
          "properties": {
            "ods:ID": {
              "type": "string",
              "description": "The PID of the related object",
              "examples": [
                "https://doi.org/10.1234/abcd"
              ]
            },
            "ods:relationshipType": {
              "type": "string",
              "description": "The type of relationship between the tombstoned object and the related object",
              "examples": [
                "ods:relatedTo",
                "ods:isDuplicateOf"
              ]
            }
          },
          "additionalProperties": false
        },
        "$comment": "idx = 31"
      }
    },
    "tombstoneDate": {
      "type": "string",
      "description": "Timestamp the Digital Object was tombstoned and no longer active.",
      "format": "date-time",
      "examples": [
        "2021-06-01T12:00:000Z"
      ],
      "$comment": "idx = 32"
    },
    "referentType": {
      "type": "string",
      "description": "A generic name for the type of object that the DOI refers to. This is different from digitalObjectType that points to a specific type, e.g. there can be different types of digital specimens that each have a slightly different metadata schema because they describe a different kind of specimen, like a botanical versus a geological specimen.",
      "example": "digital specimen",
      "$comment": "idx = 40"
    },
    "referentDoiName": {
      "type": "string",
      "description": "The bare DOI Name string for the PID, e.g. without the resolver.",
      "example": "10.22/GEE-W3J-HL2",
      "$comment": "idx = 41"
    },
    "referentName": {
      "type": "string",
      "description": "In the case of a digital specimen this is the name for the object in the collection, which can be anything from a taxon name to a collection number.",
      "example": "Mus musculus type 1",
      "$comment": "idx = 42"
    },
    "primaryReferentType": {
      "type": "string",
      "description": "The primary type of the referent in the DOI Kernel XML Schema (e.g. creation, party, event). This is an open list. For digital specimens and media it will always be creation.",
      "example": "creation",
      "$comment": "idx = 43"
    },
    "organisationIdentifier": {
      "type": "string",
      "$comment": "idx = 800"
    },
    "organisationIdentifierType": {
      "type": "string",
      "$comment": "idx = 801"
    },
    "organisationName": {
      "type": "string",
      "$comment": "idx = 802"
    }
  },
  "additionalProperties": false,
  "required": [
    "fdoProfile",
    "fdoRecordLicense",
    "digitalObjectType",
    "digitalObjectName",
    "pid",
    "pidIssuer",
    "pidIssuerName",
    "issuedForAgent",
    "pidRecordIssueDate",
    "pidRecordIssueNumber",
    "structuralType",
    "pidStatus",
    "10320/loc",
    "referentType",
    "referentDoiName",
    "referentName",
    "primaryReferentType",
    "organisationIdentifier",
    "organisationIdentifierType",
    "organisationName"
  ]
}