# This file was generated by liblab | https://liblab.com/

from __future__ import annotations
from .utils.json_map import JsonMap
from .base import BaseModel
from .handling_units_type import HandlingUnitsType
from .handling_units_dimensions import HandlingUnitsDimensions


@JsonMap({"quantity": "Quantity", "type_": "Type", "dimensions": "Dimensions"})
class FreightDensityInfoHandlingUnits(BaseModel):
    """Handling Unit for Density based rating container.

    :param quantity: Handling Unit Quantity for Density based rating.
    :type quantity: str
    :param type_: Handling Unit Type for Density based rating.
    :type type_: HandlingUnitsType
    :param dimensions: Dimension of the HandlingUnit container for density based pricing.
    :type dimensions: HandlingUnitsDimensions
    """

    def __init__(
        self,
        quantity: str,
        type_: HandlingUnitsType,
        dimensions: HandlingUnitsDimensions,
    ):
        self.quantity = quantity
        self.type_ = self._define_object(type_, HandlingUnitsType)
        self.dimensions = self._define_object(dimensions, HandlingUnitsDimensions)
