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

from __future__ import annotations
from typing import List
from .utils.json_map import JsonMap
from .base import BaseModel
from .charge_dto import ChargeDto


@JsonMap({})
class ExtraChargesDtoListChargeDto(BaseModel):
    """The charge breakdown. Includes taxes and fees.

    :param excluded: Charges not included in 'book'., defaults to None
    :type excluded: List[ChargeDto], optional
    :param included: Charges included in 'book'., defaults to None
    :type included: List[ChargeDto], optional
    :param conditional: conditional, defaults to None
    :type conditional: List[ChargeDto], optional
    """

    def __init__(
        self,
        excluded: List[ChargeDto] = None,
        included: List[ChargeDto] = None,
        conditional: List[ChargeDto] = None,
    ):
        if excluded is not None:
            self.excluded = self._define_list(excluded, ChargeDto)
        if included is not None:
            self.included = self._define_list(included, ChargeDto)
        if conditional is not None:
            self.conditional = self._define_list(conditional, ChargeDto)
