# coding: utf-8

"""
    SYSNET CRZP connector API

    SYSNET CRŽP connector REST API (IPPC & CITES extension)  # noqa: E501

    OpenAPI spec version: 1.1.0
    Contact: info@sysnet.cz
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class IrzFacilityDetail(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'id': 'str',
        'created': 'datetime',
        'updated': 'datetime',
        'deleted': 'datetime',
        'name': 'str',
        'address': 'Address',
        'facility_id': 'str',
        'inspire_id_namespace': 'str',
        'inspire_id': 'str',
        'local_id': 'str',
        'thematic_id': 'str',
        'emissions_trading_system': 'IrzEmissionsTradingSystem',
        'nace': 'DictionaryReference',
        'cz_nace': 'DictionaryReference',
        'cz_river_basin_district': 'DictionaryReference',
        'eu_river_basin_district': 'DictionaryReference',
        'wgs84_coordinates': 'GeoPoint',
        'etrs89_coordinates': 'GeoPoint',
        'jtsk_coordinates': 'GeoPointJtsk',
        'ovz_facility': 'NamedReference',
        'main_eprtr_activity': 'IrzActivityRecord',
        'secondary_eprtr_activities': 'list[IrzActivityRecord]',
        'ippc_activity': 'IppcActivity',
        'ippc_pids': 'list[str]',
        'main_irz_activity': 'IrzActivityRecord',
        'secondary_irz_activities': 'list[IrzActivityRecord]',
        'facility_count': 'int',
        'country': 'DictionaryReference',
        'eu_state_record': 'EuState',
        'web_site': 'str',
        'public_email': 'str',
        'public_phone_number': 'str',
        'operator': 'SubjectReference',
        'registration_date': 'date',
        'valid_from': 'date',
        'valid_to': 'date',
        'active': 'bool',
        'note': 'str',
        'competent_authority': 'DictionaryReference',
        'competent_control_authorities': 'list[DictionaryReference]',
        'commissioning_date': 'date',
        'production_site': 'NamedReference',
        'ispop_id': 'str'
    }

    attribute_map = {
        'id': 'id',
        'created': 'created',
        'updated': 'updated',
        'deleted': 'deleted',
        'name': 'name',
        'address': 'address',
        'facility_id': 'facilityId',
        'inspire_id_namespace': 'inspireIdNamespace',
        'inspire_id': 'inspireId',
        'local_id': 'localId',
        'thematic_id': 'thematicId',
        'emissions_trading_system': 'emissionsTradingSystem',
        'nace': 'nace',
        'cz_nace': 'cz-nace',
        'cz_river_basin_district': 'czRiverBasinDistrict',
        'eu_river_basin_district': 'euRiverBasinDistrict',
        'wgs84_coordinates': 'wgs84Coordinates',
        'etrs89_coordinates': 'etrs89Coordinates',
        'jtsk_coordinates': 'jtskCoordinates',
        'ovz_facility': 'ovzFacility',
        'main_eprtr_activity': 'mainEprtrActivity',
        'secondary_eprtr_activities': 'secondaryEprtrActivities',
        'ippc_activity': 'ippcActivity',
        'ippc_pids': 'ippcPids',
        'main_irz_activity': 'mainIrzActivity',
        'secondary_irz_activities': 'secondaryIrzActivities',
        'facility_count': 'facilityCount',
        'country': 'country',
        'eu_state_record': 'euStateRecord',
        'web_site': 'webSite',
        'public_email': 'publicEmail',
        'public_phone_number': 'publicPhoneNumber',
        'operator': 'operator',
        'registration_date': 'registrationDate',
        'valid_from': 'validFrom',
        'valid_to': 'validTo',
        'active': 'active',
        'note': 'note',
        'competent_authority': 'competentAuthority',
        'competent_control_authorities': 'competentControlAuthorities',
        'commissioning_date': 'commissioningDate',
        'production_site': 'productionSite',
        'ispop_id': 'ispopId'
    }

    def __init__(self, id=None, created=None, updated=None, deleted=None, name=None, address=None, facility_id=None, inspire_id_namespace=None, inspire_id=None, local_id=None, thematic_id=None, emissions_trading_system=None, nace=None, cz_nace=None, cz_river_basin_district=None, eu_river_basin_district=None, wgs84_coordinates=None, etrs89_coordinates=None, jtsk_coordinates=None, ovz_facility=None, main_eprtr_activity=None, secondary_eprtr_activities=None, ippc_activity=None, ippc_pids=None, main_irz_activity=None, secondary_irz_activities=None, facility_count=None, country=None, eu_state_record=None, web_site=None, public_email=None, public_phone_number=None, operator=None, registration_date=None, valid_from=None, valid_to=None, active=None, note=None, competent_authority=None, competent_control_authorities=None, commissioning_date=None, production_site=None, ispop_id=None):  # noqa: E501
        """IrzFacilityDetail - a model defined in Swagger"""  # noqa: E501
        self._id = None
        self._created = None
        self._updated = None
        self._deleted = None
        self._name = None
        self._address = None
        self._facility_id = None
        self._inspire_id_namespace = None
        self._inspire_id = None
        self._local_id = None
        self._thematic_id = None
        self._emissions_trading_system = None
        self._nace = None
        self._cz_nace = None
        self._cz_river_basin_district = None
        self._eu_river_basin_district = None
        self._wgs84_coordinates = None
        self._etrs89_coordinates = None
        self._jtsk_coordinates = None
        self._ovz_facility = None
        self._main_eprtr_activity = None
        self._secondary_eprtr_activities = None
        self._ippc_activity = None
        self._ippc_pids = None
        self._main_irz_activity = None
        self._secondary_irz_activities = None
        self._facility_count = None
        self._country = None
        self._eu_state_record = None
        self._web_site = None
        self._public_email = None
        self._public_phone_number = None
        self._operator = None
        self._registration_date = None
        self._valid_from = None
        self._valid_to = None
        self._active = None
        self._note = None
        self._competent_authority = None
        self._competent_control_authorities = None
        self._commissioning_date = None
        self._production_site = None
        self._ispop_id = None
        self.discriminator = None
        if id is not None:
            self.id = id
        if created is not None:
            self.created = created
        if updated is not None:
            self.updated = updated
        if deleted is not None:
            self.deleted = deleted
        if name is not None:
            self.name = name
        if address is not None:
            self.address = address
        if facility_id is not None:
            self.facility_id = facility_id
        if inspire_id_namespace is not None:
            self.inspire_id_namespace = inspire_id_namespace
        if inspire_id is not None:
            self.inspire_id = inspire_id
        if local_id is not None:
            self.local_id = local_id
        if thematic_id is not None:
            self.thematic_id = thematic_id
        if emissions_trading_system is not None:
            self.emissions_trading_system = emissions_trading_system
        if nace is not None:
            self.nace = nace
        if cz_nace is not None:
            self.cz_nace = cz_nace
        if cz_river_basin_district is not None:
            self.cz_river_basin_district = cz_river_basin_district
        if eu_river_basin_district is not None:
            self.eu_river_basin_district = eu_river_basin_district
        if wgs84_coordinates is not None:
            self.wgs84_coordinates = wgs84_coordinates
        if etrs89_coordinates is not None:
            self.etrs89_coordinates = etrs89_coordinates
        if jtsk_coordinates is not None:
            self.jtsk_coordinates = jtsk_coordinates
        if ovz_facility is not None:
            self.ovz_facility = ovz_facility
        if main_eprtr_activity is not None:
            self.main_eprtr_activity = main_eprtr_activity
        if secondary_eprtr_activities is not None:
            self.secondary_eprtr_activities = secondary_eprtr_activities
        if ippc_activity is not None:
            self.ippc_activity = ippc_activity
        if ippc_pids is not None:
            self.ippc_pids = ippc_pids
        if main_irz_activity is not None:
            self.main_irz_activity = main_irz_activity
        if secondary_irz_activities is not None:
            self.secondary_irz_activities = secondary_irz_activities
        if facility_count is not None:
            self.facility_count = facility_count
        if country is not None:
            self.country = country
        if eu_state_record is not None:
            self.eu_state_record = eu_state_record
        if web_site is not None:
            self.web_site = web_site
        if public_email is not None:
            self.public_email = public_email
        if public_phone_number is not None:
            self.public_phone_number = public_phone_number
        if operator is not None:
            self.operator = operator
        if registration_date is not None:
            self.registration_date = registration_date
        if valid_from is not None:
            self.valid_from = valid_from
        if valid_to is not None:
            self.valid_to = valid_to
        if active is not None:
            self.active = active
        if note is not None:
            self.note = note
        if competent_authority is not None:
            self.competent_authority = competent_authority
        if competent_control_authorities is not None:
            self.competent_control_authorities = competent_control_authorities
        if commissioning_date is not None:
            self.commissioning_date = commissioning_date
        if production_site is not None:
            self.production_site = production_site
        if ispop_id is not None:
            self.ispop_id = ispop_id

    @property
    def id(self):
        """Gets the id of this IrzFacilityDetail.  # noqa: E501


        :return: The id of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this IrzFacilityDetail.


        :param id: The id of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._id = id

    @property
    def created(self):
        """Gets the created of this IrzFacilityDetail.  # noqa: E501


        :return: The created of this IrzFacilityDetail.  # noqa: E501
        :rtype: datetime
        """
        return self._created

    @created.setter
    def created(self, created):
        """Sets the created of this IrzFacilityDetail.


        :param created: The created of this IrzFacilityDetail.  # noqa: E501
        :type: datetime
        """

        self._created = created

    @property
    def updated(self):
        """Gets the updated of this IrzFacilityDetail.  # noqa: E501


        :return: The updated of this IrzFacilityDetail.  # noqa: E501
        :rtype: datetime
        """
        return self._updated

    @updated.setter
    def updated(self, updated):
        """Sets the updated of this IrzFacilityDetail.


        :param updated: The updated of this IrzFacilityDetail.  # noqa: E501
        :type: datetime
        """

        self._updated = updated

    @property
    def deleted(self):
        """Gets the deleted of this IrzFacilityDetail.  # noqa: E501


        :return: The deleted of this IrzFacilityDetail.  # noqa: E501
        :rtype: datetime
        """
        return self._deleted

    @deleted.setter
    def deleted(self, deleted):
        """Sets the deleted of this IrzFacilityDetail.


        :param deleted: The deleted of this IrzFacilityDetail.  # noqa: E501
        :type: datetime
        """

        self._deleted = deleted

    @property
    def name(self):
        """Gets the name of this IrzFacilityDetail.  # noqa: E501


        :return: The name of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._name

    @name.setter
    def name(self, name):
        """Sets the name of this IrzFacilityDetail.


        :param name: The name of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._name = name

    @property
    def address(self):
        """Gets the address of this IrzFacilityDetail.  # noqa: E501


        :return: The address of this IrzFacilityDetail.  # noqa: E501
        :rtype: Address
        """
        return self._address

    @address.setter
    def address(self, address):
        """Sets the address of this IrzFacilityDetail.


        :param address: The address of this IrzFacilityDetail.  # noqa: E501
        :type: Address
        """

        self._address = address

    @property
    def facility_id(self):
        """Gets the facility_id of this IrzFacilityDetail.  # noqa: E501


        :return: The facility_id of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._facility_id

    @facility_id.setter
    def facility_id(self, facility_id):
        """Sets the facility_id of this IrzFacilityDetail.


        :param facility_id: The facility_id of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._facility_id = facility_id

    @property
    def inspire_id_namespace(self):
        """Gets the inspire_id_namespace of this IrzFacilityDetail.  # noqa: E501


        :return: The inspire_id_namespace of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._inspire_id_namespace

    @inspire_id_namespace.setter
    def inspire_id_namespace(self, inspire_id_namespace):
        """Sets the inspire_id_namespace of this IrzFacilityDetail.


        :param inspire_id_namespace: The inspire_id_namespace of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._inspire_id_namespace = inspire_id_namespace

    @property
    def inspire_id(self):
        """Gets the inspire_id of this IrzFacilityDetail.  # noqa: E501


        :return: The inspire_id of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._inspire_id

    @inspire_id.setter
    def inspire_id(self, inspire_id):
        """Sets the inspire_id of this IrzFacilityDetail.


        :param inspire_id: The inspire_id of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._inspire_id = inspire_id

    @property
    def local_id(self):
        """Gets the local_id of this IrzFacilityDetail.  # noqa: E501


        :return: The local_id of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._local_id

    @local_id.setter
    def local_id(self, local_id):
        """Sets the local_id of this IrzFacilityDetail.


        :param local_id: The local_id of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._local_id = local_id

    @property
    def thematic_id(self):
        """Gets the thematic_id of this IrzFacilityDetail.  # noqa: E501


        :return: The thematic_id of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._thematic_id

    @thematic_id.setter
    def thematic_id(self, thematic_id):
        """Sets the thematic_id of this IrzFacilityDetail.


        :param thematic_id: The thematic_id of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._thematic_id = thematic_id

    @property
    def emissions_trading_system(self):
        """Gets the emissions_trading_system of this IrzFacilityDetail.  # noqa: E501


        :return: The emissions_trading_system of this IrzFacilityDetail.  # noqa: E501
        :rtype: IrzEmissionsTradingSystem
        """
        return self._emissions_trading_system

    @emissions_trading_system.setter
    def emissions_trading_system(self, emissions_trading_system):
        """Sets the emissions_trading_system of this IrzFacilityDetail.


        :param emissions_trading_system: The emissions_trading_system of this IrzFacilityDetail.  # noqa: E501
        :type: IrzEmissionsTradingSystem
        """

        self._emissions_trading_system = emissions_trading_system

    @property
    def nace(self):
        """Gets the nace of this IrzFacilityDetail.  # noqa: E501


        :return: The nace of this IrzFacilityDetail.  # noqa: E501
        :rtype: DictionaryReference
        """
        return self._nace

    @nace.setter
    def nace(self, nace):
        """Sets the nace of this IrzFacilityDetail.


        :param nace: The nace of this IrzFacilityDetail.  # noqa: E501
        :type: DictionaryReference
        """

        self._nace = nace

    @property
    def cz_nace(self):
        """Gets the cz_nace of this IrzFacilityDetail.  # noqa: E501


        :return: The cz_nace of this IrzFacilityDetail.  # noqa: E501
        :rtype: DictionaryReference
        """
        return self._cz_nace

    @cz_nace.setter
    def cz_nace(self, cz_nace):
        """Sets the cz_nace of this IrzFacilityDetail.


        :param cz_nace: The cz_nace of this IrzFacilityDetail.  # noqa: E501
        :type: DictionaryReference
        """

        self._cz_nace = cz_nace

    @property
    def cz_river_basin_district(self):
        """Gets the cz_river_basin_district of this IrzFacilityDetail.  # noqa: E501


        :return: The cz_river_basin_district of this IrzFacilityDetail.  # noqa: E501
        :rtype: DictionaryReference
        """
        return self._cz_river_basin_district

    @cz_river_basin_district.setter
    def cz_river_basin_district(self, cz_river_basin_district):
        """Sets the cz_river_basin_district of this IrzFacilityDetail.


        :param cz_river_basin_district: The cz_river_basin_district of this IrzFacilityDetail.  # noqa: E501
        :type: DictionaryReference
        """

        self._cz_river_basin_district = cz_river_basin_district

    @property
    def eu_river_basin_district(self):
        """Gets the eu_river_basin_district of this IrzFacilityDetail.  # noqa: E501


        :return: The eu_river_basin_district of this IrzFacilityDetail.  # noqa: E501
        :rtype: DictionaryReference
        """
        return self._eu_river_basin_district

    @eu_river_basin_district.setter
    def eu_river_basin_district(self, eu_river_basin_district):
        """Sets the eu_river_basin_district of this IrzFacilityDetail.


        :param eu_river_basin_district: The eu_river_basin_district of this IrzFacilityDetail.  # noqa: E501
        :type: DictionaryReference
        """

        self._eu_river_basin_district = eu_river_basin_district

    @property
    def wgs84_coordinates(self):
        """Gets the wgs84_coordinates of this IrzFacilityDetail.  # noqa: E501


        :return: The wgs84_coordinates of this IrzFacilityDetail.  # noqa: E501
        :rtype: GeoPoint
        """
        return self._wgs84_coordinates

    @wgs84_coordinates.setter
    def wgs84_coordinates(self, wgs84_coordinates):
        """Sets the wgs84_coordinates of this IrzFacilityDetail.


        :param wgs84_coordinates: The wgs84_coordinates of this IrzFacilityDetail.  # noqa: E501
        :type: GeoPoint
        """

        self._wgs84_coordinates = wgs84_coordinates

    @property
    def etrs89_coordinates(self):
        """Gets the etrs89_coordinates of this IrzFacilityDetail.  # noqa: E501


        :return: The etrs89_coordinates of this IrzFacilityDetail.  # noqa: E501
        :rtype: GeoPoint
        """
        return self._etrs89_coordinates

    @etrs89_coordinates.setter
    def etrs89_coordinates(self, etrs89_coordinates):
        """Sets the etrs89_coordinates of this IrzFacilityDetail.


        :param etrs89_coordinates: The etrs89_coordinates of this IrzFacilityDetail.  # noqa: E501
        :type: GeoPoint
        """

        self._etrs89_coordinates = etrs89_coordinates

    @property
    def jtsk_coordinates(self):
        """Gets the jtsk_coordinates of this IrzFacilityDetail.  # noqa: E501


        :return: The jtsk_coordinates of this IrzFacilityDetail.  # noqa: E501
        :rtype: GeoPointJtsk
        """
        return self._jtsk_coordinates

    @jtsk_coordinates.setter
    def jtsk_coordinates(self, jtsk_coordinates):
        """Sets the jtsk_coordinates of this IrzFacilityDetail.


        :param jtsk_coordinates: The jtsk_coordinates of this IrzFacilityDetail.  # noqa: E501
        :type: GeoPointJtsk
        """

        self._jtsk_coordinates = jtsk_coordinates

    @property
    def ovz_facility(self):
        """Gets the ovz_facility of this IrzFacilityDetail.  # noqa: E501


        :return: The ovz_facility of this IrzFacilityDetail.  # noqa: E501
        :rtype: NamedReference
        """
        return self._ovz_facility

    @ovz_facility.setter
    def ovz_facility(self, ovz_facility):
        """Sets the ovz_facility of this IrzFacilityDetail.


        :param ovz_facility: The ovz_facility of this IrzFacilityDetail.  # noqa: E501
        :type: NamedReference
        """

        self._ovz_facility = ovz_facility

    @property
    def main_eprtr_activity(self):
        """Gets the main_eprtr_activity of this IrzFacilityDetail.  # noqa: E501


        :return: The main_eprtr_activity of this IrzFacilityDetail.  # noqa: E501
        :rtype: IrzActivityRecord
        """
        return self._main_eprtr_activity

    @main_eprtr_activity.setter
    def main_eprtr_activity(self, main_eprtr_activity):
        """Sets the main_eprtr_activity of this IrzFacilityDetail.


        :param main_eprtr_activity: The main_eprtr_activity of this IrzFacilityDetail.  # noqa: E501
        :type: IrzActivityRecord
        """

        self._main_eprtr_activity = main_eprtr_activity

    @property
    def secondary_eprtr_activities(self):
        """Gets the secondary_eprtr_activities of this IrzFacilityDetail.  # noqa: E501


        :return: The secondary_eprtr_activities of this IrzFacilityDetail.  # noqa: E501
        :rtype: list[IrzActivityRecord]
        """
        return self._secondary_eprtr_activities

    @secondary_eprtr_activities.setter
    def secondary_eprtr_activities(self, secondary_eprtr_activities):
        """Sets the secondary_eprtr_activities of this IrzFacilityDetail.


        :param secondary_eprtr_activities: The secondary_eprtr_activities of this IrzFacilityDetail.  # noqa: E501
        :type: list[IrzActivityRecord]
        """

        self._secondary_eprtr_activities = secondary_eprtr_activities

    @property
    def ippc_activity(self):
        """Gets the ippc_activity of this IrzFacilityDetail.  # noqa: E501


        :return: The ippc_activity of this IrzFacilityDetail.  # noqa: E501
        :rtype: IppcActivity
        """
        return self._ippc_activity

    @ippc_activity.setter
    def ippc_activity(self, ippc_activity):
        """Sets the ippc_activity of this IrzFacilityDetail.


        :param ippc_activity: The ippc_activity of this IrzFacilityDetail.  # noqa: E501
        :type: IppcActivity
        """

        self._ippc_activity = ippc_activity

    @property
    def ippc_pids(self):
        """Gets the ippc_pids of this IrzFacilityDetail.  # noqa: E501


        :return: The ippc_pids of this IrzFacilityDetail.  # noqa: E501
        :rtype: list[str]
        """
        return self._ippc_pids

    @ippc_pids.setter
    def ippc_pids(self, ippc_pids):
        """Sets the ippc_pids of this IrzFacilityDetail.


        :param ippc_pids: The ippc_pids of this IrzFacilityDetail.  # noqa: E501
        :type: list[str]
        """

        self._ippc_pids = ippc_pids

    @property
    def main_irz_activity(self):
        """Gets the main_irz_activity of this IrzFacilityDetail.  # noqa: E501


        :return: The main_irz_activity of this IrzFacilityDetail.  # noqa: E501
        :rtype: IrzActivityRecord
        """
        return self._main_irz_activity

    @main_irz_activity.setter
    def main_irz_activity(self, main_irz_activity):
        """Sets the main_irz_activity of this IrzFacilityDetail.


        :param main_irz_activity: The main_irz_activity of this IrzFacilityDetail.  # noqa: E501
        :type: IrzActivityRecord
        """

        self._main_irz_activity = main_irz_activity

    @property
    def secondary_irz_activities(self):
        """Gets the secondary_irz_activities of this IrzFacilityDetail.  # noqa: E501


        :return: The secondary_irz_activities of this IrzFacilityDetail.  # noqa: E501
        :rtype: list[IrzActivityRecord]
        """
        return self._secondary_irz_activities

    @secondary_irz_activities.setter
    def secondary_irz_activities(self, secondary_irz_activities):
        """Sets the secondary_irz_activities of this IrzFacilityDetail.


        :param secondary_irz_activities: The secondary_irz_activities of this IrzFacilityDetail.  # noqa: E501
        :type: list[IrzActivityRecord]
        """

        self._secondary_irz_activities = secondary_irz_activities

    @property
    def facility_count(self):
        """Gets the facility_count of this IrzFacilityDetail.  # noqa: E501

        Celkový počet zařízení  # noqa: E501

        :return: The facility_count of this IrzFacilityDetail.  # noqa: E501
        :rtype: int
        """
        return self._facility_count

    @facility_count.setter
    def facility_count(self, facility_count):
        """Sets the facility_count of this IrzFacilityDetail.

        Celkový počet zařízení  # noqa: E501

        :param facility_count: The facility_count of this IrzFacilityDetail.  # noqa: E501
        :type: int
        """

        self._facility_count = facility_count

    @property
    def country(self):
        """Gets the country of this IrzFacilityDetail.  # noqa: E501


        :return: The country of this IrzFacilityDetail.  # noqa: E501
        :rtype: DictionaryReference
        """
        return self._country

    @country.setter
    def country(self, country):
        """Sets the country of this IrzFacilityDetail.


        :param country: The country of this IrzFacilityDetail.  # noqa: E501
        :type: DictionaryReference
        """

        self._country = country

    @property
    def eu_state_record(self):
        """Gets the eu_state_record of this IrzFacilityDetail.  # noqa: E501


        :return: The eu_state_record of this IrzFacilityDetail.  # noqa: E501
        :rtype: EuState
        """
        return self._eu_state_record

    @eu_state_record.setter
    def eu_state_record(self, eu_state_record):
        """Sets the eu_state_record of this IrzFacilityDetail.


        :param eu_state_record: The eu_state_record of this IrzFacilityDetail.  # noqa: E501
        :type: EuState
        """

        self._eu_state_record = eu_state_record

    @property
    def web_site(self):
        """Gets the web_site of this IrzFacilityDetail.  # noqa: E501

        Web stránka  # noqa: E501

        :return: The web_site of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._web_site

    @web_site.setter
    def web_site(self, web_site):
        """Sets the web_site of this IrzFacilityDetail.

        Web stránka  # noqa: E501

        :param web_site: The web_site of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._web_site = web_site

    @property
    def public_email(self):
        """Gets the public_email of this IrzFacilityDetail.  # noqa: E501

        Veřejný e-mail  # noqa: E501

        :return: The public_email of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._public_email

    @public_email.setter
    def public_email(self, public_email):
        """Sets the public_email of this IrzFacilityDetail.

        Veřejný e-mail  # noqa: E501

        :param public_email: The public_email of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._public_email = public_email

    @property
    def public_phone_number(self):
        """Gets the public_phone_number of this IrzFacilityDetail.  # noqa: E501

        Veřejný telefon  # noqa: E501

        :return: The public_phone_number of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._public_phone_number

    @public_phone_number.setter
    def public_phone_number(self, public_phone_number):
        """Sets the public_phone_number of this IrzFacilityDetail.

        Veřejný telefon  # noqa: E501

        :param public_phone_number: The public_phone_number of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._public_phone_number = public_phone_number

    @property
    def operator(self):
        """Gets the operator of this IrzFacilityDetail.  # noqa: E501


        :return: The operator of this IrzFacilityDetail.  # noqa: E501
        :rtype: SubjectReference
        """
        return self._operator

    @operator.setter
    def operator(self, operator):
        """Sets the operator of this IrzFacilityDetail.


        :param operator: The operator of this IrzFacilityDetail.  # noqa: E501
        :type: SubjectReference
        """

        self._operator = operator

    @property
    def registration_date(self):
        """Gets the registration_date of this IrzFacilityDetail.  # noqa: E501

        Datum registrace  # noqa: E501

        :return: The registration_date of this IrzFacilityDetail.  # noqa: E501
        :rtype: date
        """
        return self._registration_date

    @registration_date.setter
    def registration_date(self, registration_date):
        """Sets the registration_date of this IrzFacilityDetail.

        Datum registrace  # noqa: E501

        :param registration_date: The registration_date of this IrzFacilityDetail.  # noqa: E501
        :type: date
        """

        self._registration_date = registration_date

    @property
    def valid_from(self):
        """Gets the valid_from of this IrzFacilityDetail.  # noqa: E501

        Platnost od  # noqa: E501

        :return: The valid_from of this IrzFacilityDetail.  # noqa: E501
        :rtype: date
        """
        return self._valid_from

    @valid_from.setter
    def valid_from(self, valid_from):
        """Sets the valid_from of this IrzFacilityDetail.

        Platnost od  # noqa: E501

        :param valid_from: The valid_from of this IrzFacilityDetail.  # noqa: E501
        :type: date
        """

        self._valid_from = valid_from

    @property
    def valid_to(self):
        """Gets the valid_to of this IrzFacilityDetail.  # noqa: E501

        Platnost do  # noqa: E501

        :return: The valid_to of this IrzFacilityDetail.  # noqa: E501
        :rtype: date
        """
        return self._valid_to

    @valid_to.setter
    def valid_to(self, valid_to):
        """Sets the valid_to of this IrzFacilityDetail.

        Platnost do  # noqa: E501

        :param valid_to: The valid_to of this IrzFacilityDetail.  # noqa: E501
        :type: date
        """

        self._valid_to = valid_to

    @property
    def active(self):
        """Gets the active of this IrzFacilityDetail.  # noqa: E501

        Příznak platnosti  # noqa: E501

        :return: The active of this IrzFacilityDetail.  # noqa: E501
        :rtype: bool
        """
        return self._active

    @active.setter
    def active(self, active):
        """Sets the active of this IrzFacilityDetail.

        Příznak platnosti  # noqa: E501

        :param active: The active of this IrzFacilityDetail.  # noqa: E501
        :type: bool
        """

        self._active = active

    @property
    def note(self):
        """Gets the note of this IrzFacilityDetail.  # noqa: E501

        Poznámka  # noqa: E501

        :return: The note of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._note

    @note.setter
    def note(self, note):
        """Sets the note of this IrzFacilityDetail.

        Poznámka  # noqa: E501

        :param note: The note of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._note = note

    @property
    def competent_authority(self):
        """Gets the competent_authority of this IrzFacilityDetail.  # noqa: E501


        :return: The competent_authority of this IrzFacilityDetail.  # noqa: E501
        :rtype: DictionaryReference
        """
        return self._competent_authority

    @competent_authority.setter
    def competent_authority(self, competent_authority):
        """Sets the competent_authority of this IrzFacilityDetail.


        :param competent_authority: The competent_authority of this IrzFacilityDetail.  # noqa: E501
        :type: DictionaryReference
        """

        self._competent_authority = competent_authority

    @property
    def competent_control_authorities(self):
        """Gets the competent_control_authorities of this IrzFacilityDetail.  # noqa: E501


        :return: The competent_control_authorities of this IrzFacilityDetail.  # noqa: E501
        :rtype: list[DictionaryReference]
        """
        return self._competent_control_authorities

    @competent_control_authorities.setter
    def competent_control_authorities(self, competent_control_authorities):
        """Sets the competent_control_authorities of this IrzFacilityDetail.


        :param competent_control_authorities: The competent_control_authorities of this IrzFacilityDetail.  # noqa: E501
        :type: list[DictionaryReference]
        """

        self._competent_control_authorities = competent_control_authorities

    @property
    def commissioning_date(self):
        """Gets the commissioning_date of this IrzFacilityDetail.  # noqa: E501

        Datum uvedení do provozu  # noqa: E501

        :return: The commissioning_date of this IrzFacilityDetail.  # noqa: E501
        :rtype: date
        """
        return self._commissioning_date

    @commissioning_date.setter
    def commissioning_date(self, commissioning_date):
        """Sets the commissioning_date of this IrzFacilityDetail.

        Datum uvedení do provozu  # noqa: E501

        :param commissioning_date: The commissioning_date of this IrzFacilityDetail.  # noqa: E501
        :type: date
        """

        self._commissioning_date = commissioning_date

    @property
    def production_site(self):
        """Gets the production_site of this IrzFacilityDetail.  # noqa: E501


        :return: The production_site of this IrzFacilityDetail.  # noqa: E501
        :rtype: NamedReference
        """
        return self._production_site

    @production_site.setter
    def production_site(self, production_site):
        """Sets the production_site of this IrzFacilityDetail.


        :param production_site: The production_site of this IrzFacilityDetail.  # noqa: E501
        :type: NamedReference
        """

        self._production_site = production_site

    @property
    def ispop_id(self):
        """Gets the ispop_id of this IrzFacilityDetail.  # noqa: E501

        Identifikátor v systému ISPOP 1  # noqa: E501

        :return: The ispop_id of this IrzFacilityDetail.  # noqa: E501
        :rtype: str
        """
        return self._ispop_id

    @ispop_id.setter
    def ispop_id(self, ispop_id):
        """Sets the ispop_id of this IrzFacilityDetail.

        Identifikátor v systému ISPOP 1  # noqa: E501

        :param ispop_id: The ispop_id of this IrzFacilityDetail.  # noqa: E501
        :type: str
        """

        self._ispop_id = ispop_id

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(IrzFacilityDetail, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, IrzFacilityDetail):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
