# coding: utf-8

"""
    Datový konektor Domino pro eSMLOUVY

    Toto je datový konektor umožňující datovou výměnu mezi obchodní logikou aplikace eSMLOUVY a datovým serverem HCL Domino.  Ovládá se pomocí REST API   # 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 DocumentWorkflow(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 = {
        'date_authorized': 'datetime',
        'date_send_sdr': 'datetime',
        'date_send_po1': 'datetime',
        'date_send_po2': 'datetime',
        'date_send_rsfl': 'datetime',
        'date_send_consultant': 'datetime',
        'date_send_or': 'datetime',
        'date_send_or_ph': 'datetime',
        'date_send_orr': 'datetime',
        'date_sr': 'datetime',
        'date_sor': 'datetime',
        'date_sor_ph': 'datetime',
        'date_spo2': 'datetime',
        'date_sor2': 'datetime'
    }

    attribute_map = {
        'date_authorized': 'date_authorized',
        'date_send_sdr': 'date_send_sdr',
        'date_send_po1': 'date_send_po1',
        'date_send_po2': 'date_send_po2',
        'date_send_rsfl': 'date_send_rsfl',
        'date_send_consultant': 'date_send_consultant',
        'date_send_or': 'date_send_or',
        'date_send_or_ph': 'date_send_or_ph',
        'date_send_orr': 'date_send_orr',
        'date_sr': 'date_sr',
        'date_sor': 'date_sor',
        'date_sor_ph': 'date_sor_ph',
        'date_spo2': 'date_spo2',
        'date_sor2': 'date_sor2'
    }

    def __init__(self, date_authorized=None, date_send_sdr=None, date_send_po1=None, date_send_po2=None, date_send_rsfl=None, date_send_consultant=None, date_send_or=None, date_send_or_ph=None, date_send_orr=None, date_sr=None, date_sor=None, date_sor_ph=None, date_spo2=None, date_sor2=None):  # noqa: E501
        """DocumentWorkflow - a model defined in Swagger"""  # noqa: E501
        self._date_authorized = None
        self._date_send_sdr = None
        self._date_send_po1 = None
        self._date_send_po2 = None
        self._date_send_rsfl = None
        self._date_send_consultant = None
        self._date_send_or = None
        self._date_send_or_ph = None
        self._date_send_orr = None
        self._date_sr = None
        self._date_sor = None
        self._date_sor_ph = None
        self._date_spo2 = None
        self._date_sor2 = None
        self.discriminator = None
        if date_authorized is not None:
            self.date_authorized = date_authorized
        if date_send_sdr is not None:
            self.date_send_sdr = date_send_sdr
        if date_send_po1 is not None:
            self.date_send_po1 = date_send_po1
        if date_send_po2 is not None:
            self.date_send_po2 = date_send_po2
        if date_send_rsfl is not None:
            self.date_send_rsfl = date_send_rsfl
        if date_send_consultant is not None:
            self.date_send_consultant = date_send_consultant
        if date_send_or is not None:
            self.date_send_or = date_send_or
        if date_send_or_ph is not None:
            self.date_send_or_ph = date_send_or_ph
        if date_send_orr is not None:
            self.date_send_orr = date_send_orr
        if date_sr is not None:
            self.date_sr = date_sr
        if date_sor is not None:
            self.date_sor = date_sor
        if date_sor_ph is not None:
            self.date_sor_ph = date_sor_ph
        if date_spo2 is not None:
            self.date_spo2 = date_spo2
        if date_sor2 is not None:
            self.date_sor2 = date_sor2

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

        date_authorized - datum autorizace (zpracovatel)  # noqa: E501

        :return: The date_authorized of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_authorized

    @date_authorized.setter
    def date_authorized(self, date_authorized):
        """Sets the date_authorized of this DocumentWorkflow.

        date_authorized - datum autorizace (zpracovatel)  # noqa: E501

        :param date_authorized: The date_authorized of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_authorized = date_authorized

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

        date_send_sdr  zasláno správci dílčího rozpočtu  # noqa: E501

        :return: The date_send_sdr of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_send_sdr

    @date_send_sdr.setter
    def date_send_sdr(self, date_send_sdr):
        """Sets the date_send_sdr of this DocumentWorkflow.

        date_send_sdr  zasláno správci dílčího rozpočtu  # noqa: E501

        :param date_send_sdr: The date_send_sdr of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_send_sdr = date_send_sdr

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

        date_send_po1  zasláno příkazci operace  # noqa: E501

        :return: The date_send_po1 of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_send_po1

    @date_send_po1.setter
    def date_send_po1(self, date_send_po1):
        """Sets the date_send_po1 of this DocumentWorkflow.

        date_send_po1  zasláno příkazci operace  # noqa: E501

        :param date_send_po1: The date_send_po1 of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_send_po1 = date_send_po1

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

        date_send_po2  zasláno příkazci operace - náměstek  # noqa: E501

        :return: The date_send_po2 of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_send_po2

    @date_send_po2.setter
    def date_send_po2(self, date_send_po2):
        """Sets the date_send_po2 of this DocumentWorkflow.

        date_send_po2  zasláno příkazci operace - náměstek  # noqa: E501

        :param date_send_po2: The date_send_po2 of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_send_po2 = date_send_po2

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

        date_send_rsfl  zasláno náměstkovi - ŘSFL  # noqa: E501

        :return: The date_send_rsfl of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_send_rsfl

    @date_send_rsfl.setter
    def date_send_rsfl(self, date_send_rsfl):
        """Sets the date_send_rsfl of this DocumentWorkflow.

        date_send_rsfl  zasláno náměstkovi - ŘSFL  # noqa: E501

        :param date_send_rsfl: The date_send_rsfl of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_send_rsfl = date_send_rsfl

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

        date_send_consultant  zasláno poradci náměstka - ŘSFL  # noqa: E501

        :return: The date_send_consultant of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_send_consultant

    @date_send_consultant.setter
    def date_send_consultant(self, date_send_consultant):
        """Sets the date_send_consultant of this DocumentWorkflow.

        date_send_consultant  zasláno poradci náměstka - ŘSFL  # noqa: E501

        :param date_send_consultant: The date_send_consultant of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_send_consultant = date_send_consultant

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

        date_send_or  zasláno odboru rozpočtu  # noqa: E501

        :return: The date_send_or of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_send_or

    @date_send_or.setter
    def date_send_or(self, date_send_or):
        """Sets the date_send_or of this DocumentWorkflow.

        date_send_or  zasláno odboru rozpočtu  # noqa: E501

        :param date_send_or: The date_send_or of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_send_or = date_send_or

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

        date_send_or_ph  přiděleno právníkovi  # noqa: E501

        :return: The date_send_or_ph of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_send_or_ph

    @date_send_or_ph.setter
    def date_send_or_ph(self, date_send_or_ph):
        """Sets the date_send_or_ph of this DocumentWorkflow.

        date_send_or_ph  přiděleno právníkovi  # noqa: E501

        :param date_send_or_ph: The date_send_or_ph of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_send_or_ph = date_send_or_ph

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

        date_send_orr  příděleno rozpočtáři  # noqa: E501

        :return: The date_send_orr of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_send_orr

    @date_send_orr.setter
    def date_send_orr(self, date_send_orr):
        """Sets the date_send_orr of this DocumentWorkflow.

        date_send_orr  příděleno rozpočtáři  # noqa: E501

        :param date_send_orr: The date_send_orr of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_send_orr = date_send_orr

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

        date_sr  stanovisko rozpočtáře  # noqa: E501

        :return: The date_sr of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_sr

    @date_sr.setter
    def date_sr(self, date_sr):
        """Sets the date_sr of this DocumentWorkflow.

        date_sr  stanovisko rozpočtáře  # noqa: E501

        :param date_sr: The date_sr of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_sr = date_sr

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

        date_sor  stanovisko OR (managers)  # noqa: E501

        :return: The date_sor of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_sor

    @date_sor.setter
    def date_sor(self, date_sor):
        """Sets the date_sor of this DocumentWorkflow.

        date_sor  stanovisko OR (managers)  # noqa: E501

        :param date_sor: The date_sor of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_sor = date_sor

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

        date_sor_ph  přiděleno právníkovi  ??? jak se liší od date_send_or_ph  # noqa: E501

        :return: The date_sor_ph of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_sor_ph

    @date_sor_ph.setter
    def date_sor_ph(self, date_sor_ph):
        """Sets the date_sor_ph of this DocumentWorkflow.

        date_sor_ph  přiděleno právníkovi  ??? jak se liší od date_send_or_ph  # noqa: E501

        :param date_sor_ph: The date_sor_ph of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_sor_ph = date_sor_ph

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

        date_spo2  stanovisko příkazce operace2  # noqa: E501

        :return: The date_spo2 of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_spo2

    @date_spo2.setter
    def date_spo2(self, date_spo2):
        """Sets the date_spo2 of this DocumentWorkflow.

        date_spo2  stanovisko příkazce operace2  # noqa: E501

        :param date_spo2: The date_spo2 of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_spo2 = date_spo2

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

        date_sor2  stanovisko odboru rozpočtu 2  # noqa: E501

        :return: The date_sor2 of this DocumentWorkflow.  # noqa: E501
        :rtype: datetime
        """
        return self._date_sor2

    @date_sor2.setter
    def date_sor2(self, date_sor2):
        """Sets the date_sor2 of this DocumentWorkflow.

        date_sor2  stanovisko odboru rozpočtu 2  # noqa: E501

        :param date_sor2: The date_sor2 of this DocumentWorkflow.  # noqa: E501
        :type: datetime
        """

        self._date_sor2 = date_sor2

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

        return self.__dict__ == other.__dict__

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