# 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 .bed_configuration_dto import BedConfigurationDto


@JsonMap({})
class BedOptionDto(BaseModel):
    """Lists all possible bedding options for this room or apartment.

    :param bed_configurations: Lists all alternative bed configurations that are supported., defaults to None
    :type bed_configurations: List[BedConfigurationDto], optional
    :param has_bathroom: Flags if this area includes its own bathroom., defaults to None
    :type has_bathroom: bool, optional
    :param is_bedroom: Flags if this area is marked as a bedroom, otherwise, it should be considered a living room., defaults to None
    :type is_bedroom: bool, optional
    """

    def __init__(
        self,
        bed_configurations: List[BedConfigurationDto] = None,
        has_bathroom: bool = None,
        is_bedroom: bool = None,
    ):
        if bed_configurations is not None:
            self.bed_configurations = self._define_list(
                bed_configurations, BedConfigurationDto
            )
        if has_bathroom is not None:
            self.has_bathroom = has_bathroom
        if is_bedroom is not None:
            self.is_bedroom = is_bedroom
