(function(root, factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module.
    define(['ApiClient'], factory);
  } else if (typeof module === 'object' && module.exports) {
    // CommonJS-like environments that support module.exports, like Node.
    module.exports = factory(require('../ApiClient'));
  } else {
    // Browser globals (root is window)
    if (!root.OrbipayPaymentsapiClient) {
      root.OrbipayPaymentsapiClient = {};
    }
    root.OrbipayPaymentsapiClient.PaymentScheduleMinimalRequest = factory(root.OrbipayPaymentsapiClient.ApiClient);
  }
}(this, function(ApiClient) {
  'use strict';




  /**
   * The PaymentScheduleMinimalRequest model module.
   * @module models/PaymentScheduleMinimalRequest
   */

  /**
   * <h3 style="color:red"> This class subject to change without prior notice, Please dont use this class directly. </h3>

   * Constructs a new <code>PaymentScheduleMinimalRequest</code>.
   * The schedule for the payments that are created as part of a payment setup like recurring payment or autopay.
   * @alias module:models/PaymentScheduleMinimalRequest
   * @class
   */
  var exports = function() {
    var _this = this;


  };

  /**
   * Constructs a <code>PaymentScheduleMinimalRequest</code> from a plain JavaScript object, optionally creating a new instance.
   * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
   * @param {Object} data The plain JavaScript object bearing properties of interest.
   * @param {module:models/PaymentScheduleMinimalRequest} obj Optional instance to populate.
   * @return {module:models/PaymentScheduleMinimalRequest} The populated <code>PaymentScheduleMinimalRequest</code> instance.
   */
  exports.constructFromObject = function(data, obj) {
    if (data) {
      obj = obj || new exports();

      if (data.hasOwnProperty('payment_limit_amount')) {
        obj['payment_limit_amount'] = ApiClient.convertToType(data['payment_limit_amount'], 'String');
      }
    }
    return obj;
  };

  /**
   * The upper limit for the payment amount in the case of recurring or autopay payments. Any amount above the limit will not be paid automatically as part of recurring payments and autopay.
   * @member {String} payment_limit_amount
   */
  exports.prototype['payment_limit_amount'] = undefined;



  return exports;
}));