text: # coding: utf-8
  
  """
      YNAB API Endpoints
  
      Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body.  API Documentation is at https://api.youneedabudget.com  # noqa: E501
  
      OpenAPI spec version: 1.0.0
      
      Generated by: https://github.com/swagger-api/swagger-codegen.git
  """
  
  
  import pprint
  import re  # noqa: F401
  
  import six
  
  
  class ScheduledTransactionSummary(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',
          'date_first': 'date',
          'date_next': 'date',
          'frequency': 'str',
          'amount': 'int',
          'account_id': 'str',
          'deleted': 'bool'
      }
  
      attribute_map = {
          'id': 'id',
          'date_first': 'date_first',
          'date_next': 'date_next',
          'frequency': 'frequency',
          'amount': 'amount',
          'account_id': 'account_id',
          'deleted': 'deleted'
      }
  
      def __init__(self, id=None, date_first=None, date_next=None, frequency=None, amount=None, account_id=None, deleted=None):  # noqa: E501
          """ScheduledTransactionSummary - a model defined in Swagger"""  # noqa: E501
  
          self._id = None
          self._date_first = None
          self._date_next = None
          self._frequency = None
          self._amount = None
          self._account_id = None
          self._deleted = None
          self.discriminator = None
  
          self.id = id
          self.date_first = date_first
          self.date_next = date_next
          self.frequency = frequency
          self.amount = amount
          self.account_id = account_id
          self.deleted = deleted
  
      @property
      def id(self):
          """Gets the id of this ScheduledTransactionSummary.  # noqa: E501
  
  
          :return: The id of this ScheduledTransactionSummary.  # noqa: E501
          :rtype: str
          """
          return self._id
  
      @id.setter
      def id(self, id):
          """Sets the id of this ScheduledTransactionSummary.
  
  
          :param id: The id of this ScheduledTransactionSummary.  # noqa: E501
          :type: str
          """
          if id is None:
              raise ValueError("Invalid value for `id`, must not be `None`")  # noqa: E501
  
          self._id = id
  
      @property
      def date_first(self):
          """Gets the date_first of this ScheduledTransactionSummary.  # noqa: E501
  
          The first date for which the Scheduled Transaction was scheduled.  # noqa: E501
  
          :return: The date_first of this ScheduledTransactionSummary.  # noqa: E501
          :rtype: date
          """
          return self._date_first
  
      @date_first.setter
      def date_first(self, date_first):
          """Sets the date_first of this ScheduledTransactionSummary.
  
          The first date for which the Scheduled Transaction was scheduled.  # noqa: E501
  
          :param date_first: The date_first of this ScheduledTransactionSummary.  # noqa: E501
          :type: date
          """
          if date_first is None:
              raise ValueError("Invalid value for `date_first`, must not be `None`")  # noqa: E501
  
          self._date_first = date_first
  
      @property
      def date_next(self):
          """Gets the date_next of this ScheduledTransactionSummary.  # noqa: E501
  
          The next date for which the Scheduled Transaction is scheduled.  # noqa: E501
  
          :return: The date_next of this ScheduledTransactionSummary.  # noqa: E501
          :rtype: date
          """
          return self._date_next
  
      @date_next.setter
      def date_next(self, date_next):
          """Sets the date_next of this ScheduledTransactionSummary.
  
          The next date for which the Scheduled Transaction is scheduled.  # noqa: E501
  
          :param date_next: The date_next of this ScheduledTransactionSummary.  # noqa: E501
          :type: date
          """
          if date_next is None:
              raise ValueError("Invalid value for `date_next`, must not be `None`")  # noqa: E501
  
          self._date_next = date_next
  
      @property
      def frequency(self):
          """Gets the frequency of this ScheduledTransactionSummary.  # noqa: E501
  
  
          :return: The frequency of this ScheduledTransactionSummary.  # noqa: E501
          :rtype: str
          """
          return self._frequency
  
      @frequency.setter
      def frequency(self, frequency):
          """Sets the frequency of this ScheduledTransactionSummary.
  
  
          :param frequency: The frequency of this ScheduledTransactionSummary.  # noqa: E501
          :type: str
          """
          if frequency is None:
              raise ValueError("Invalid value for `frequency`, must not be `None`")  # noqa: E501
          allowed_values = ["never", "daily", "weekly", "everyOtherWeek", "twiceAMonth", "every4Weeks", "monthly", "everyOtherMonth", "every3Months", "every4Months", "twiceAYear", "yearly", "everyOtherYear"]  # noqa: E501
          if frequency not in allowed_values:
              raise ValueError(
                  "Invalid value for `frequency` ({0}), must be one of {1}"  # noqa: E501
                  .format(frequency, allowed_values)
              )
  
          self._frequency = frequency
  
      @property
      def amount(self):
          """Gets the amount of this ScheduledTransactionSummary.  # noqa: E501
  
          The scheduled transaction amount in milliunits format  # noqa: E501
  
          :return: The amount of this ScheduledTransactionSummary.  # noqa: E501
          :rtype: int
          """
          return self._amount
  
      @amount.setter
      def amount(self, amount):
          """Sets the amount of this ScheduledTransactionSummary.
  
          The scheduled transaction amount in milliunits format  # noqa: E501
  
          :param amount: The amount of this ScheduledTransactionSummary.  # noqa: E501
          :type: int
          """
          if amount is None:
              raise ValueError("Invalid value for `amount`, must not be `None`")  # noqa: E501
  
          self._amount = amount
  
      @property
      def account_id(self):
          """Gets the account_id of this ScheduledTransactionSummary.  # noqa: E501
  
  
          :return: The account_id of this ScheduledTransactionSummary.  # noqa: E501
          :rtype: str
          """
          return self._account_id
  
      @account_id.setter
      def account_id(self, account_id):
          """Sets the account_id of this ScheduledTransactionSummary.
  
  
          :param account_id: The account_id of this ScheduledTransactionSummary.  # noqa: E501
          :type: str
          """
          if account_id is None:
              raise ValueError("Invalid value for `account_id`, must not be `None`")  # noqa: E501
  
          self._account_id = account_id
  
      @property
      def deleted(self):
          """Gets the deleted of this ScheduledTransactionSummary.  # noqa: E501
  
          Whether or not the scheduled transaction has been deleted.  Deleted scheduled transactions will only be included in delta requests.  # noqa: E501
  
          :return: The deleted of this ScheduledTransactionSummary.  # noqa: E501
          :rtype: bool
          """
          return self._deleted
  
      @deleted.setter
      def deleted(self, deleted):
          """Sets the deleted of this ScheduledTransactionSummary.
  
          Whether or not the scheduled transaction has been deleted.  Deleted scheduled transactions will only be included in delta requests.  # noqa: E501
  
          :param deleted: The deleted of this ScheduledTransactionSummary.  # noqa: E501
          :type: bool
          """
          if deleted is None:
              raise ValueError("Invalid value for `deleted`, must not be `None`")  # noqa: E501
  
          self._deleted = deleted
  
      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
  
          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, ScheduledTransactionSummary):
              return False
  
          return self.__dict__ == other.__dict__
  
      def __ne__(self, other):
          """Returns true if both objects are not equal"""
          return not self == other
  