{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.demiton.io/registers/equipment_transfer/v1.json",
  "title": "equipment_transfer contract v1",
  "type": "object",
  "required": [
    "asset",
    "external_id",
    "from_location",
    "occurred_at",
    "to_location"
  ],
  "properties": {
    "asset": {
      "type": "string",
      "description": "the machine or tool that moved",
      "x-demiton-requiredness": "required",
      "x-demiton-reference": true
    },
    "project": {
      "type": "string",
      "description": "the project the transfer is attributed to",
      "x-demiton-requiredness": "optional",
      "x-demiton-reference": true
    },
    "to_worker": {
      "type": "number",
      "description": "the worker who received custody",
      "x-demiton-requiredness": "optional",
      "x-demiton-reference": true
    },
    "external_id": {
      "type": "string",
      "description": "the transfer line's dedup key",
      "x-demiton-requiredness": "required"
    },
    "from_worker": {
      "type": "number",
      "description": "the worker who held the asset before",
      "x-demiton-requiredness": "optional",
      "x-demiton-reference": true
    },
    "occurred_at": {
      "type": "string",
      "description": "when the transfer happened",
      "x-demiton-requiredness": "required",
      "format": "date-time",
      "x-demiton-type": "datetime"
    },
    "to_location": {
      "type": "number",
      "description": "the location the asset arrived at",
      "x-demiton-requiredness": "required",
      "x-demiton-reference": true
    },
    "from_location": {
      "type": "number",
      "description": "the location the asset left",
      "x-demiton-requiredness": "required",
      "x-demiton-reference": true
    },
    "financial_period": {
      "type": "string",
      "description": "the accounting period the movement is attributed to",
      "x-demiton-requiredness": "optional",
      "x-demiton-reference": true
    },
    "to_storage_asset": {
      "type": "number",
      "description": "the storage unit / container the asset arrived in",
      "x-demiton-requiredness": "optional",
      "x-demiton-reference": true
    },
    "from_storage_asset": {
      "type": "number",
      "description": "the storage unit / container the asset left",
      "x-demiton-requiredness": "optional",
      "x-demiton-reference": true
    }
  },
  "x-demiton-register-type": "equipment_transfer",
  "x-demiton-contract-version": "1.0.3",
  "x-demiton-store": "tenant",
  "x-demiton-axes": [
    {
      "axis": "project",
      "requirement": "optional",
      "role": "subject"
    },
    {
      "axis": "asset",
      "requirement": "required",
      "role": "subject"
    },
    {
      "axis": "financial_period",
      "requirement": "optional",
      "role": "context"
    }
  ],
  "x-demiton-measures": [],
  "x-demiton-provenance": {
    "standards": [
      {
        "code": "ISO 55001",
        "title": "Asset management - Asset management system - Requirements",
        "access": "paywalled_secondary",
        "clause": "8.1",
        "region": "International",
        "edition": "2024 (AS ISO 55001:2024 identical AU adoption)",
        "checked_on": "2026-09-14"
      },
      {
        "code": "ISO/TS 55010",
        "title": "Asset management - Guidance on the alignment of financial and non-financial functions",
        "access": "paywalled_secondary",
        "clause": "Annex I",
        "region": "International",
        "edition": "2024 (2019 edition withdrawn 2025-04-09)",
        "checked_on": "2026-09-14"
      }
    ]
  },
  "description": "Plant and equipment moves between sites.",
  "x-demiton-contract-url": "https://docs.demiton.io/registers/equipment_transfer/",
  "x-demiton-register-catalog": "https://docs.demiton.io/concepts/register-catalog"
}