{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "Company": {
      "type": "object",
      "properties": {
        "address": {
          "type": "object",
          "properties": {
            "street": {"type": "string"},
            "city": {"type": "string"}
          }
        },
        "employees": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {"type": "string"},
              "address": {
                "type": "object",
                "properties": {
                  "street": {"type": "string"},
                  "apartment": {"type": "string"}
                }
              }
            }
          }
        }
      }
    },
    "Customer": {
      "type": "object",
      "properties": {
        "address": {
          "type": "object",
          "properties": {
            "street": {"type": "string"},
            "country": {"type": "string"}
          }
        }
      }
    },
    "Warehouse": {
      "type": "object",
      "properties": {
        "address": {
          "type": "object",
          "properties": {
            "street": {"type": "string"},
            "zone": {"type": "string"}
          }
        }
      }
    },
    "Order": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "product": {
                "type": "object",
                "properties": {
                  "name": {"type": "string"},
                  "details": {
                    "type": "object",
                    "properties": {
                      "description": {"type": "string"}
                    }
                  }
                }
              },
              "quantity": {"type": "integer"}
            }
          }
        }
      }
    }
  }
}
