# generated by datamodel-codegen:
#   filename:  complex_input.json
#   timestamp: 2019-07-26T00:00:00+00:00

from __future__ import annotations

from typing import Any

from pydantic import BaseModel, RootModel


class Model(RootModel[Any]):
    root: Any


class ModelCompanyAddress(BaseModel):
    street: str | None = None
    city: str | None = None


class ModelCompanyEmployeeAddress(BaseModel):
    street: str | None = None
    apartment: str | None = None


class ModelCompanyEmployee(BaseModel):
    name: str | None = None
    address: ModelCompanyEmployeeAddress | None = None


class ModelCompany(BaseModel):
    address: ModelCompanyAddress | None = None
    employees: list[ModelCompanyEmployee] | None = None


class ModelCustomerAddress(BaseModel):
    street: str | None = None
    country: str | None = None


class ModelCustomer(BaseModel):
    address: ModelCustomerAddress | None = None


class ModelWarehouseAddress(BaseModel):
    street: str | None = None
    zone: str | None = None


class ModelWarehouse(BaseModel):
    address: ModelWarehouseAddress | None = None


class ModelOrderItemProductDetails(BaseModel):
    description: str | None = None


class ModelOrderItemProduct(BaseModel):
    name: str | None = None
    details: ModelOrderItemProductDetails | None = None


class ModelOrderItem(BaseModel):
    product: ModelOrderItemProduct | None = None
    quantity: int | None = None


class ModelOrder(BaseModel):
    items: list[ModelOrderItem] | None = None
