# 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 .translation_information import TranslationInformation
from .truncated_string import TruncatedString


@JsonMap({})
class DescriptionDto(BaseModel):
    """Textual information about the accommodation. Requires `{"extras":["description"]}`.

    :param important_information: Text containing important information about the property. The value is translated in the requested languages., defaults to None
    :type important_information: TranslationInformation, optional
    :param license_numbers: List of all the license numbers of this accommodation property., defaults to None
    :type license_numbers: List[str], optional
    :param text: The translated description text of this accommodation property in the requested languages. The maximum number of characters returned may be limited by contract. , defaults to None
    :type text: TruncatedString, optional
    """

    def __init__(
        self,
        important_information: TranslationInformation = None,
        license_numbers: List[str] = None,
        text: TruncatedString = None,
    ):
        if important_information is not None:
            self.important_information = self._define_object(
                important_information, TranslationInformation
            )
        if license_numbers is not None:
            self.license_numbers = license_numbers
        if text is not None:
            self.text = self._define_object(text, TruncatedString)
