﻿{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Warehouse",
  "title": "Warehouse",
  "version": "1.0.0",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "resourceType": {
      "type": "string"
    },
    "meta": {
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Meta"
    },
    "owner": {
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Reference"
      }
    },
    "comment": {
      "type": "string"
    },
    "category": {
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/CodeableConcept"
      }
    },
    "status": {
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/CodeableConcept"
    },
    "type": {
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/CodeableConcept"
    },
    "contained": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "attribute": {
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Attribute"
      }
    },
    "identifier": {
      "description": "Identyfikatory lokalizacji",
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Identifier"
      }
    },
    "managingParty": {
      "description": "Strona zarz\u0105dzaj\u0105ca",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Reference"
    },
    "name": {
      "description": "Nazwa lokalizacji",
      "type": "string"
    },
    "partOf": {
      "description": "Lokalizacja nadrz\u0119dna",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Reference"
    }
  },
  "required": [
    "category"
  ],
  "allOf": [
    {
      "properties": {
        "category": {
          "contains": {
            "required": [
              "coding"
            ],
            "properties": {
              "coding": {
                "contains": {
                  "required": [
                    "code"
                  ],
                  "properties": {
                    "code": {
                      "const": "warehouse"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  ]
}