{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.demiton.io/registers/project_obligation/v1.json",
  "title": "project_obligation contract v1",
  "type": "object",
  "required": [
    "obligation_key",
    "source",
    "switched_on",
    "visibility"
  ],
  "properties": {
    "source": {
      "type": "string",
      "description": "which of the seven sources this obligation's instrument belongs to",
      "enum": [
        "contract",
        "law",
        "principal",
        "approvals",
        "counterparties",
        "workforce",
        "own_commitments"
      ],
      "x-demiton-requiredness": "required"
    },
    "visibility": {
      "type": "string",
      "description": "public: from the library, may be proposed upstream. private: this project only.",
      "enum": [
        "public",
        "private"
      ],
      "x-demiton-requiredness": "required"
    },
    "switched_on": {
      "type": "boolean",
      "description": "whether the customer has switched this obligation on (writes a `protection` row)",
      "x-demiton-requiredness": "required"
    },
    "obligation_key": {
      "type": "string",
      "description": "the library obligation key, or a private addition's own key",
      "x-demiton-requiredness": "required"
    },
    "applies_because": {
      "type": "string",
      "description": "one line: why this obligation applies to this project, e.g. 'The site is in Queensland'",
      "x-demiton-requiredness": "optional"
    }
  },
  "x-demiton-register-type": "project_obligation",
  "x-demiton-contract-version": "1.0.0",
  "x-demiton-store": "tenant",
  "x-demiton-axes": [],
  "x-demiton-measures": [],
  "x-demiton-provenance": {
    "standards": []
  },
  "description": "The Project obligation register contract, version 1. JSON Schema (draft 2020-12); x-demiton-* keywords carry Demiton's own meaning and standard validators ignore them.",
  "x-demiton-contract-url": "https://docs.demiton.io/registers/project_obligation/",
  "x-demiton-register-catalog": "https://docs.demiton.io/concepts/register-catalog"
}