# coding: utf-8

"""
    Dokumenty CITES

    API pro datový řadič dokumentů CITES ### Verze 1.0.0    - public   - developers  ### Verze 1.1.0    - admins   - additional   - statement   - attachments   - registration_cards   - permit   # 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 CZCitesPermitType(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 = {
        'authorized_location': 'str',
        'comment': 'str',
        'conditions': 'PermitConditionsType',
        'consignment_note': 'str',
        'country_export': 'str',
        'country_import': 'str',
        'customs': 'CustomsPermitType',
        'date_issued': 'date',
        'date_valid': 'date',
        'date_created': 'datetime',
        'date_modified': 'datetime',
        'documentation': 'str',
        'exporter': 'PersonType',
        'external': 'bool',
        'creator': 'str',
        'goods': 'list[GoodsType]',
        'identifier': 'str',
        'id_no': 'str',
        'id_no_internal': 'str',
        'id_no_internal_2': 'str',
        'importer': 'PersonType',
        'issuer': 'str',
        'issuing_authority': 'str',
        'issuing_signature': 'str',
        'issuing_officer': 'str',
        'issuing_place': 'str',
        'permit_type': 'str',
        'purpose': 'str',
        'purpose_value': 'str',
        'token': 'str',
        'stamp': 'str',
        'used': 'str',
        'subject_permitted': 'str'
    }

    attribute_map = {
        'authorized_location': 'authorized_location',
        'comment': 'comment',
        'conditions': 'conditions',
        'consignment_note': 'consignment_note',
        'country_export': 'country_export',
        'country_import': 'country_import',
        'customs': 'customs',
        'date_issued': 'date_issued',
        'date_valid': 'date_valid',
        'date_created': 'date_created',
        'date_modified': 'date_modified',
        'documentation': 'documentation',
        'exporter': 'exporter',
        'external': 'external',
        'creator': 'creator',
        'goods': 'goods',
        'identifier': 'identifier',
        'id_no': 'id_no',
        'id_no_internal': 'id_no_internal',
        'id_no_internal_2': 'id_no_internal_2',
        'importer': 'importer',
        'issuer': 'issuer',
        'issuing_authority': 'issuing_authority',
        'issuing_signature': 'issuing_signature',
        'issuing_officer': 'issuing_officer',
        'issuing_place': 'issuing_place',
        'permit_type': 'permit_type',
        'purpose': 'purpose',
        'purpose_value': 'purpose_value',
        'token': 'token',
        'stamp': 'stamp',
        'used': 'used',
        'subject_permitted': 'subject_permitted'
    }

    def __init__(self, authorized_location=None, comment=None, conditions=None, consignment_note=None, country_export=None, country_import=None, customs=None, date_issued=None, date_valid=None, date_created=None, date_modified=None, documentation=None, exporter=None, external=None, creator=None, goods=None, identifier=None, id_no=None, id_no_internal=None, id_no_internal_2=None, importer=None, issuer=None, issuing_authority=None, issuing_signature=None, issuing_officer=None, issuing_place=None, permit_type=None, purpose=None, purpose_value=None, token=None, stamp=None, used=None, subject_permitted=None):  # noqa: E501
        """CZCitesPermitType - a model defined in Swagger"""  # noqa: E501
        self._authorized_location = None
        self._comment = None
        self._conditions = None
        self._consignment_note = None
        self._country_export = None
        self._country_import = None
        self._customs = None
        self._date_issued = None
        self._date_valid = None
        self._date_created = None
        self._date_modified = None
        self._documentation = None
        self._exporter = None
        self._external = None
        self._creator = None
        self._goods = None
        self._identifier = None
        self._id_no = None
        self._id_no_internal = None
        self._id_no_internal_2 = None
        self._importer = None
        self._issuer = None
        self._issuing_authority = None
        self._issuing_signature = None
        self._issuing_officer = None
        self._issuing_place = None
        self._permit_type = None
        self._purpose = None
        self._purpose_value = None
        self._token = None
        self._stamp = None
        self._used = None
        self._subject_permitted = None
        self.discriminator = None
        if authorized_location is not None:
            self.authorized_location = authorized_location
        if comment is not None:
            self.comment = comment
        if conditions is not None:
            self.conditions = conditions
        if consignment_note is not None:
            self.consignment_note = consignment_note
        if country_export is not None:
            self.country_export = country_export
        if country_import is not None:
            self.country_import = country_import
        if customs is not None:
            self.customs = customs
        if date_issued is not None:
            self.date_issued = date_issued
        if date_valid is not None:
            self.date_valid = date_valid
        if date_created is not None:
            self.date_created = date_created
        if date_modified is not None:
            self.date_modified = date_modified
        if documentation is not None:
            self.documentation = documentation
        if exporter is not None:
            self.exporter = exporter
        if external is not None:
            self.external = external
        if creator is not None:
            self.creator = creator
        if goods is not None:
            self.goods = goods
        if identifier is not None:
            self.identifier = identifier
        if id_no is not None:
            self.id_no = id_no
        if id_no_internal is not None:
            self.id_no_internal = id_no_internal
        if id_no_internal_2 is not None:
            self.id_no_internal_2 = id_no_internal_2
        if importer is not None:
            self.importer = importer
        if issuer is not None:
            self.issuer = issuer
        if issuing_authority is not None:
            self.issuing_authority = issuing_authority
        if issuing_signature is not None:
            self.issuing_signature = issuing_signature
        if issuing_officer is not None:
            self.issuing_officer = issuing_officer
        if issuing_place is not None:
            self.issuing_place = issuing_place
        if permit_type is not None:
            self.permit_type = permit_type
        if purpose is not None:
            self.purpose = purpose
        if purpose_value is not None:
            self.purpose_value = purpose_value
        if token is not None:
            self.token = token
        if stamp is not None:
            self.stamp = stamp
        if used is not None:
            self.used = used
        if subject_permitted is not None:
            self.subject_permitted = subject_permitted

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

        6. Povolené místo určení živých exemplářů druhů z Přílohy A odebraných z volné přírody   # noqa: E501

        :return: The authorized_location of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._authorized_location

    @authorized_location.setter
    def authorized_location(self, authorized_location):
        """Sets the authorized_location of this CZCitesPermitType.

        6. Povolené místo určení živých exemplářů druhů z Přílohy A odebraných z volné přírody   # noqa: E501

        :param authorized_location: The authorized_location of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._authorized_location = authorized_location

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

        Poznámky  # noqa: E501

        :return: The comment of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._comment

    @comment.setter
    def comment(self, comment):
        """Sets the comment of this CZCitesPermitType.

        Poznámky  # noqa: E501

        :param comment: The comment of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._comment = comment

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


        :return: The conditions of this CZCitesPermitType.  # noqa: E501
        :rtype: PermitConditionsType
        """
        return self._conditions

    @conditions.setter
    def conditions(self, conditions):
        """Sets the conditions of this CZCitesPermitType.


        :param conditions: The conditions of this CZCitesPermitType.  # noqa: E501
        :type: PermitConditionsType
        """

        self._conditions = conditions

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

        26. Nákladní List/letecký přepravní list číslo  # noqa: E501

        :return: The consignment_note of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._consignment_note

    @consignment_note.setter
    def consignment_note(self, consignment_note):
        """Sets the consignment_note of this CZCitesPermitType.

        26. Nákladní List/letecký přepravní list číslo  # noqa: E501

        :param consignment_note: The consignment_note of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._consignment_note = consignment_note

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

        Země (zpětného) vývozu  # noqa: E501

        :return: The country_export of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._country_export

    @country_export.setter
    def country_export(self, country_export):
        """Sets the country_export of this CZCitesPermitType.

        Země (zpětného) vývozu  # noqa: E501

        :param country_export: The country_export of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._country_export = country_export

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

        Země dovozu  # noqa: E501

        :return: The country_import of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._country_import

    @country_import.setter
    def country_import(self, country_import):
        """Sets the country_import of this CZCitesPermitType.

        Země dovozu  # noqa: E501

        :param country_import: The country_import of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._country_import = country_import

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


        :return: The customs of this CZCitesPermitType.  # noqa: E501
        :rtype: CustomsPermitType
        """
        return self._customs

    @customs.setter
    def customs(self, customs):
        """Sets the customs of this CZCitesPermitType.


        :param customs: The customs of this CZCitesPermitType.  # noqa: E501
        :type: CustomsPermitType
        """

        self._customs = customs

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

        Datum vydání  # noqa: E501

        :return: The date_issued of this CZCitesPermitType.  # noqa: E501
        :rtype: date
        """
        return self._date_issued

    @date_issued.setter
    def date_issued(self, date_issued):
        """Sets the date_issued of this CZCitesPermitType.

        Datum vydání  # noqa: E501

        :param date_issued: The date_issued of this CZCitesPermitType.  # noqa: E501
        :type: date
        """

        self._date_issued = date_issued

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

        Datum platnosti  # noqa: E501

        :return: The date_valid of this CZCitesPermitType.  # noqa: E501
        :rtype: date
        """
        return self._date_valid

    @date_valid.setter
    def date_valid(self, date_valid):
        """Sets the date_valid of this CZCitesPermitType.

        Datum platnosti  # noqa: E501

        :param date_valid: The date_valid of this CZCitesPermitType.  # noqa: E501
        :type: date
        """

        self._date_valid = date_valid

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

        Datum vytvoření datové položky  # noqa: E501

        :return: The date_created of this CZCitesPermitType.  # noqa: E501
        :rtype: datetime
        """
        return self._date_created

    @date_created.setter
    def date_created(self, date_created):
        """Sets the date_created of this CZCitesPermitType.

        Datum vytvoření datové položky  # noqa: E501

        :param date_created: The date_created of this CZCitesPermitType.  # noqa: E501
        :type: datetime
        """

        self._date_created = date_created

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

        Datum poslední úpravy datové položky  # noqa: E501

        :return: The date_modified of this CZCitesPermitType.  # noqa: E501
        :rtype: datetime
        """
        return self._date_modified

    @date_modified.setter
    def date_modified(self, date_modified):
        """Sets the date_modified of this CZCitesPermitType.

        Datum poslední úpravy datové položky  # noqa: E501

        :param date_modified: The date_modified of this CZCitesPermitType.  # noqa: E501
        :type: datetime
        """

        self._date_modified = date_modified

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

        24. Doklady k (zpětnému) vývozu ze země (zpětného) vývozu  # noqa: E501

        :return: The documentation of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._documentation

    @documentation.setter
    def documentation(self, documentation):
        """Sets the documentation of this CZCitesPermitType.

        24. Doklady k (zpětnému) vývozu ze země (zpětného) vývozu  # noqa: E501

        :param documentation: The documentation of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._documentation = documentation

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


        :return: The exporter of this CZCitesPermitType.  # noqa: E501
        :rtype: PersonType
        """
        return self._exporter

    @exporter.setter
    def exporter(self, exporter):
        """Sets the exporter of this CZCitesPermitType.


        :param exporter: The exporter of this CZCitesPermitType.  # noqa: E501
        :type: PersonType
        """

        self._exporter = exporter

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

        Externí permit  # noqa: E501

        :return: The external of this CZCitesPermitType.  # noqa: E501
        :rtype: bool
        """
        return self._external

    @external.setter
    def external(self, external):
        """Sets the external of this CZCitesPermitType.

        Externí permit  # noqa: E501

        :param external: The external of this CZCitesPermitType.  # noqa: E501
        :type: bool
        """

        self._external = external

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

        Tvůrce datové položky  # noqa: E501

        :return: The creator of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._creator

    @creator.setter
    def creator(self, creator):
        """Sets the creator of this CZCitesPermitType.

        Tvůrce datové položky  # noqa: E501

        :param creator: The creator of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._creator = creator

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

        Položky permitu (zboží)  # noqa: E501

        :return: The goods of this CZCitesPermitType.  # noqa: E501
        :rtype: list[GoodsType]
        """
        return self._goods

    @goods.setter
    def goods(self, goods):
        """Sets the goods of this CZCitesPermitType.

        Položky permitu (zboží)  # noqa: E501

        :param goods: The goods of this CZCitesPermitType.  # noqa: E501
        :type: list[GoodsType]
        """

        self._goods = goods

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

        Jednoznačný identifikátor datové položky (PID)  # noqa: E501

        :return: The identifier of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._identifier

    @identifier.setter
    def identifier(self, identifier):
        """Sets the identifier of this CZCitesPermitType.

        Jednoznačný identifikátor datové položky (PID)  # noqa: E501

        :param identifier: The identifier of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._identifier = identifier

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

        Číslo permitu  # noqa: E501

        :return: The id_no of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._id_no

    @id_no.setter
    def id_no(self, id_no):
        """Sets the id_no of this CZCitesPermitType.

        Číslo permitu  # noqa: E501

        :param id_no: The id_no of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._id_no = id_no

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

        Číslo jednací MŽP  # noqa: E501

        :return: The id_no_internal of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._id_no_internal

    @id_no_internal.setter
    def id_no_internal(self, id_no_internal):
        """Sets the id_no_internal of this CZCitesPermitType.

        Číslo jednací MŽP  # noqa: E501

        :param id_no_internal: The id_no_internal of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._id_no_internal = id_no_internal

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

        Číslo jednací 2 MŽP  # noqa: E501

        :return: The id_no_internal_2 of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._id_no_internal_2

    @id_no_internal_2.setter
    def id_no_internal_2(self, id_no_internal_2):
        """Sets the id_no_internal_2 of this CZCitesPermitType.

        Číslo jednací 2 MŽP  # noqa: E501

        :param id_no_internal_2: The id_no_internal_2 of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._id_no_internal_2 = id_no_internal_2

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


        :return: The importer of this CZCitesPermitType.  # noqa: E501
        :rtype: PersonType
        """
        return self._importer

    @importer.setter
    def importer(self, importer):
        """Sets the importer of this CZCitesPermitType.


        :param importer: The importer of this CZCitesPermitType.  # noqa: E501
        :type: PersonType
        """

        self._importer = importer

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

        Vydávající úředník  # noqa: E501

        :return: The issuer of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._issuer

    @issuer.setter
    def issuer(self, issuer):
        """Sets the issuer of this CZCitesPermitType.

        Vydávající úředník  # noqa: E501

        :param issuer: The issuer of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._issuer = issuer

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

        Vydávající autorita  # noqa: E501

        :return: The issuing_authority of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._issuing_authority

    @issuing_authority.setter
    def issuing_authority(self, issuing_authority):
        """Sets the issuing_authority of this CZCitesPermitType.

        Vydávající autorita  # noqa: E501

        :param issuing_authority: The issuing_authority of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._issuing_authority = issuing_authority

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

        Podpis a úřední razítko  # noqa: E501

        :return: The issuing_signature of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._issuing_signature

    @issuing_signature.setter
    def issuing_signature(self, issuing_signature):
        """Sets the issuing_signature of this CZCitesPermitType.

        Podpis a úřední razítko  # noqa: E501

        :param issuing_signature: The issuing_signature of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._issuing_signature = issuing_signature

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

        Jméno vydávajícího úředníka  # noqa: E501

        :return: The issuing_officer of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._issuing_officer

    @issuing_officer.setter
    def issuing_officer(self, issuing_officer):
        """Sets the issuing_officer of this CZCitesPermitType.

        Jméno vydávajícího úředníka  # noqa: E501

        :param issuing_officer: The issuing_officer of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._issuing_officer = issuing_officer

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

        Místo vydání  # noqa: E501

        :return: The issuing_place of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._issuing_place

    @issuing_place.setter
    def issuing_place(self, issuing_place):
        """Sets the issuing_place of this CZCitesPermitType.

        Místo vydání  # noqa: E501

        :param issuing_place: The issuing_place of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._issuing_place = issuing_place

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


        :return: The permit_type of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._permit_type

    @permit_type.setter
    def permit_type(self, permit_type):
        """Sets the permit_type of this CZCitesPermitType.


        :param permit_type: The permit_type of this CZCitesPermitType.  # noqa: E501
        :type: str
        """
        allowed_values = ["EXPORT", "IMPORT", "RE-EXPORT", "OTHER"]  # noqa: E501
        if permit_type not in allowed_values:
            raise ValueError(
                "Invalid value for `permit_type` ({0}), must be one of {1}"  # noqa: E501
                .format(permit_type, allowed_values)
            )

        self._permit_type = permit_type

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

        Kód účelu - pouze pro EU-CITES  # noqa: E501

        :return: The purpose of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._purpose

    @purpose.setter
    def purpose(self, purpose):
        """Sets the purpose of this CZCitesPermitType.

        Kód účelu - pouze pro EU-CITES  # noqa: E501

        :param purpose: The purpose of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._purpose = purpose

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

        Textová hodnota účelu - pouze pro EU-CITES  # noqa: E501

        :return: The purpose_value of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._purpose_value

    @purpose_value.setter
    def purpose_value(self, purpose_value):
        """Sets the purpose_value of this CZCitesPermitType.

        Textová hodnota účelu - pouze pro EU-CITES  # noqa: E501

        :param purpose_value: The purpose_value of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._purpose_value = purpose_value

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

        Token pro EU-CITES  # noqa: E501

        :return: The token of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._token

    @token.setter
    def token(self, token):
        """Sets the token of this CZCitesPermitType.

        Token pro EU-CITES  # noqa: E501

        :param token: The token of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._token = token

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

        Číslo bezpečnostní známky  # noqa: E501

        :return: The stamp of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._stamp

    @stamp.setter
    def stamp(self, stamp):
        """Sets the stamp of this CZCitesPermitType.

        Číslo bezpečnostní známky  # noqa: E501

        :param stamp: The stamp of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._stamp = stamp

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

        indikátor použití permitu (vydán, použit, vrácen, zrušen)  # noqa: E501

        :return: The used of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._used

    @used.setter
    def used(self, used):
        """Sets the used of this CZCitesPermitType.

        indikátor použití permitu (vydán, použit, vrácen, zrušen)  # noqa: E501

        :param used: The used of this CZCitesPermitType.  # noqa: E501
        :type: str
        """
        allowed_values = ["I", "U", "R", "S", "", None]  # noqa: E501
        if used not in allowed_values:
            raise ValueError(
                "Invalid value for `used` ({0}), must be one of {1}"  # noqa: E501
                .format(used, allowed_values)
            )

        self._used = used

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

        Předmět permitu  # noqa: E501

        :return: The subject_permitted of this CZCitesPermitType.  # noqa: E501
        :rtype: str
        """
        return self._subject_permitted

    @subject_permitted.setter
    def subject_permitted(self, subject_permitted):
        """Sets the subject_permitted of this CZCitesPermitType.

        Předmět permitu  # noqa: E501

        :param subject_permitted: The subject_permitted of this CZCitesPermitType.  # noqa: E501
        :type: str
        """

        self._subject_permitted = subject_permitted

    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(CZCitesPermitType, 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, CZCitesPermitType):
            return False

        return self.__dict__ == other.__dict__

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