text: # coding: utf-8
  
  """
      UltraCart Rest API V2
  
      UltraCart REST API Version 2  # noqa: E501
  
      OpenAPI spec version: 2.0.0
      Contact: support@ultracart.com
      Generated by: https://github.com/swagger-api/swagger-codegen.git
  """
  
  
  import pprint
  import re  # noqa: F401
  
  import six
  
  
  class RotatingTransactionGateway(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 = {
          'additional_native_currency_codes': 'list[RtgCurrency]',
          'auto_order_cancel_unless_response_name': 'str',
          'auto_order_cancel_unless_response_values': 'list[str]',
          'base_currency_code': 'str',
          'cascade_code': 'str',
          'cascade_codes': 'list[str]',
          'cascade_daily_auto_order_code': 'str',
          'charge_appears_on_statement_as': 'str',
          'code': 'str',
          'current_daily': 'float',
          'current_daily_auto_order': 'float',
          'current_monthly': 'float',
          'customer_service_email': 'str',
          'customer_service_phone': 'str',
          'day_of_month_restrictions': 'list[RtgDayOfMonthRestriction]',
          'day_of_week_restrictions': 'list[RtgDayOfWeekRestriction]',
          'deactivate_after_failures': 'int',
          'end_date': 'str',
          'gateways': 'list[TransactionGateway]',
          'maximum_daily': 'float',
          'maximum_daily_auto_order': 'float',
          'maximum_monthly': 'float',
          'next_daily_auto_order_reset': 'str',
          'next_daily_reset': 'str',
          'next_monthly_reset': 'str',
          'order_total': 'float',
          'order_total_comparison': 'str',
          'rebill_auto_orders_against_this_rtg_code': 'str',
          'reserve_days': 'int',
          'reserve_percentage': 'float',
          'reserve_refunded': 'bool',
          'reserves_released_through': 'str',
          'rotating_transaction_gateway_oid': 'int',
          'selected_gateway_name': 'str',
          'show_cascade_codes': 'bool',
          'show_merchant_account_profiles': 'bool',
          'start_date': 'str',
          'status': 'str',
          'theme_restrictions': 'list[RtgThemeRestriction]',
          'traffic_percentage': 'float',
          'trial_daily_amount': 'int',
          'trial_daily_limit': 'int',
          'trial_monthly_amount': 'int',
          'trial_monthly_limit': 'int'
      }
  
      attribute_map = {
          'additional_native_currency_codes': 'additional_native_currency_codes',
          'auto_order_cancel_unless_response_name': 'auto_order_cancel_unless_response_name',
          'auto_order_cancel_unless_response_values': 'auto_order_cancel_unless_response_values',
          'base_currency_code': 'base_currency_code',
          'cascade_code': 'cascade_code',
          'cascade_codes': 'cascade_codes',
          'cascade_daily_auto_order_code': 'cascade_daily_auto_order_code',
          'charge_appears_on_statement_as': 'charge_appears_on_statement_as',
          'code': 'code',
          'current_daily': 'current_daily',
          'current_daily_auto_order': 'current_daily_auto_order',
          'current_monthly': 'current_monthly',
          'customer_service_email': 'customer_service_email',
          'customer_service_phone': 'customer_service_phone',
          'day_of_month_restrictions': 'day_of_month_restrictions',
          'day_of_week_restrictions': 'day_of_week_restrictions',
          'deactivate_after_failures': 'deactivate_after_failures',
          'end_date': 'end_date',
          'gateways': 'gateways',
          'maximum_daily': 'maximum_daily',
          'maximum_daily_auto_order': 'maximum_daily_auto_order',
          'maximum_monthly': 'maximum_monthly',
          'next_daily_auto_order_reset': 'next_daily_auto_order_reset',
          'next_daily_reset': 'next_daily_reset',
          'next_monthly_reset': 'next_monthly_reset',
          'order_total': 'order_total',
          'order_total_comparison': 'order_total_comparison',
          'rebill_auto_orders_against_this_rtg_code': 'rebill_auto_orders_against_this_rtg_code',
          'reserve_days': 'reserve_days',
          'reserve_percentage': 'reserve_percentage',
          'reserve_refunded': 'reserve_refunded',
          'reserves_released_through': 'reserves_released_through',
          'rotating_transaction_gateway_oid': 'rotating_transaction_gateway_oid',
          'selected_gateway_name': 'selected_gateway_name',
          'show_cascade_codes': 'show_cascade_codes',
          'show_merchant_account_profiles': 'show_merchant_account_profiles',
          'start_date': 'start_date',
          'status': 'status',
          'theme_restrictions': 'theme_restrictions',
          'traffic_percentage': 'traffic_percentage',
          'trial_daily_amount': 'trial_daily_amount',
          'trial_daily_limit': 'trial_daily_limit',
          'trial_monthly_amount': 'trial_monthly_amount',
          'trial_monthly_limit': 'trial_monthly_limit'
      }
  
      def __init__(self, additional_native_currency_codes=None, auto_order_cancel_unless_response_name=None, auto_order_cancel_unless_response_values=None, base_currency_code=None, cascade_code=None, cascade_codes=None, cascade_daily_auto_order_code=None, charge_appears_on_statement_as=None, code=None, current_daily=None, current_daily_auto_order=None, current_monthly=None, customer_service_email=None, customer_service_phone=None, day_of_month_restrictions=None, day_of_week_restrictions=None, deactivate_after_failures=None, end_date=None, gateways=None, maximum_daily=None, maximum_daily_auto_order=None, maximum_monthly=None, next_daily_auto_order_reset=None, next_daily_reset=None, next_monthly_reset=None, order_total=None, order_total_comparison=None, rebill_auto_orders_against_this_rtg_code=None, reserve_days=None, reserve_percentage=None, reserve_refunded=None, reserves_released_through=None, rotating_transaction_gateway_oid=None, selected_gateway_name=None, show_cascade_codes=None, show_merchant_account_profiles=None, start_date=None, status=None, theme_restrictions=None, traffic_percentage=None, trial_daily_amount=None, trial_daily_limit=None, trial_monthly_amount=None, trial_monthly_limit=None):  # noqa: E501
          """RotatingTransactionGateway - a model defined in Swagger"""  # noqa: E501
  
          self._additional_native_currency_codes = None
          self._auto_order_cancel_unless_response_name = None
          self._auto_order_cancel_unless_response_values = None
          self._base_currency_code = None
          self._cascade_code = None
          self._cascade_codes = None
          self._cascade_daily_auto_order_code = None
          self._charge_appears_on_statement_as = None
          self._code = None
          self._current_daily = None
          self._current_daily_auto_order = None
          self._current_monthly = None
          self._customer_service_email = None
          self._customer_service_phone = None
          self._day_of_month_restrictions = None
          self._day_of_week_restrictions = None
          self._deactivate_after_failures = None
          self._end_date = None
          self._gateways = None
          self._maximum_daily = None
          self._maximum_daily_auto_order = None
          self._maximum_monthly = None
          self._next_daily_auto_order_reset = None
          self._next_daily_reset = None
          self._next_monthly_reset = None
          self._order_total = None
          self._order_total_comparison = None
          self._rebill_auto_orders_against_this_rtg_code = None
          self._reserve_days = None
          self._reserve_percentage = None
          self._reserve_refunded = None
          self._reserves_released_through = None
          self._rotating_transaction_gateway_oid = None
          self._selected_gateway_name = None
          self._show_cascade_codes = None
          self._show_merchant_account_profiles = None
          self._start_date = None
          self._status = None
          self._theme_restrictions = None
          self._traffic_percentage = None
          self._trial_daily_amount = None
          self._trial_daily_limit = None
          self._trial_monthly_amount = None
          self._trial_monthly_limit = None
          self.discriminator = None
  
          if additional_native_currency_codes is not None:
              self.additional_native_currency_codes = additional_native_currency_codes
          if auto_order_cancel_unless_response_name is not None:
              self.auto_order_cancel_unless_response_name = auto_order_cancel_unless_response_name
          if auto_order_cancel_unless_response_values is not None:
              self.auto_order_cancel_unless_response_values = auto_order_cancel_unless_response_values
          if base_currency_code is not None:
              self.base_currency_code = base_currency_code
          if cascade_code is not None:
              self.cascade_code = cascade_code
          if cascade_codes is not None:
              self.cascade_codes = cascade_codes
          if cascade_daily_auto_order_code is not None:
              self.cascade_daily_auto_order_code = cascade_daily_auto_order_code
          if charge_appears_on_statement_as is not None:
              self.charge_appears_on_statement_as = charge_appears_on_statement_as
          if code is not None:
              self.code = code
          if current_daily is not None:
              self.current_daily = current_daily
          if current_daily_auto_order is not None:
              self.current_daily_auto_order = current_daily_auto_order
          if current_monthly is not None:
              self.current_monthly = current_monthly
          if customer_service_email is not None:
              self.customer_service_email = customer_service_email
          if customer_service_phone is not None:
              self.customer_service_phone = customer_service_phone
          if day_of_month_restrictions is not None:
              self.day_of_month_restrictions = day_of_month_restrictions
          if day_of_week_restrictions is not None:
              self.day_of_week_restrictions = day_of_week_restrictions
          if deactivate_after_failures is not None:
              self.deactivate_after_failures = deactivate_after_failures
          if end_date is not None:
              self.end_date = end_date
          if gateways is not None:
              self.gateways = gateways
          if maximum_daily is not None:
              self.maximum_daily = maximum_daily
          if maximum_daily_auto_order is not None:
              self.maximum_daily_auto_order = maximum_daily_auto_order
          if maximum_monthly is not None:
              self.maximum_monthly = maximum_monthly
          if next_daily_auto_order_reset is not None:
              self.next_daily_auto_order_reset = next_daily_auto_order_reset
          if next_daily_reset is not None:
              self.next_daily_reset = next_daily_reset
          if next_monthly_reset is not None:
              self.next_monthly_reset = next_monthly_reset
          if order_total is not None:
              self.order_total = order_total
          if order_total_comparison is not None:
              self.order_total_comparison = order_total_comparison
          if rebill_auto_orders_against_this_rtg_code is not None:
              self.rebill_auto_orders_against_this_rtg_code = rebill_auto_orders_against_this_rtg_code
          if reserve_days is not None:
              self.reserve_days = reserve_days
          if reserve_percentage is not None:
              self.reserve_percentage = reserve_percentage
          if reserve_refunded is not None:
              self.reserve_refunded = reserve_refunded
          if reserves_released_through is not None:
              self.reserves_released_through = reserves_released_through
          if rotating_transaction_gateway_oid is not None:
              self.rotating_transaction_gateway_oid = rotating_transaction_gateway_oid
          if selected_gateway_name is not None:
              self.selected_gateway_name = selected_gateway_name
          if show_cascade_codes is not None:
              self.show_cascade_codes = show_cascade_codes
          if show_merchant_account_profiles is not None:
              self.show_merchant_account_profiles = show_merchant_account_profiles
          if start_date is not None:
              self.start_date = start_date
          if status is not None:
              self.status = status
          if theme_restrictions is not None:
              self.theme_restrictions = theme_restrictions
          if traffic_percentage is not None:
              self.traffic_percentage = traffic_percentage
          if trial_daily_amount is not None:
              self.trial_daily_amount = trial_daily_amount
          if trial_daily_limit is not None:
              self.trial_daily_limit = trial_daily_limit
          if trial_monthly_amount is not None:
              self.trial_monthly_amount = trial_monthly_amount
          if trial_monthly_limit is not None:
              self.trial_monthly_limit = trial_monthly_limit
  
      @property
      def additional_native_currency_codes(self):
          """Gets the additional_native_currency_codes of this RotatingTransactionGateway.  # noqa: E501
  
          An array of all currencies known to the UltraCart system and a boolean indicating whether this gateway supports that currency.  # noqa: E501
  
          :return: The additional_native_currency_codes of this RotatingTransactionGateway.  # noqa: E501
          :rtype: list[RtgCurrency]
          """
          return self._additional_native_currency_codes
  
      @additional_native_currency_codes.setter
      def additional_native_currency_codes(self, additional_native_currency_codes):
          """Sets the additional_native_currency_codes of this RotatingTransactionGateway.
  
          An array of all currencies known to the UltraCart system and a boolean indicating whether this gateway supports that currency.  # noqa: E501
  
          :param additional_native_currency_codes: The additional_native_currency_codes of this RotatingTransactionGateway.  # noqa: E501
          :type: list[RtgCurrency]
          """
  
          self._additional_native_currency_codes = additional_native_currency_codes
  
      @property
      def auto_order_cancel_unless_response_name(self):
          """Gets the auto_order_cancel_unless_response_name of this RotatingTransactionGateway.  # noqa: E501
  
          Advanced feature for canceling an auto order unless the transaction gateway response contains a field with this name.  If specified, this field must exist and the value must equal a value in the auto_order_cancel_unless_response_values array  # noqa: E501
  
          :return: The auto_order_cancel_unless_response_name of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._auto_order_cancel_unless_response_name
  
      @auto_order_cancel_unless_response_name.setter
      def auto_order_cancel_unless_response_name(self, auto_order_cancel_unless_response_name):
          """Sets the auto_order_cancel_unless_response_name of this RotatingTransactionGateway.
  
          Advanced feature for canceling an auto order unless the transaction gateway response contains a field with this name.  If specified, this field must exist and the value must equal a value in the auto_order_cancel_unless_response_values array  # noqa: E501
  
          :param auto_order_cancel_unless_response_name: The auto_order_cancel_unless_response_name of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._auto_order_cancel_unless_response_name = auto_order_cancel_unless_response_name
  
      @property
      def auto_order_cancel_unless_response_values(self):
          """Gets the auto_order_cancel_unless_response_values of this RotatingTransactionGateway.  # noqa: E501
  
          Advanced feature for canceling an auto order unless the transaction gateway response contains a field with the name specified in auto_order_cancel_unless_response_name.  If specified, this field must exist and the value must equal a value in this array.  If nothing matches, the auto order is canceled.  # noqa: E501
  
          :return: The auto_order_cancel_unless_response_values of this RotatingTransactionGateway.  # noqa: E501
          :rtype: list[str]
          """
          return self._auto_order_cancel_unless_response_values
  
      @auto_order_cancel_unless_response_values.setter
      def auto_order_cancel_unless_response_values(self, auto_order_cancel_unless_response_values):
          """Sets the auto_order_cancel_unless_response_values of this RotatingTransactionGateway.
  
          Advanced feature for canceling an auto order unless the transaction gateway response contains a field with the name specified in auto_order_cancel_unless_response_name.  If specified, this field must exist and the value must equal a value in this array.  If nothing matches, the auto order is canceled.  # noqa: E501
  
          :param auto_order_cancel_unless_response_values: The auto_order_cancel_unless_response_values of this RotatingTransactionGateway.  # noqa: E501
          :type: list[str]
          """
  
          self._auto_order_cancel_unless_response_values = auto_order_cancel_unless_response_values
  
      @property
      def base_currency_code(self):
          """Gets the base_currency_code of this RotatingTransactionGateway.  # noqa: E501
  
          The base currency code for your gateway.  For example, USD.  # noqa: E501
  
          :return: The base_currency_code of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._base_currency_code
  
      @base_currency_code.setter
      def base_currency_code(self, base_currency_code):
          """Sets the base_currency_code of this RotatingTransactionGateway.
  
          The base currency code for your gateway.  For example, USD.  # noqa: E501
  
          :param base_currency_code: The base_currency_code of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._base_currency_code = base_currency_code
  
      @property
      def cascade_code(self):
          """Gets the cascade_code of this RotatingTransactionGateway.  # noqa: E501
  
          Optional field specifying a different rotating gateway to use if this gateway fails to process the transaction.  # noqa: E501
  
          :return: The cascade_code of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._cascade_code
  
      @cascade_code.setter
      def cascade_code(self, cascade_code):
          """Sets the cascade_code of this RotatingTransactionGateway.
  
          Optional field specifying a different rotating gateway to use if this gateway fails to process the transaction.  # noqa: E501
  
          :param cascade_code: The cascade_code of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._cascade_code = cascade_code
  
      @property
      def cascade_codes(self):
          """Gets the cascade_codes of this RotatingTransactionGateway.  # noqa: E501
  
          A list of other rotating transaction gateways that can be used as a lookup to assign actions based on failures of this gateway  # noqa: E501
  
          :return: The cascade_codes of this RotatingTransactionGateway.  # noqa: E501
          :rtype: list[str]
          """
          return self._cascade_codes
  
      @cascade_codes.setter
      def cascade_codes(self, cascade_codes):
          """Sets the cascade_codes of this RotatingTransactionGateway.
  
          A list of other rotating transaction gateways that can be used as a lookup to assign actions based on failures of this gateway  # noqa: E501
  
          :param cascade_codes: The cascade_codes of this RotatingTransactionGateway.  # noqa: E501
          :type: list[str]
          """
  
          self._cascade_codes = cascade_codes
  
      @property
      def cascade_daily_auto_order_code(self):
          """Gets the cascade_daily_auto_order_code of this RotatingTransactionGateway.  # noqa: E501
  
          The code for the next rotating gateway that should be used when this gateway reaches a daily limit  # noqa: E501
  
          :return: The cascade_daily_auto_order_code of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._cascade_daily_auto_order_code
  
      @cascade_daily_auto_order_code.setter
      def cascade_daily_auto_order_code(self, cascade_daily_auto_order_code):
          """Sets the cascade_daily_auto_order_code of this RotatingTransactionGateway.
  
          The code for the next rotating gateway that should be used when this gateway reaches a daily limit  # noqa: E501
  
          :param cascade_daily_auto_order_code: The cascade_daily_auto_order_code of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._cascade_daily_auto_order_code = cascade_daily_auto_order_code
  
      @property
      def charge_appears_on_statement_as(self):
          """Gets the charge_appears_on_statement_as of this RotatingTransactionGateway.  # noqa: E501
  
          Optional field providing an alternate Charge Appears As value for this rotating gateway  # noqa: E501
  
          :return: The charge_appears_on_statement_as of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._charge_appears_on_statement_as
  
      @charge_appears_on_statement_as.setter
      def charge_appears_on_statement_as(self, charge_appears_on_statement_as):
          """Sets the charge_appears_on_statement_as of this RotatingTransactionGateway.
  
          Optional field providing an alternate Charge Appears As value for this rotating gateway  # noqa: E501
  
          :param charge_appears_on_statement_as: The charge_appears_on_statement_as of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._charge_appears_on_statement_as = charge_appears_on_statement_as
  
      @property
      def code(self):
          """Gets the code of this RotatingTransactionGateway.  # noqa: E501
  
          A human friendly short code used to recognize and differentiate this rotating gateway with other rotating gateways  # noqa: E501
  
          :return: The code of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._code
  
      @code.setter
      def code(self, code):
          """Sets the code of this RotatingTransactionGateway.
  
          A human friendly short code used to recognize and differentiate this rotating gateway with other rotating gateways  # noqa: E501
  
          :param code: The code of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._code = code
  
      @property
      def current_daily(self):
          """Gets the current_daily of this RotatingTransactionGateway.  # noqa: E501
  
          The current daily dollar amount this gateway has processed.  Providing this will allow UltraCart to track the monthly amount going forward.  # noqa: E501
  
          :return: The current_daily of this RotatingTransactionGateway.  # noqa: E501
          :rtype: float
          """
          return self._current_daily
  
      @current_daily.setter
      def current_daily(self, current_daily):
          """Sets the current_daily of this RotatingTransactionGateway.
  
          The current daily dollar amount this gateway has processed.  Providing this will allow UltraCart to track the monthly amount going forward.  # noqa: E501
  
          :param current_daily: The current_daily of this RotatingTransactionGateway.  # noqa: E501
          :type: float
          """
  
          self._current_daily = current_daily
  
      @property
      def current_daily_auto_order(self):
          """Gets the current_daily_auto_order of this RotatingTransactionGateway.  # noqa: E501
  
          The current daily dollar amount of auto orders (recurring) this gateway has processed.  Providing this will allow UltraCart to track the monthly amount going forward.  # noqa: E501
  
          :return: The current_daily_auto_order of this RotatingTransactionGateway.  # noqa: E501
          :rtype: float
          """
          return self._current_daily_auto_order
  
      @current_daily_auto_order.setter
      def current_daily_auto_order(self, current_daily_auto_order):
          """Sets the current_daily_auto_order of this RotatingTransactionGateway.
  
          The current daily dollar amount of auto orders (recurring) this gateway has processed.  Providing this will allow UltraCart to track the monthly amount going forward.  # noqa: E501
  
          :param current_daily_auto_order: The current_daily_auto_order of this RotatingTransactionGateway.  # noqa: E501
          :type: float
          """
  
          self._current_daily_auto_order = current_daily_auto_order
  
      @property
      def current_monthly(self):
          """Gets the current_monthly of this RotatingTransactionGateway.  # noqa: E501
  
          The current monthly dollar amount this gateway has processed.  Providing this will allow UltraCart to track the monthly amount going forward.  # noqa: E501
  
          :return: The current_monthly of this RotatingTransactionGateway.  # noqa: E501
          :rtype: float
          """
          return self._current_monthly
  
      @current_monthly.setter
      def current_monthly(self, current_monthly):
          """Sets the current_monthly of this RotatingTransactionGateway.
  
          The current monthly dollar amount this gateway has processed.  Providing this will allow UltraCart to track the monthly amount going forward.  # noqa: E501
  
          :param current_monthly: The current_monthly of this RotatingTransactionGateway.  # noqa: E501
          :type: float
          """
  
          self._current_monthly = current_monthly
  
      @property
      def customer_service_email(self):
          """Gets the customer_service_email of this RotatingTransactionGateway.  # noqa: E501
  
          The customer service email address for this gateway  # noqa: E501
  
          :return: The customer_service_email of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._customer_service_email
  
      @customer_service_email.setter
      def customer_service_email(self, customer_service_email):
          """Sets the customer_service_email of this RotatingTransactionGateway.
  
          The customer service email address for this gateway  # noqa: E501
  
          :param customer_service_email: The customer_service_email of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._customer_service_email = customer_service_email
  
      @property
      def customer_service_phone(self):
          """Gets the customer_service_phone of this RotatingTransactionGateway.  # noqa: E501
  
          The customer service phone number for this gateway  # noqa: E501
  
          :return: The customer_service_phone of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._customer_service_phone
  
      @customer_service_phone.setter
      def customer_service_phone(self, customer_service_phone):
          """Sets the customer_service_phone of this RotatingTransactionGateway.
  
          The customer service phone number for this gateway  # noqa: E501
  
          :param customer_service_phone: The customer_service_phone of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._customer_service_phone = customer_service_phone
  
      @property
      def day_of_month_restrictions(self):
          """Gets the day_of_month_restrictions of this RotatingTransactionGateway.  # noqa: E501
  
          Array containing all 31 (possible) days and any optional restrictions for one or more days.  # noqa: E501
  
          :return: The day_of_month_restrictions of this RotatingTransactionGateway.  # noqa: E501
          :rtype: list[RtgDayOfMonthRestriction]
          """
          return self._day_of_month_restrictions
  
      @day_of_month_restrictions.setter
      def day_of_month_restrictions(self, day_of_month_restrictions):
          """Sets the day_of_month_restrictions of this RotatingTransactionGateway.
  
          Array containing all 31 (possible) days and any optional restrictions for one or more days.  # noqa: E501
  
          :param day_of_month_restrictions: The day_of_month_restrictions of this RotatingTransactionGateway.  # noqa: E501
          :type: list[RtgDayOfMonthRestriction]
          """
  
          self._day_of_month_restrictions = day_of_month_restrictions
  
      @property
      def day_of_week_restrictions(self):
          """Gets the day_of_week_restrictions of this RotatingTransactionGateway.  # noqa: E501
  
          Array containing all seven days of the week and any optional restrictions for one or more days  # noqa: E501
  
          :return: The day_of_week_restrictions of this RotatingTransactionGateway.  # noqa: E501
          :rtype: list[RtgDayOfWeekRestriction]
          """
          return self._day_of_week_restrictions
  
      @day_of_week_restrictions.setter
      def day_of_week_restrictions(self, day_of_week_restrictions):
          """Sets the day_of_week_restrictions of this RotatingTransactionGateway.
  
          Array containing all seven days of the week and any optional restrictions for one or more days  # noqa: E501
  
          :param day_of_week_restrictions: The day_of_week_restrictions of this RotatingTransactionGateway.  # noqa: E501
          :type: list[RtgDayOfWeekRestriction]
          """
  
          self._day_of_week_restrictions = day_of_week_restrictions
  
      @property
      def deactivate_after_failures(self):
          """Gets the deactivate_after_failures of this RotatingTransactionGateway.  # noqa: E501
  
          If non-zero, this gateway will be deactivated after reaching this amount of consecutive failures.  # noqa: E501
  
          :return: The deactivate_after_failures of this RotatingTransactionGateway.  # noqa: E501
          :rtype: int
          """
          return self._deactivate_after_failures
  
      @deactivate_after_failures.setter
      def deactivate_after_failures(self, deactivate_after_failures):
          """Sets the deactivate_after_failures of this RotatingTransactionGateway.
  
          If non-zero, this gateway will be deactivated after reaching this amount of consecutive failures.  # noqa: E501
  
          :param deactivate_after_failures: The deactivate_after_failures of this RotatingTransactionGateway.  # noqa: E501
          :type: int
          """
  
          self._deactivate_after_failures = deactivate_after_failures
  
      @property
      def end_date(self):
          """Gets the end_date of this RotatingTransactionGateway.  # noqa: E501
  
          Optional field to specify an absolute date when this gateway should stop accepting transactions  # noqa: E501
  
          :return: The end_date of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._end_date
  
      @end_date.setter
      def end_date(self, end_date):
          """Sets the end_date of this RotatingTransactionGateway.
  
          Optional field to specify an absolute date when this gateway should stop accepting transactions  # noqa: E501
  
          :param end_date: The end_date of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._end_date = end_date
  
      @property
      def gateways(self):
          """Gets the gateways of this RotatingTransactionGateway.  # noqa: E501
  
          An array of all transaction gateways, not just the one currently configured for this rotating gateway. This allows for easy switching to another gateway.  The enabled property on the transaction gateway indicates which one is actually being used.  # noqa: E501
  
          :return: The gateways of this RotatingTransactionGateway.  # noqa: E501
          :rtype: list[TransactionGateway]
          """
          return self._gateways
  
      @gateways.setter
      def gateways(self, gateways):
          """Sets the gateways of this RotatingTransactionGateway.
  
          An array of all transaction gateways, not just the one currently configured for this rotating gateway. This allows for easy switching to another gateway.  The enabled property on the transaction gateway indicates which one is actually being used.  # noqa: E501
  
          :param gateways: The gateways of this RotatingTransactionGateway.  # noqa: E501
          :type: list[TransactionGateway]
          """
  
          self._gateways = gateways
  
      @property
      def maximum_daily(self):
          """Gets the maximum_daily of this RotatingTransactionGateway.  # noqa: E501
  
          The maximum daily dollar amount this gateway may process  # noqa: E501
  
          :return: The maximum_daily of this RotatingTransactionGateway.  # noqa: E501
          :rtype: float
          """
          return self._maximum_daily
  
      @maximum_daily.setter
      def maximum_daily(self, maximum_daily):
          """Sets the maximum_daily of this RotatingTransactionGateway.
  
          The maximum daily dollar amount this gateway may process  # noqa: E501
  
          :param maximum_daily: The maximum_daily of this RotatingTransactionGateway.  # noqa: E501
          :type: float
          """
  
          self._maximum_daily = maximum_daily
  
      @property
      def maximum_daily_auto_order(self):
          """Gets the maximum_daily_auto_order of this RotatingTransactionGateway.  # noqa: E501
  
          The maximum daily dollar amount of auto orders (recurring) this gateway may process  # noqa: E501
  
          :return: The maximum_daily_auto_order of this RotatingTransactionGateway.  # noqa: E501
          :rtype: float
          """
          return self._maximum_daily_auto_order
  
      @maximum_daily_auto_order.setter
      def maximum_daily_auto_order(self, maximum_daily_auto_order):
          """Sets the maximum_daily_auto_order of this RotatingTransactionGateway.
  
          The maximum daily dollar amount of auto orders (recurring) this gateway may process  # noqa: E501
  
          :param maximum_daily_auto_order: The maximum_daily_auto_order of this RotatingTransactionGateway.  # noqa: E501
          :type: float
          """
  
          self._maximum_daily_auto_order = maximum_daily_auto_order
  
      @property
      def maximum_monthly(self):
          """Gets the maximum_monthly of this RotatingTransactionGateway.  # noqa: E501
  
          The maximum monthly dollar amount this gateway may process.  # noqa: E501
  
          :return: The maximum_monthly of this RotatingTransactionGateway.  # noqa: E501
          :rtype: float
          """
          return self._maximum_monthly
  
      @maximum_monthly.setter
      def maximum_monthly(self, maximum_monthly):
          """Sets the maximum_monthly of this RotatingTransactionGateway.
  
          The maximum monthly dollar amount this gateway may process.  # noqa: E501
  
          :param maximum_monthly: The maximum_monthly of this RotatingTransactionGateway.  # noqa: E501
          :type: float
          """
  
          self._maximum_monthly = maximum_monthly
  
      @property
      def next_daily_auto_order_reset(self):
          """Gets the next_daily_auto_order_reset of this RotatingTransactionGateway.  # noqa: E501
  
          The date and time when this gateway daily limit for auto orders will reset  # noqa: E501
  
          :return: The next_daily_auto_order_reset of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._next_daily_auto_order_reset
  
      @next_daily_auto_order_reset.setter
      def next_daily_auto_order_reset(self, next_daily_auto_order_reset):
          """Sets the next_daily_auto_order_reset of this RotatingTransactionGateway.
  
          The date and time when this gateway daily limit for auto orders will reset  # noqa: E501
  
          :param next_daily_auto_order_reset: The next_daily_auto_order_reset of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._next_daily_auto_order_reset = next_daily_auto_order_reset
  
      @property
      def next_daily_reset(self):
          """Gets the next_daily_reset of this RotatingTransactionGateway.  # noqa: E501
  
          The date and time when this gateway daily limit will reset  # noqa: E501
  
          :return: The next_daily_reset of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._next_daily_reset
  
      @next_daily_reset.setter
      def next_daily_reset(self, next_daily_reset):
          """Sets the next_daily_reset of this RotatingTransactionGateway.
  
          The date and time when this gateway daily limit will reset  # noqa: E501
  
          :param next_daily_reset: The next_daily_reset of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._next_daily_reset = next_daily_reset
  
      @property
      def next_monthly_reset(self):
          """Gets the next_monthly_reset of this RotatingTransactionGateway.  # noqa: E501
  
          The date and time when this gateway monthly limit will reset  # noqa: E501
  
          :return: The next_monthly_reset of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._next_monthly_reset
  
      @next_monthly_reset.setter
      def next_monthly_reset(self, next_monthly_reset):
          """Sets the next_monthly_reset of this RotatingTransactionGateway.
  
          The date and time when this gateway monthly limit will reset  # noqa: E501
  
          :param next_monthly_reset: The next_monthly_reset of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._next_monthly_reset = next_monthly_reset
  
      @property
      def order_total(self):
          """Gets the order_total of this RotatingTransactionGateway.  # noqa: E501
  
          This optional field is combined with order_total_comparison to determine if an order should be processed thorugh this gateway.  # noqa: E501
  
          :return: The order_total of this RotatingTransactionGateway.  # noqa: E501
          :rtype: float
          """
          return self._order_total
  
      @order_total.setter
      def order_total(self, order_total):
          """Sets the order_total of this RotatingTransactionGateway.
  
          This optional field is combined with order_total_comparison to determine if an order should be processed thorugh this gateway.  # noqa: E501
  
          :param order_total: The order_total of this RotatingTransactionGateway.  # noqa: E501
          :type: float
          """
  
          self._order_total = order_total
  
      @property
      def order_total_comparison(self):
          """Gets the order_total_comparison of this RotatingTransactionGateway.  # noqa: E501
  
          The math operator used to determine if the order total is allowed to process through this gateway.  # noqa: E501
  
          :return: The order_total_comparison of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._order_total_comparison
  
      @order_total_comparison.setter
      def order_total_comparison(self, order_total_comparison):
          """Sets the order_total_comparison of this RotatingTransactionGateway.
  
          The math operator used to determine if the order total is allowed to process through this gateway.  # noqa: E501
  
          :param order_total_comparison: The order_total_comparison of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
          allowed_values = ["<", "<=", "=", ">", ">="]  # noqa: E501
          if order_total_comparison not in allowed_values:
              raise ValueError(
                  "Invalid value for `order_total_comparison` ({0}), must be one of {1}"  # noqa: E501
                  .format(order_total_comparison, allowed_values)
              )
  
          self._order_total_comparison = order_total_comparison
  
      @property
      def rebill_auto_orders_against_this_rtg_code(self):
          """Gets the rebill_auto_orders_against_this_rtg_code of this RotatingTransactionGateway.  # noqa: E501
  
          If specified auto orders (rebills) are routed to this rotating gateway.  This may be needed because rebills lack a credit card cvv.  # noqa: E501
  
          :return: The rebill_auto_orders_against_this_rtg_code of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._rebill_auto_orders_against_this_rtg_code
  
      @rebill_auto_orders_against_this_rtg_code.setter
      def rebill_auto_orders_against_this_rtg_code(self, rebill_auto_orders_against_this_rtg_code):
          """Sets the rebill_auto_orders_against_this_rtg_code of this RotatingTransactionGateway.
  
          If specified auto orders (rebills) are routed to this rotating gateway.  This may be needed because rebills lack a credit card cvv.  # noqa: E501
  
          :param rebill_auto_orders_against_this_rtg_code: The rebill_auto_orders_against_this_rtg_code of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._rebill_auto_orders_against_this_rtg_code = rebill_auto_orders_against_this_rtg_code
  
      @property
      def reserve_days(self):
          """Gets the reserve_days of this RotatingTransactionGateway.  # noqa: E501
  
          The number of days that your gateway holds any reserves.  This aids in profitability reporting.  # noqa: E501
  
          :return: The reserve_days of this RotatingTransactionGateway.  # noqa: E501
          :rtype: int
          """
          return self._reserve_days
  
      @reserve_days.setter
      def reserve_days(self, reserve_days):
          """Sets the reserve_days of this RotatingTransactionGateway.
  
          The number of days that your gateway holds any reserves.  This aids in profitability reporting.  # noqa: E501
  
          :param reserve_days: The reserve_days of this RotatingTransactionGateway.  # noqa: E501
          :type: int
          """
  
          self._reserve_days = reserve_days
  
      @property
      def reserve_percentage(self):
          """Gets the reserve_percentage of this RotatingTransactionGateway.  # noqa: E501
  
          The percentage of an order which your gateway is holding in reserve.  This aids in profitability reporting.  # noqa: E501
  
          :return: The reserve_percentage of this RotatingTransactionGateway.  # noqa: E501
          :rtype: float
          """
          return self._reserve_percentage
  
      @reserve_percentage.setter
      def reserve_percentage(self, reserve_percentage):
          """Sets the reserve_percentage of this RotatingTransactionGateway.
  
          The percentage of an order which your gateway is holding in reserve.  This aids in profitability reporting.  # noqa: E501
  
          :param reserve_percentage: The reserve_percentage of this RotatingTransactionGateway.  # noqa: E501
          :type: float
          """
  
          self._reserve_percentage = reserve_percentage
  
      @property
      def reserve_refunded(self):
          """Gets the reserve_refunded of this RotatingTransactionGateway.  # noqa: E501
  
          If true, reserves are refunded when an order is refunded.  This aids in profitability reporting.  # noqa: E501
  
          :return: The reserve_refunded of this RotatingTransactionGateway.  # noqa: E501
          :rtype: bool
          """
          return self._reserve_refunded
  
      @reserve_refunded.setter
      def reserve_refunded(self, reserve_refunded):
          """Sets the reserve_refunded of this RotatingTransactionGateway.
  
          If true, reserves are refunded when an order is refunded.  This aids in profitability reporting.  # noqa: E501
  
          :param reserve_refunded: The reserve_refunded of this RotatingTransactionGateway.  # noqa: E501
          :type: bool
          """
  
          self._reserve_refunded = reserve_refunded
  
      @property
      def reserves_released_through(self):
          """Gets the reserves_released_through of this RotatingTransactionGateway.  # noqa: E501
  
          An optional date specifying the date up to which your gateway has released all reserve funds.  This aids in profitability reporting.  # noqa: E501
  
          :return: The reserves_released_through of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._reserves_released_through
  
      @reserves_released_through.setter
      def reserves_released_through(self, reserves_released_through):
          """Sets the reserves_released_through of this RotatingTransactionGateway.
  
          An optional date specifying the date up to which your gateway has released all reserve funds.  This aids in profitability reporting.  # noqa: E501
  
          :param reserves_released_through: The reserves_released_through of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._reserves_released_through = reserves_released_through
  
      @property
      def rotating_transaction_gateway_oid(self):
          """Gets the rotating_transaction_gateway_oid of this RotatingTransactionGateway.  # noqa: E501
  
          Internal identifier used to store and retrieve this gateway information  # noqa: E501
  
          :return: The rotating_transaction_gateway_oid of this RotatingTransactionGateway.  # noqa: E501
          :rtype: int
          """
          return self._rotating_transaction_gateway_oid
  
      @rotating_transaction_gateway_oid.setter
      def rotating_transaction_gateway_oid(self, rotating_transaction_gateway_oid):
          """Sets the rotating_transaction_gateway_oid of this RotatingTransactionGateway.
  
          Internal identifier used to store and retrieve this gateway information  # noqa: E501
  
          :param rotating_transaction_gateway_oid: The rotating_transaction_gateway_oid of this RotatingTransactionGateway.  # noqa: E501
          :type: int
          """
  
          self._rotating_transaction_gateway_oid = rotating_transaction_gateway_oid
  
      @property
      def selected_gateway_name(self):
          """Gets the selected_gateway_name of this RotatingTransactionGateway.  # noqa: E501
  
          The name of the currently selected transaction gateway used by this rotating gateway  # noqa: E501
  
          :return: The selected_gateway_name of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._selected_gateway_name
  
      @selected_gateway_name.setter
      def selected_gateway_name(self, selected_gateway_name):
          """Sets the selected_gateway_name of this RotatingTransactionGateway.
  
          The name of the currently selected transaction gateway used by this rotating gateway  # noqa: E501
  
          :param selected_gateway_name: The selected_gateway_name of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._selected_gateway_name = selected_gateway_name
  
      @property
      def show_cascade_codes(self):
          """Gets the show_cascade_codes of this RotatingTransactionGateway.  # noqa: E501
  
          A boolean used by the builtin UltraCart UI to determine if cascading rtg codes should be shown  # noqa: E501
  
          :return: The show_cascade_codes of this RotatingTransactionGateway.  # noqa: E501
          :rtype: bool
          """
          return self._show_cascade_codes
  
      @show_cascade_codes.setter
      def show_cascade_codes(self, show_cascade_codes):
          """Sets the show_cascade_codes of this RotatingTransactionGateway.
  
          A boolean used by the builtin UltraCart UI to determine if cascading rtg codes should be shown  # noqa: E501
  
          :param show_cascade_codes: The show_cascade_codes of this RotatingTransactionGateway.  # noqa: E501
          :type: bool
          """
  
          self._show_cascade_codes = show_cascade_codes
  
      @property
      def show_merchant_account_profiles(self):
          """Gets the show_merchant_account_profiles of this RotatingTransactionGateway.  # noqa: E501
  
          A flag to help the UltraCart UI to know whether to show merchant account profiles or not.  # noqa: E501
  
          :return: The show_merchant_account_profiles of this RotatingTransactionGateway.  # noqa: E501
          :rtype: bool
          """
          return self._show_merchant_account_profiles
  
      @show_merchant_account_profiles.setter
      def show_merchant_account_profiles(self, show_merchant_account_profiles):
          """Sets the show_merchant_account_profiles of this RotatingTransactionGateway.
  
          A flag to help the UltraCart UI to know whether to show merchant account profiles or not.  # noqa: E501
  
          :param show_merchant_account_profiles: The show_merchant_account_profiles of this RotatingTransactionGateway.  # noqa: E501
          :type: bool
          """
  
          self._show_merchant_account_profiles = show_merchant_account_profiles
  
      @property
      def start_date(self):
          """Gets the start_date of this RotatingTransactionGateway.  # noqa: E501
  
          Optional field to specify an absolute date when this gateway should begin accepting transactions  # noqa: E501
  
          :return: The start_date of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._start_date
  
      @start_date.setter
      def start_date(self, start_date):
          """Sets the start_date of this RotatingTransactionGateway.
  
          Optional field to specify an absolute date when this gateway should begin accepting transactions  # noqa: E501
  
          :param start_date: The start_date of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
  
          self._start_date = start_date
  
      @property
      def status(self):
          """Gets the status of this RotatingTransactionGateway.  # noqa: E501
  
          A field used to take a gateway offline without removing/deleting the configuration. Inactive marks the gateway as completely unusable.  Standby takes the gateway offline and will not be used unless all other active gateways fail.  # noqa: E501
  
          :return: The status of this RotatingTransactionGateway.  # noqa: E501
          :rtype: str
          """
          return self._status
  
      @status.setter
      def status(self, status):
          """Sets the status of this RotatingTransactionGateway.
  
          A field used to take a gateway offline without removing/deleting the configuration. Inactive marks the gateway as completely unusable.  Standby takes the gateway offline and will not be used unless all other active gateways fail.  # noqa: E501
  
          :param status: The status of this RotatingTransactionGateway.  # noqa: E501
          :type: str
          """
          allowed_values = ["active", "inactive", "standby"]  # noqa: E501
          if status not in allowed_values:
              raise ValueError(
                  "Invalid value for `status` ({0}), must be one of {1}"  # noqa: E501
                  .format(status, allowed_values)
              )
  
          self._status = status
  
      @property
      def theme_restrictions(self):
          """Gets the theme_restrictions of this RotatingTransactionGateway.  # noqa: E501
  
          Optional restrictions by theme/storefront  # noqa: E501
  
          :return: The theme_restrictions of this RotatingTransactionGateway.  # noqa: E501
          :rtype: list[RtgThemeRestriction]
          """
          return self._theme_restrictions
  
      @theme_restrictions.setter
      def theme_restrictions(self, theme_restrictions):
          """Sets the theme_restrictions of this RotatingTransactionGateway.
  
          Optional restrictions by theme/storefront  # noqa: E501
  
          :param theme_restrictions: The theme_restrictions of this RotatingTransactionGateway.  # noqa: E501
          :type: list[RtgThemeRestriction]
          """
  
          self._theme_restrictions = theme_restrictions
  
      @property
      def traffic_percentage(self):
          """Gets the traffic_percentage of this RotatingTransactionGateway.  # noqa: E501
  
          Required field between 0 and 1 that dictates the percentage of traffic that should flow through this gateway  # noqa: E501
  
          :return: The traffic_percentage of this RotatingTransactionGateway.  # noqa: E501
          :rtype: float
          """
          return self._traffic_percentage
  
      @traffic_percentage.setter
      def traffic_percentage(self, traffic_percentage):
          """Sets the traffic_percentage of this RotatingTransactionGateway.
  
          Required field between 0 and 1 that dictates the percentage of traffic that should flow through this gateway  # noqa: E501
  
          :param traffic_percentage: The traffic_percentage of this RotatingTransactionGateway.  # noqa: E501
          :type: float
          """
  
          self._traffic_percentage = traffic_percentage
  
      @property
      def trial_daily_amount(self):
          """Gets the trial_daily_amount of this RotatingTransactionGateway.  # noqa: E501
  
          If specified, limits the total daily count of trial orders  # noqa: E501
  
          :return: The trial_daily_amount of this RotatingTransactionGateway.  # noqa: E501
          :rtype: int
          """
          return self._trial_daily_amount
  
      @trial_daily_amount.setter
      def trial_daily_amount(self, trial_daily_amount):
          """Sets the trial_daily_amount of this RotatingTransactionGateway.
  
          If specified, limits the total daily count of trial orders  # noqa: E501
  
          :param trial_daily_amount: The trial_daily_amount of this RotatingTransactionGateway.  # noqa: E501
          :type: int
          """
  
          self._trial_daily_amount = trial_daily_amount
  
      @property
      def trial_daily_limit(self):
          """Gets the trial_daily_limit of this RotatingTransactionGateway.  # noqa: E501
  
          If specified, limits the total daily dollar amount of trial orders  # noqa: E501
  
          :return: The trial_daily_limit of this RotatingTransactionGateway.  # noqa: E501
          :rtype: int
          """
          return self._trial_daily_limit
  
      @trial_daily_limit.setter
      def trial_daily_limit(self, trial_daily_limit):
          """Sets the trial_daily_limit of this RotatingTransactionGateway.
  
          If specified, limits the total daily dollar amount of trial orders  # noqa: E501
  
          :param trial_daily_limit: The trial_daily_limit of this RotatingTransactionGateway.  # noqa: E501
          :type: int
          """
  
          self._trial_daily_limit = trial_daily_limit
  
      @property
      def trial_monthly_amount(self):
          """Gets the trial_monthly_amount of this RotatingTransactionGateway.  # noqa: E501
  
          If specified, limits the total month dollar amount of trial orders  # noqa: E501
  
          :return: The trial_monthly_amount of this RotatingTransactionGateway.  # noqa: E501
          :rtype: int
          """
          return self._trial_monthly_amount
  
      @trial_monthly_amount.setter
      def trial_monthly_amount(self, trial_monthly_amount):
          """Sets the trial_monthly_amount of this RotatingTransactionGateway.
  
          If specified, limits the total month dollar amount of trial orders  # noqa: E501
  
          :param trial_monthly_amount: The trial_monthly_amount of this RotatingTransactionGateway.  # noqa: E501
          :type: int
          """
  
          self._trial_monthly_amount = trial_monthly_amount
  
      @property
      def trial_monthly_limit(self):
          """Gets the trial_monthly_limit of this RotatingTransactionGateway.  # noqa: E501
  
          If specified, limits the total month count of trial orders  # noqa: E501
  
          :return: The trial_monthly_limit of this RotatingTransactionGateway.  # noqa: E501
          :rtype: int
          """
          return self._trial_monthly_limit
  
      @trial_monthly_limit.setter
      def trial_monthly_limit(self, trial_monthly_limit):
          """Sets the trial_monthly_limit of this RotatingTransactionGateway.
  
          If specified, limits the total month count of trial orders  # noqa: E501
  
          :param trial_monthly_limit: The trial_monthly_limit of this RotatingTransactionGateway.  # noqa: E501
          :type: int
          """
  
          self._trial_monthly_limit = trial_monthly_limit
  
      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(RotatingTransactionGateway, 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, RotatingTransactionGateway):
              return False
  
          return self.__dict__ == other.__dict__
  
      def __ne__(self, other):
          """Returns true if both objects are not equal"""
          return not self == other
  