{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api.kamsoft.pl/schemas/canonical-eod/AllocationItem.schema.json",
  "title": "AllocationItem",
  "description": "Pozycja alokacji dla PostingInstruction: typ alokacji KR/KO oraz jedna ze sciezek mapowania (formulaComponent, costCarrier lub valueString).",
  "version": "2.0.0-draft",
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "$ref": "CodeableConcept.schema.json",
      "description": "Typ alokacji z ValueSet posting-instruction-allocation-type (np. KR, KO)."
    },
    "formulaComponent": {
      "$ref": "Reference.schema.json",
      "description": "Skladnik formuly - sciezka KO/KR przez przepis."
    },
    "costCarrier": {
      "$ref": "Reference.schema.json",
      "description": "Nosnik kosztow - alternatywna sciezka KO."
    },
    "weight": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Udzial procentowy 0-100 przy rozbiciu; brak oznacza rowny podzial wsrod wpisow tego samego type na pozycji."
    },
    "valueString": {
      "type": "string",
      "description": "Wariant 3 (migracja): kody alokacji lub @symbol nosnika kosztow (opcjonalnie z wagami)."
    }
  }
}