# coding: utf-8

"""
    Prompt.io APIs

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: 1.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class AnalyticsBulkActionReportModel(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 = {
        'timestamp_epoch': 'int',
        'actions_total': 'int',
        'actions_manual': 'int',
        'actions_auto': 'int',
        'contacts_targeted_manual': 'int',
        'contacts_targeted_auto': 'int',
        'contacts_processed_manual': 'int',
        'contacts_processed_auto': 'int',
        'contacts_errored_manual': 'int',
        'contacts_errored_auto': 'int',
        'contacts_resolved_manual': 'int',
        'contacts_resolved_auto': 'int',
        'outgoing_messages_manual': 'int',
        'outgoing_messages_auto': 'int',
        'outgoing_segments_manual': 'int',
        'outgoing_segments_auto': 'int'
    }

    attribute_map = {
        'timestamp_epoch': 'timestampEpoch',
        'actions_total': 'actionsTotal',
        'actions_manual': 'actionsManual',
        'actions_auto': 'actionsAuto',
        'contacts_targeted_manual': 'contactsTargetedManual',
        'contacts_targeted_auto': 'contactsTargetedAuto',
        'contacts_processed_manual': 'contactsProcessedManual',
        'contacts_processed_auto': 'contactsProcessedAuto',
        'contacts_errored_manual': 'contactsErroredManual',
        'contacts_errored_auto': 'contactsErroredAuto',
        'contacts_resolved_manual': 'contactsResolvedManual',
        'contacts_resolved_auto': 'contactsResolvedAuto',
        'outgoing_messages_manual': 'outgoingMessagesManual',
        'outgoing_messages_auto': 'outgoingMessagesAuto',
        'outgoing_segments_manual': 'outgoingSegmentsManual',
        'outgoing_segments_auto': 'outgoingSegmentsAuto'
    }

    def __init__(self, timestamp_epoch=None, actions_total=None, actions_manual=None, actions_auto=None, contacts_targeted_manual=None, contacts_targeted_auto=None, contacts_processed_manual=None, contacts_processed_auto=None, contacts_errored_manual=None, contacts_errored_auto=None, contacts_resolved_manual=None, contacts_resolved_auto=None, outgoing_messages_manual=None, outgoing_messages_auto=None, outgoing_segments_manual=None, outgoing_segments_auto=None):  # noqa: E501
        """AnalyticsBulkActionReportModel - a model defined in Swagger"""  # noqa: E501
        self._timestamp_epoch = None
        self._actions_total = None
        self._actions_manual = None
        self._actions_auto = None
        self._contacts_targeted_manual = None
        self._contacts_targeted_auto = None
        self._contacts_processed_manual = None
        self._contacts_processed_auto = None
        self._contacts_errored_manual = None
        self._contacts_errored_auto = None
        self._contacts_resolved_manual = None
        self._contacts_resolved_auto = None
        self._outgoing_messages_manual = None
        self._outgoing_messages_auto = None
        self._outgoing_segments_manual = None
        self._outgoing_segments_auto = None
        self.discriminator = None
        if timestamp_epoch is not None:
            self.timestamp_epoch = timestamp_epoch
        if actions_total is not None:
            self.actions_total = actions_total
        if actions_manual is not None:
            self.actions_manual = actions_manual
        if actions_auto is not None:
            self.actions_auto = actions_auto
        if contacts_targeted_manual is not None:
            self.contacts_targeted_manual = contacts_targeted_manual
        if contacts_targeted_auto is not None:
            self.contacts_targeted_auto = contacts_targeted_auto
        if contacts_processed_manual is not None:
            self.contacts_processed_manual = contacts_processed_manual
        if contacts_processed_auto is not None:
            self.contacts_processed_auto = contacts_processed_auto
        if contacts_errored_manual is not None:
            self.contacts_errored_manual = contacts_errored_manual
        if contacts_errored_auto is not None:
            self.contacts_errored_auto = contacts_errored_auto
        if contacts_resolved_manual is not None:
            self.contacts_resolved_manual = contacts_resolved_manual
        if contacts_resolved_auto is not None:
            self.contacts_resolved_auto = contacts_resolved_auto
        if outgoing_messages_manual is not None:
            self.outgoing_messages_manual = outgoing_messages_manual
        if outgoing_messages_auto is not None:
            self.outgoing_messages_auto = outgoing_messages_auto
        if outgoing_segments_manual is not None:
            self.outgoing_segments_manual = outgoing_segments_manual
        if outgoing_segments_auto is not None:
            self.outgoing_segments_auto = outgoing_segments_auto

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

        The timestamp at the start of the default group-by window as a Unix timestamp  # noqa: E501

        :return: The timestamp_epoch of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._timestamp_epoch

    @timestamp_epoch.setter
    def timestamp_epoch(self, timestamp_epoch):
        """Sets the timestamp_epoch of this AnalyticsBulkActionReportModel.

        The timestamp at the start of the default group-by window as a Unix timestamp  # noqa: E501

        :param timestamp_epoch: The timestamp_epoch of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._timestamp_epoch = timestamp_epoch

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

        The total number of Actions Created during the default group-by window.  # noqa: E501

        :return: The actions_total of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._actions_total

    @actions_total.setter
    def actions_total(self, actions_total):
        """Sets the actions_total of this AnalyticsBulkActionReportModel.

        The total number of Actions Created during the default group-by window.  # noqa: E501

        :param actions_total: The actions_total of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._actions_total = actions_total

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

        The number of Manual (P2P) Actions created during the default group-by window.  # noqa: E501

        :return: The actions_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._actions_manual

    @actions_manual.setter
    def actions_manual(self, actions_manual):
        """Sets the actions_manual of this AnalyticsBulkActionReportModel.

        The number of Manual (P2P) Actions created during the default group-by window.  # noqa: E501

        :param actions_manual: The actions_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._actions_manual = actions_manual

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

        The number of Automatic (A2P) Actions created during the default group-by window.  # noqa: E501

        :return: The actions_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._actions_auto

    @actions_auto.setter
    def actions_auto(self, actions_auto):
        """Sets the actions_auto of this AnalyticsBulkActionReportModel.

        The number of Automatic (A2P) Actions created during the default group-by window.  # noqa: E501

        :param actions_auto: The actions_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._actions_auto = actions_auto

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

        The number of Manual (P2P) Contacts targeted during the default group-by window.  # noqa: E501

        :return: The contacts_targeted_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._contacts_targeted_manual

    @contacts_targeted_manual.setter
    def contacts_targeted_manual(self, contacts_targeted_manual):
        """Sets the contacts_targeted_manual of this AnalyticsBulkActionReportModel.

        The number of Manual (P2P) Contacts targeted during the default group-by window.  # noqa: E501

        :param contacts_targeted_manual: The contacts_targeted_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._contacts_targeted_manual = contacts_targeted_manual

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

        The number of Automatic (A2P) Contacts targeted during the default group-by window.  # noqa: E501

        :return: The contacts_targeted_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._contacts_targeted_auto

    @contacts_targeted_auto.setter
    def contacts_targeted_auto(self, contacts_targeted_auto):
        """Sets the contacts_targeted_auto of this AnalyticsBulkActionReportModel.

        The number of Automatic (A2P) Contacts targeted during the default group-by window.  # noqa: E501

        :param contacts_targeted_auto: The contacts_targeted_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._contacts_targeted_auto = contacts_targeted_auto

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

        The number of Manual (P2P) Contacts processed during the default group-by window.  # noqa: E501

        :return: The contacts_processed_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._contacts_processed_manual

    @contacts_processed_manual.setter
    def contacts_processed_manual(self, contacts_processed_manual):
        """Sets the contacts_processed_manual of this AnalyticsBulkActionReportModel.

        The number of Manual (P2P) Contacts processed during the default group-by window.  # noqa: E501

        :param contacts_processed_manual: The contacts_processed_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._contacts_processed_manual = contacts_processed_manual

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

        The number of Automatic (A2P) Contacts processed during the default group-by window.  # noqa: E501

        :return: The contacts_processed_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._contacts_processed_auto

    @contacts_processed_auto.setter
    def contacts_processed_auto(self, contacts_processed_auto):
        """Sets the contacts_processed_auto of this AnalyticsBulkActionReportModel.

        The number of Automatic (A2P) Contacts processed during the default group-by window.  # noqa: E501

        :param contacts_processed_auto: The contacts_processed_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._contacts_processed_auto = contacts_processed_auto

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

        The number of Manual (P2P) Contacts errored during the default group-by window.  # noqa: E501

        :return: The contacts_errored_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._contacts_errored_manual

    @contacts_errored_manual.setter
    def contacts_errored_manual(self, contacts_errored_manual):
        """Sets the contacts_errored_manual of this AnalyticsBulkActionReportModel.

        The number of Manual (P2P) Contacts errored during the default group-by window.  # noqa: E501

        :param contacts_errored_manual: The contacts_errored_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._contacts_errored_manual = contacts_errored_manual

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

        The number of Automatic (A2P) Contacts errored during the default group-by window.  # noqa: E501

        :return: The contacts_errored_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._contacts_errored_auto

    @contacts_errored_auto.setter
    def contacts_errored_auto(self, contacts_errored_auto):
        """Sets the contacts_errored_auto of this AnalyticsBulkActionReportModel.

        The number of Automatic (A2P) Contacts errored during the default group-by window.  # noqa: E501

        :param contacts_errored_auto: The contacts_errored_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._contacts_errored_auto = contacts_errored_auto

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

        The number of Manual (P2P) Contacts resolved during the default group-by window.  # noqa: E501

        :return: The contacts_resolved_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._contacts_resolved_manual

    @contacts_resolved_manual.setter
    def contacts_resolved_manual(self, contacts_resolved_manual):
        """Sets the contacts_resolved_manual of this AnalyticsBulkActionReportModel.

        The number of Manual (P2P) Contacts resolved during the default group-by window.  # noqa: E501

        :param contacts_resolved_manual: The contacts_resolved_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._contacts_resolved_manual = contacts_resolved_manual

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

        The number of Automatic (A2P) Contacts resolved during the default group-by window.  # noqa: E501

        :return: The contacts_resolved_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._contacts_resolved_auto

    @contacts_resolved_auto.setter
    def contacts_resolved_auto(self, contacts_resolved_auto):
        """Sets the contacts_resolved_auto of this AnalyticsBulkActionReportModel.

        The number of Automatic (A2P) Contacts resolved during the default group-by window.  # noqa: E501

        :param contacts_resolved_auto: The contacts_resolved_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._contacts_resolved_auto = contacts_resolved_auto

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

        The number of Messages sent to Manual (P2P) Contacts during the default group-by window.  # noqa: E501

        :return: The outgoing_messages_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._outgoing_messages_manual

    @outgoing_messages_manual.setter
    def outgoing_messages_manual(self, outgoing_messages_manual):
        """Sets the outgoing_messages_manual of this AnalyticsBulkActionReportModel.

        The number of Messages sent to Manual (P2P) Contacts during the default group-by window.  # noqa: E501

        :param outgoing_messages_manual: The outgoing_messages_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._outgoing_messages_manual = outgoing_messages_manual

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

        The number of Messages sent to Automatic (A2P) Contacts during the default group-by window.  # noqa: E501

        :return: The outgoing_messages_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._outgoing_messages_auto

    @outgoing_messages_auto.setter
    def outgoing_messages_auto(self, outgoing_messages_auto):
        """Sets the outgoing_messages_auto of this AnalyticsBulkActionReportModel.

        The number of Messages sent to Automatic (A2P) Contacts during the default group-by window.  # noqa: E501

        :param outgoing_messages_auto: The outgoing_messages_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._outgoing_messages_auto = outgoing_messages_auto

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

        The number of Segments sent to Manual (P2P) Contacts during the default group-by window.  # noqa: E501

        :return: The outgoing_segments_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._outgoing_segments_manual

    @outgoing_segments_manual.setter
    def outgoing_segments_manual(self, outgoing_segments_manual):
        """Sets the outgoing_segments_manual of this AnalyticsBulkActionReportModel.

        The number of Segments sent to Manual (P2P) Contacts during the default group-by window.  # noqa: E501

        :param outgoing_segments_manual: The outgoing_segments_manual of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._outgoing_segments_manual = outgoing_segments_manual

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

        The number of Segments sent to Automatic (A2P) Contacts during the default group-by window.  # noqa: E501

        :return: The outgoing_segments_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :rtype: int
        """
        return self._outgoing_segments_auto

    @outgoing_segments_auto.setter
    def outgoing_segments_auto(self, outgoing_segments_auto):
        """Sets the outgoing_segments_auto of this AnalyticsBulkActionReportModel.

        The number of Segments sent to Automatic (A2P) Contacts during the default group-by window.  # noqa: E501

        :param outgoing_segments_auto: The outgoing_segments_auto of this AnalyticsBulkActionReportModel.  # noqa: E501
        :type: int
        """

        self._outgoing_segments_auto = outgoing_segments_auto

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

        return self.__dict__ == other.__dict__

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