class UltracartClient::Coupon

Attributes

affiliate_oid[RW]

Associates an order with an affiliate when this value is set.

allow_multiple_one_time_codes[RW]

True if multiple one time codes for this coupon can be used on a cart at the same time.

amount_off_items[RW]
amount_off_shipping[RW]
amount_off_shipping_with_items_purchase[RW]
amount_off_subtotal[RW]
amount_off_subtotal_and_free_shipping[RW]
amount_off_subtotal_and_shipping[RW]
amount_off_subtotal_with_block_purchase[RW]
amount_off_subtotal_with_items_purchase[RW]
amount_off_subtotal_with_purchase[RW]
automatically_apply_coupon_codes[RW]
buy_one_get_one[RW]
calculated_description[RW]

Calculated description displayed to the customer if no description is specified.

can_be_used_with_other_coupons[RW]

True if this coupon can be used with other coupons in a single order.

coupon_oid[RW]

Coupon oid.

coupon_type[RW]

Coupon type.

description[RW]

Description of the coupon up to 50 characters.

discount_item_with_item_purchase[RW]
discount_items[RW]
expiration_dts[RW]

Date/time when coupon expires

free_item_and_shipping_with_subtotal[RW]
free_item_with_item_purchase[RW]
free_item_with_subtotal[RW]
free_items_with_item_purchase[RW]
free_items_with_mixmatch_purchase[RW]
free_shipping[RW]
free_shipping_specific_items[RW]
free_shipping_with_items_purchase[RW]
free_shipping_with_subtotal[RW]
hide_from_customer[RW]

Hide coupon from customer during checkout. Often used when coupons are automatic discounting mechanisms.

merchant_code[RW]

Merchant code of coupon up to 20 characters.

merchant_notes[RW]

Internal notes about this coupon. These are not visible to customer.

multiple_amounts_off_items[RW]
no_discount[RW]
percent_off_item_with_items_quantity_purchase[RW]
percent_off_items[RW]
percent_off_items_and_free_shipping[RW]
percent_off_items_with_items_purchase[RW]
percent_off_msrp_items[RW]
percent_off_retail_price_items[RW]
percent_off_shipping[RW]
percent_off_subtotal[RW]
percent_off_subtotal_and_free_shipping[RW]
percent_off_subtotal_limit[RW]
percent_off_subtotal_with_items_purchase[RW]
percent_off_subtotal_with_subtotal[RW]
quickbooks_code[RW]

Quickbooks accounting code.

restrict_by_postal_codes[RW]

Optional list of postal codes which restrict a coupon to within these postal codes.

restrict_by_screen_branding_theme_codes[RW]

Optional list of legacy screen branding theme codes to limit coupon use to only those themes.

restrict_by_storefronts[RW]

Optional list of storefronts to limit coupon use to only those storefronts.

start_dts[RW]

Date/time when coupon is valid

super_coupon[RW]

If true, this coupon can be used with ANY other coupon regardless of the other coupons configuration

tiered_amount_off_items[RW]
tiered_amount_off_subtotal[RW]
tiered_percent_off_items[RW]
tiered_percent_off_shipping[RW]
tiered_percent_off_subtotal[RW]
usable_by[RW]

Who may use this coupon.

Public Class Methods

attribute_map() click to toggle source

Attribute mapping from ruby-style variable name to JSON key.

# File lib/ultracart_api/models/coupon.rb, line 154
def self.attribute_map
  {
    :'affiliate_oid' => :'affiliate_oid',
    :'allow_multiple_one_time_codes' => :'allow_multiple_one_time_codes',
    :'amount_off_items' => :'amount_off_items',
    :'amount_off_shipping' => :'amount_off_shipping',
    :'amount_off_shipping_with_items_purchase' => :'amount_off_shipping_with_items_purchase',
    :'amount_off_subtotal' => :'amount_off_subtotal',
    :'amount_off_subtotal_and_free_shipping' => :'amount_off_subtotal_and_free_shipping',
    :'amount_off_subtotal_and_shipping' => :'amount_off_subtotal_and_shipping',
    :'amount_off_subtotal_with_block_purchase' => :'amount_off_subtotal_with_block_purchase',
    :'amount_off_subtotal_with_items_purchase' => :'amount_off_subtotal_with_items_purchase',
    :'amount_off_subtotal_with_purchase' => :'amount_off_subtotal_with_purchase',
    :'automatically_apply_coupon_codes' => :'automatically_apply_coupon_codes',
    :'buy_one_get_one' => :'buy_one_get_one',
    :'calculated_description' => :'calculated_description',
    :'can_be_used_with_other_coupons' => :'can_be_used_with_other_coupons',
    :'coupon_oid' => :'coupon_oid',
    :'coupon_type' => :'coupon_type',
    :'description' => :'description',
    :'discount_item_with_item_purchase' => :'discount_item_with_item_purchase',
    :'discount_items' => :'discount_items',
    :'expiration_dts' => :'expiration_dts',
    :'free_item_and_shipping_with_subtotal' => :'free_item_and_shipping_with_subtotal',
    :'free_item_with_item_purchase' => :'free_item_with_item_purchase',
    :'free_item_with_subtotal' => :'free_item_with_subtotal',
    :'free_items_with_item_purchase' => :'free_items_with_item_purchase',
    :'free_items_with_mixmatch_purchase' => :'free_items_with_mixmatch_purchase',
    :'free_shipping' => :'free_shipping',
    :'free_shipping_specific_items' => :'free_shipping_specific_items',
    :'free_shipping_with_items_purchase' => :'free_shipping_with_items_purchase',
    :'free_shipping_with_subtotal' => :'free_shipping_with_subtotal',
    :'hide_from_customer' => :'hide_from_customer',
    :'merchant_code' => :'merchant_code',
    :'merchant_notes' => :'merchant_notes',
    :'multiple_amounts_off_items' => :'multiple_amounts_off_items',
    :'no_discount' => :'no_discount',
    :'percent_off_item_with_items_quantity_purchase' => :'percent_off_item_with_items_quantity_purchase',
    :'percent_off_items' => :'percent_off_items',
    :'percent_off_items_and_free_shipping' => :'percent_off_items_and_free_shipping',
    :'percent_off_items_with_items_purchase' => :'percent_off_items_with_items_purchase',
    :'percent_off_msrp_items' => :'percent_off_msrp_items',
    :'percent_off_retail_price_items' => :'percent_off_retail_price_items',
    :'percent_off_shipping' => :'percent_off_shipping',
    :'percent_off_subtotal' => :'percent_off_subtotal',
    :'percent_off_subtotal_and_free_shipping' => :'percent_off_subtotal_and_free_shipping',
    :'percent_off_subtotal_limit' => :'percent_off_subtotal_limit',
    :'percent_off_subtotal_with_items_purchase' => :'percent_off_subtotal_with_items_purchase',
    :'percent_off_subtotal_with_subtotal' => :'percent_off_subtotal_with_subtotal',
    :'quickbooks_code' => :'quickbooks_code',
    :'restrict_by_postal_codes' => :'restrict_by_postal_codes',
    :'restrict_by_screen_branding_theme_codes' => :'restrict_by_screen_branding_theme_codes',
    :'restrict_by_storefronts' => :'restrict_by_storefronts',
    :'start_dts' => :'start_dts',
    :'super_coupon' => :'super_coupon',
    :'tiered_amount_off_items' => :'tiered_amount_off_items',
    :'tiered_amount_off_subtotal' => :'tiered_amount_off_subtotal',
    :'tiered_percent_off_items' => :'tiered_percent_off_items',
    :'tiered_percent_off_shipping' => :'tiered_percent_off_shipping',
    :'tiered_percent_off_subtotal' => :'tiered_percent_off_subtotal',
    :'usable_by' => :'usable_by'
  }
end
new(attributes = {}) click to toggle source

Initializes the object @param [Hash] attributes Model attributes in the form of hash

# File lib/ultracart_api/models/coupon.rb, line 285
def initialize(attributes = {})
  return unless attributes.is_a?(Hash)

  # convert string to symbol for hash key
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }

  if attributes.has_key?(:'affiliate_oid')
    self.affiliate_oid = attributes[:'affiliate_oid']
  end

  if attributes.has_key?(:'allow_multiple_one_time_codes')
    self.allow_multiple_one_time_codes = attributes[:'allow_multiple_one_time_codes']
  end

  if attributes.has_key?(:'amount_off_items')
    self.amount_off_items = attributes[:'amount_off_items']
  end

  if attributes.has_key?(:'amount_off_shipping')
    self.amount_off_shipping = attributes[:'amount_off_shipping']
  end

  if attributes.has_key?(:'amount_off_shipping_with_items_purchase')
    self.amount_off_shipping_with_items_purchase = attributes[:'amount_off_shipping_with_items_purchase']
  end

  if attributes.has_key?(:'amount_off_subtotal')
    self.amount_off_subtotal = attributes[:'amount_off_subtotal']
  end

  if attributes.has_key?(:'amount_off_subtotal_and_free_shipping')
    self.amount_off_subtotal_and_free_shipping = attributes[:'amount_off_subtotal_and_free_shipping']
  end

  if attributes.has_key?(:'amount_off_subtotal_and_shipping')
    self.amount_off_subtotal_and_shipping = attributes[:'amount_off_subtotal_and_shipping']
  end

  if attributes.has_key?(:'amount_off_subtotal_with_block_purchase')
    self.amount_off_subtotal_with_block_purchase = attributes[:'amount_off_subtotal_with_block_purchase']
  end

  if attributes.has_key?(:'amount_off_subtotal_with_items_purchase')
    self.amount_off_subtotal_with_items_purchase = attributes[:'amount_off_subtotal_with_items_purchase']
  end

  if attributes.has_key?(:'amount_off_subtotal_with_purchase')
    self.amount_off_subtotal_with_purchase = attributes[:'amount_off_subtotal_with_purchase']
  end

  if attributes.has_key?(:'automatically_apply_coupon_codes')
    self.automatically_apply_coupon_codes = attributes[:'automatically_apply_coupon_codes']
  end

  if attributes.has_key?(:'buy_one_get_one')
    self.buy_one_get_one = attributes[:'buy_one_get_one']
  end

  if attributes.has_key?(:'calculated_description')
    self.calculated_description = attributes[:'calculated_description']
  end

  if attributes.has_key?(:'can_be_used_with_other_coupons')
    self.can_be_used_with_other_coupons = attributes[:'can_be_used_with_other_coupons']
  end

  if attributes.has_key?(:'coupon_oid')
    self.coupon_oid = attributes[:'coupon_oid']
  end

  if attributes.has_key?(:'coupon_type')
    self.coupon_type = attributes[:'coupon_type']
  end

  if attributes.has_key?(:'description')
    self.description = attributes[:'description']
  end

  if attributes.has_key?(:'discount_item_with_item_purchase')
    self.discount_item_with_item_purchase = attributes[:'discount_item_with_item_purchase']
  end

  if attributes.has_key?(:'discount_items')
    self.discount_items = attributes[:'discount_items']
  end

  if attributes.has_key?(:'expiration_dts')
    self.expiration_dts = attributes[:'expiration_dts']
  end

  if attributes.has_key?(:'free_item_and_shipping_with_subtotal')
    self.free_item_and_shipping_with_subtotal = attributes[:'free_item_and_shipping_with_subtotal']
  end

  if attributes.has_key?(:'free_item_with_item_purchase')
    self.free_item_with_item_purchase = attributes[:'free_item_with_item_purchase']
  end

  if attributes.has_key?(:'free_item_with_subtotal')
    self.free_item_with_subtotal = attributes[:'free_item_with_subtotal']
  end

  if attributes.has_key?(:'free_items_with_item_purchase')
    self.free_items_with_item_purchase = attributes[:'free_items_with_item_purchase']
  end

  if attributes.has_key?(:'free_items_with_mixmatch_purchase')
    self.free_items_with_mixmatch_purchase = attributes[:'free_items_with_mixmatch_purchase']
  end

  if attributes.has_key?(:'free_shipping')
    self.free_shipping = attributes[:'free_shipping']
  end

  if attributes.has_key?(:'free_shipping_specific_items')
    self.free_shipping_specific_items = attributes[:'free_shipping_specific_items']
  end

  if attributes.has_key?(:'free_shipping_with_items_purchase')
    self.free_shipping_with_items_purchase = attributes[:'free_shipping_with_items_purchase']
  end

  if attributes.has_key?(:'free_shipping_with_subtotal')
    self.free_shipping_with_subtotal = attributes[:'free_shipping_with_subtotal']
  end

  if attributes.has_key?(:'hide_from_customer')
    self.hide_from_customer = attributes[:'hide_from_customer']
  end

  if attributes.has_key?(:'merchant_code')
    self.merchant_code = attributes[:'merchant_code']
  end

  if attributes.has_key?(:'merchant_notes')
    self.merchant_notes = attributes[:'merchant_notes']
  end

  if attributes.has_key?(:'multiple_amounts_off_items')
    self.multiple_amounts_off_items = attributes[:'multiple_amounts_off_items']
  end

  if attributes.has_key?(:'no_discount')
    self.no_discount = attributes[:'no_discount']
  end

  if attributes.has_key?(:'percent_off_item_with_items_quantity_purchase')
    self.percent_off_item_with_items_quantity_purchase = attributes[:'percent_off_item_with_items_quantity_purchase']
  end

  if attributes.has_key?(:'percent_off_items')
    self.percent_off_items = attributes[:'percent_off_items']
  end

  if attributes.has_key?(:'percent_off_items_and_free_shipping')
    self.percent_off_items_and_free_shipping = attributes[:'percent_off_items_and_free_shipping']
  end

  if attributes.has_key?(:'percent_off_items_with_items_purchase')
    self.percent_off_items_with_items_purchase = attributes[:'percent_off_items_with_items_purchase']
  end

  if attributes.has_key?(:'percent_off_msrp_items')
    self.percent_off_msrp_items = attributes[:'percent_off_msrp_items']
  end

  if attributes.has_key?(:'percent_off_retail_price_items')
    self.percent_off_retail_price_items = attributes[:'percent_off_retail_price_items']
  end

  if attributes.has_key?(:'percent_off_shipping')
    self.percent_off_shipping = attributes[:'percent_off_shipping']
  end

  if attributes.has_key?(:'percent_off_subtotal')
    self.percent_off_subtotal = attributes[:'percent_off_subtotal']
  end

  if attributes.has_key?(:'percent_off_subtotal_and_free_shipping')
    self.percent_off_subtotal_and_free_shipping = attributes[:'percent_off_subtotal_and_free_shipping']
  end

  if attributes.has_key?(:'percent_off_subtotal_limit')
    self.percent_off_subtotal_limit = attributes[:'percent_off_subtotal_limit']
  end

  if attributes.has_key?(:'percent_off_subtotal_with_items_purchase')
    self.percent_off_subtotal_with_items_purchase = attributes[:'percent_off_subtotal_with_items_purchase']
  end

  if attributes.has_key?(:'percent_off_subtotal_with_subtotal')
    self.percent_off_subtotal_with_subtotal = attributes[:'percent_off_subtotal_with_subtotal']
  end

  if attributes.has_key?(:'quickbooks_code')
    self.quickbooks_code = attributes[:'quickbooks_code']
  end

  if attributes.has_key?(:'restrict_by_postal_codes')
    if (value = attributes[:'restrict_by_postal_codes']).is_a?(Array)
      self.restrict_by_postal_codes = value
    end
  end

  if attributes.has_key?(:'restrict_by_screen_branding_theme_codes')
    if (value = attributes[:'restrict_by_screen_branding_theme_codes']).is_a?(Array)
      self.restrict_by_screen_branding_theme_codes = value
    end
  end

  if attributes.has_key?(:'restrict_by_storefronts')
    if (value = attributes[:'restrict_by_storefronts']).is_a?(Array)
      self.restrict_by_storefronts = value
    end
  end

  if attributes.has_key?(:'start_dts')
    self.start_dts = attributes[:'start_dts']
  end

  if attributes.has_key?(:'super_coupon')
    self.super_coupon = attributes[:'super_coupon']
  end

  if attributes.has_key?(:'tiered_amount_off_items')
    self.tiered_amount_off_items = attributes[:'tiered_amount_off_items']
  end

  if attributes.has_key?(:'tiered_amount_off_subtotal')
    self.tiered_amount_off_subtotal = attributes[:'tiered_amount_off_subtotal']
  end

  if attributes.has_key?(:'tiered_percent_off_items')
    self.tiered_percent_off_items = attributes[:'tiered_percent_off_items']
  end

  if attributes.has_key?(:'tiered_percent_off_shipping')
    self.tiered_percent_off_shipping = attributes[:'tiered_percent_off_shipping']
  end

  if attributes.has_key?(:'tiered_percent_off_subtotal')
    self.tiered_percent_off_subtotal = attributes[:'tiered_percent_off_subtotal']
  end

  if attributes.has_key?(:'usable_by')
    self.usable_by = attributes[:'usable_by']
  end
end
swagger_types() click to toggle source

Attribute type mapping.

# File lib/ultracart_api/models/coupon.rb, line 219
def self.swagger_types
  {
    :'affiliate_oid' => :'Integer',
    :'allow_multiple_one_time_codes' => :'BOOLEAN',
    :'amount_off_items' => :'CouponAmountOffItems',
    :'amount_off_shipping' => :'CouponAmountOffShipping',
    :'amount_off_shipping_with_items_purchase' => :'CouponAmountOffShippingWithItemsPurchase',
    :'amount_off_subtotal' => :'CouponAmountOffSubtotal',
    :'amount_off_subtotal_and_free_shipping' => :'CouponAmountOffSubtotalFreeShippingWithPurchase',
    :'amount_off_subtotal_and_shipping' => :'CouponAmountOffSubtotalAndShipping',
    :'amount_off_subtotal_with_block_purchase' => :'CouponAmountOffSubtotalWithBlockPurchase',
    :'amount_off_subtotal_with_items_purchase' => :'CouponAmountOffSubtotalWithItemsPurchase',
    :'amount_off_subtotal_with_purchase' => :'CouponAmountOffSubtotalWithPurchase',
    :'automatically_apply_coupon_codes' => :'CouponAutomaticallyApplyCouponCodes',
    :'buy_one_get_one' => :'CouponBuyOneGetOneLimit',
    :'calculated_description' => :'String',
    :'can_be_used_with_other_coupons' => :'BOOLEAN',
    :'coupon_oid' => :'Integer',
    :'coupon_type' => :'String',
    :'description' => :'String',
    :'discount_item_with_item_purchase' => :'CouponDiscountItemWithItemPurchase',
    :'discount_items' => :'CouponDiscountItems',
    :'expiration_dts' => :'String',
    :'free_item_and_shipping_with_subtotal' => :'CouponFreeItemAndShippingWithSubtotal',
    :'free_item_with_item_purchase' => :'CouponFreeItemWithItemPurchase',
    :'free_item_with_subtotal' => :'CouponFreeItemWithSubtotal',
    :'free_items_with_item_purchase' => :'CouponFreeItemsWithItemPurchase',
    :'free_items_with_mixmatch_purchase' => :'CouponFreeItemsWithMixMatchPurchase',
    :'free_shipping' => :'CouponFreeShipping',
    :'free_shipping_specific_items' => :'CouponFreeShippingSpecificItems',
    :'free_shipping_with_items_purchase' => :'CouponFreeShippingWithItemsPurchase',
    :'free_shipping_with_subtotal' => :'CouponFreeShippingWithSubtotal',
    :'hide_from_customer' => :'BOOLEAN',
    :'merchant_code' => :'String',
    :'merchant_notes' => :'String',
    :'multiple_amounts_off_items' => :'CouponMultipleAmountsOffItems',
    :'no_discount' => :'CouponNoDiscount',
    :'percent_off_item_with_items_quantity_purchase' => :'CouponPercentOffItemWithItemsQuantityPurchase',
    :'percent_off_items' => :'CouponPercentOffItems',
    :'percent_off_items_and_free_shipping' => :'CouponPercentOffItemsAndFreeShipping',
    :'percent_off_items_with_items_purchase' => :'CouponPercentOffItemsWithItemsPurchase',
    :'percent_off_msrp_items' => :'CouponPercentOffMsrpItems',
    :'percent_off_retail_price_items' => :'CouponPercentOffRetailPriceItems',
    :'percent_off_shipping' => :'CouponPercentOffShipping',
    :'percent_off_subtotal' => :'CouponPercentOffSubtotal',
    :'percent_off_subtotal_and_free_shipping' => :'CouponPercentOffSubtotalAndFreeShipping',
    :'percent_off_subtotal_limit' => :'CouponPercentOffSubtotalLimit',
    :'percent_off_subtotal_with_items_purchase' => :'CouponPercentOffSubtotalWithItemsPurchase',
    :'percent_off_subtotal_with_subtotal' => :'CouponPercentOffSubtotalWithSubtotal',
    :'quickbooks_code' => :'String',
    :'restrict_by_postal_codes' => :'Array<String>',
    :'restrict_by_screen_branding_theme_codes' => :'Array<CouponRestriction>',
    :'restrict_by_storefronts' => :'Array<CouponRestriction>',
    :'start_dts' => :'String',
    :'super_coupon' => :'BOOLEAN',
    :'tiered_amount_off_items' => :'CouponTieredAmountOffItems',
    :'tiered_amount_off_subtotal' => :'CouponTieredAmountOffSubtotal',
    :'tiered_percent_off_items' => :'CouponTieredPercentOffItems',
    :'tiered_percent_off_shipping' => :'CouponTieredPercentOffShipping',
    :'tiered_percent_off_subtotal' => :'CouponTieredPercentOffSubtotal',
    :'usable_by' => :'String'
  }
end

Public Instance Methods

==(o) click to toggle source

Checks equality by comparing each attribute. @param [Object] Object to be compared

# File lib/ultracart_api/models/coupon.rb, line 639
def ==(o)
  return true if self.equal?(o)
  self.class == o.class &&
      affiliate_oid == o.affiliate_oid &&
      allow_multiple_one_time_codes == o.allow_multiple_one_time_codes &&
      amount_off_items == o.amount_off_items &&
      amount_off_shipping == o.amount_off_shipping &&
      amount_off_shipping_with_items_purchase == o.amount_off_shipping_with_items_purchase &&
      amount_off_subtotal == o.amount_off_subtotal &&
      amount_off_subtotal_and_free_shipping == o.amount_off_subtotal_and_free_shipping &&
      amount_off_subtotal_and_shipping == o.amount_off_subtotal_and_shipping &&
      amount_off_subtotal_with_block_purchase == o.amount_off_subtotal_with_block_purchase &&
      amount_off_subtotal_with_items_purchase == o.amount_off_subtotal_with_items_purchase &&
      amount_off_subtotal_with_purchase == o.amount_off_subtotal_with_purchase &&
      automatically_apply_coupon_codes == o.automatically_apply_coupon_codes &&
      buy_one_get_one == o.buy_one_get_one &&
      calculated_description == o.calculated_description &&
      can_be_used_with_other_coupons == o.can_be_used_with_other_coupons &&
      coupon_oid == o.coupon_oid &&
      coupon_type == o.coupon_type &&
      description == o.description &&
      discount_item_with_item_purchase == o.discount_item_with_item_purchase &&
      discount_items == o.discount_items &&
      expiration_dts == o.expiration_dts &&
      free_item_and_shipping_with_subtotal == o.free_item_and_shipping_with_subtotal &&
      free_item_with_item_purchase == o.free_item_with_item_purchase &&
      free_item_with_subtotal == o.free_item_with_subtotal &&
      free_items_with_item_purchase == o.free_items_with_item_purchase &&
      free_items_with_mixmatch_purchase == o.free_items_with_mixmatch_purchase &&
      free_shipping == o.free_shipping &&
      free_shipping_specific_items == o.free_shipping_specific_items &&
      free_shipping_with_items_purchase == o.free_shipping_with_items_purchase &&
      free_shipping_with_subtotal == o.free_shipping_with_subtotal &&
      hide_from_customer == o.hide_from_customer &&
      merchant_code == o.merchant_code &&
      merchant_notes == o.merchant_notes &&
      multiple_amounts_off_items == o.multiple_amounts_off_items &&
      no_discount == o.no_discount &&
      percent_off_item_with_items_quantity_purchase == o.percent_off_item_with_items_quantity_purchase &&
      percent_off_items == o.percent_off_items &&
      percent_off_items_and_free_shipping == o.percent_off_items_and_free_shipping &&
      percent_off_items_with_items_purchase == o.percent_off_items_with_items_purchase &&
      percent_off_msrp_items == o.percent_off_msrp_items &&
      percent_off_retail_price_items == o.percent_off_retail_price_items &&
      percent_off_shipping == o.percent_off_shipping &&
      percent_off_subtotal == o.percent_off_subtotal &&
      percent_off_subtotal_and_free_shipping == o.percent_off_subtotal_and_free_shipping &&
      percent_off_subtotal_limit == o.percent_off_subtotal_limit &&
      percent_off_subtotal_with_items_purchase == o.percent_off_subtotal_with_items_purchase &&
      percent_off_subtotal_with_subtotal == o.percent_off_subtotal_with_subtotal &&
      quickbooks_code == o.quickbooks_code &&
      restrict_by_postal_codes == o.restrict_by_postal_codes &&
      restrict_by_screen_branding_theme_codes == o.restrict_by_screen_branding_theme_codes &&
      restrict_by_storefronts == o.restrict_by_storefronts &&
      start_dts == o.start_dts &&
      super_coupon == o.super_coupon &&
      tiered_amount_off_items == o.tiered_amount_off_items &&
      tiered_amount_off_subtotal == o.tiered_amount_off_subtotal &&
      tiered_percent_off_items == o.tiered_percent_off_items &&
      tiered_percent_off_shipping == o.tiered_percent_off_shipping &&
      tiered_percent_off_subtotal == o.tiered_percent_off_subtotal &&
      usable_by == o.usable_by
end
_deserialize(type, value) click to toggle source

Deserializes the data based on type @param string type Data type @param string value Value to be deserialized @return [Object] Deserialized data

# File lib/ultracart_api/models/coupon.rb, line 739
def _deserialize(type, value)
  case type.to_sym
  when :DateTime
    DateTime.parse(value)
  when :Date
    Date.parse(value)
  when :String
    value.to_s
  when :Integer
    value.to_i
  when :Float
    value.to_f
  when :BOOLEAN
    if value.to_s =~ /\A(true|t|yes|y|1)\z/i
      true
    else
      false
    end
  when :Object
    # generic object (usually a Hash), return directly
    value
  when /\AArray<(?<inner_type>.+)>\z/
    inner_type = Regexp.last_match[:inner_type]
    value.map { |v| _deserialize(inner_type, v) }
  when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
    k_type = Regexp.last_match[:k_type]
    v_type = Regexp.last_match[:v_type]
    {}.tap do |hash|
      value.each do |k, v|
        hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
      end
    end
  else # model
    temp_model = UltracartClient.const_get(type).new
    temp_model.build_from_hash(value)
  end
end
_to_hash(value) click to toggle source

Outputs non-array value in the form of hash For object, use to_hash. Otherwise, just return the value @param [Object] value Any valid value @return [Hash] Returns the value in the form of hash

# File lib/ultracart_api/models/coupon.rb, line 805
def _to_hash(value)
  if value.is_a?(Array)
    value.compact.map { |v| _to_hash(v) }
  elsif value.is_a?(Hash)
    {}.tap do |hash|
      value.each { |k, v| hash[k] = _to_hash(v) }
    end
  elsif value.respond_to? :to_hash
    value.to_hash
  else
    value
  end
end
build_from_hash(attributes) click to toggle source

Builds the object from hash @param [Hash] attributes Model attributes in the form of hash @return [Object] Returns the model itself

# File lib/ultracart_api/models/coupon.rb, line 718
def build_from_hash(attributes)
  return nil unless attributes.is_a?(Hash)
  self.class.swagger_types.each_pair do |key, type|
    if type =~ /\AArray<(.*)>/i
      # check to ensure the input is an array given that the attribute
      # is documented as an array but the input is not
      if attributes[self.class.attribute_map[key]].is_a?(Array)
        self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
      end
    elsif !attributes[self.class.attribute_map[key]].nil?
      self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
    end # or else data not found in attributes(hash), not an issue as the data can be optional
  end

  self
end
coupon_type=(coupon_type) click to toggle source

Custom attribute writer method with validation @param [Object] coupon_type Value to be assigned

# File lib/ultracart_api/models/coupon.rb, line 579
def coupon_type=(coupon_type)
  if !coupon_type.nil? && coupon_type.to_s.length > 65
    fail ArgumentError, 'invalid value for "coupon_type", the character length must be smaller than or equal to 65.'
  end

  @coupon_type = coupon_type
end
description=(description) click to toggle source

Custom attribute writer method with validation @param [Object] description Value to be assigned

# File lib/ultracart_api/models/coupon.rb, line 589
def description=(description)
  if !description.nil? && description.to_s.length > 50
    fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 50.'
  end

  @description = description
end
eql?(o) click to toggle source

@see the `==` method @param [Object] Object to be compared

# File lib/ultracart_api/models/coupon.rb, line 705
def eql?(o)
  self == o
end
hash() click to toggle source

Calculates hash code according to all attributes. @return [Fixnum] Hash code

# File lib/ultracart_api/models/coupon.rb, line 711
def hash
  [affiliate_oid, allow_multiple_one_time_codes, amount_off_items, amount_off_shipping, amount_off_shipping_with_items_purchase, amount_off_subtotal, amount_off_subtotal_and_free_shipping, amount_off_subtotal_and_shipping, amount_off_subtotal_with_block_purchase, amount_off_subtotal_with_items_purchase, amount_off_subtotal_with_purchase, automatically_apply_coupon_codes, buy_one_get_one, calculated_description, can_be_used_with_other_coupons, coupon_oid, coupon_type, description, discount_item_with_item_purchase, discount_items, expiration_dts, free_item_and_shipping_with_subtotal, free_item_with_item_purchase, free_item_with_subtotal, free_items_with_item_purchase, free_items_with_mixmatch_purchase, free_shipping, free_shipping_specific_items, free_shipping_with_items_purchase, free_shipping_with_subtotal, hide_from_customer, merchant_code, merchant_notes, multiple_amounts_off_items, no_discount, percent_off_item_with_items_quantity_purchase, percent_off_items, percent_off_items_and_free_shipping, percent_off_items_with_items_purchase, percent_off_msrp_items, percent_off_retail_price_items, percent_off_shipping, percent_off_subtotal, percent_off_subtotal_and_free_shipping, percent_off_subtotal_limit, percent_off_subtotal_with_items_purchase, percent_off_subtotal_with_subtotal, quickbooks_code, restrict_by_postal_codes, restrict_by_screen_branding_theme_codes, restrict_by_storefronts, start_dts, super_coupon, tiered_amount_off_items, tiered_amount_off_subtotal, tiered_percent_off_items, tiered_percent_off_shipping, tiered_percent_off_subtotal, usable_by].hash
end
list_invalid_properties() click to toggle source

Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properties with the reasons

# File lib/ultracart_api/models/coupon.rb, line 536
def list_invalid_properties
  invalid_properties = Array.new
  if !@coupon_type.nil? && @coupon_type.to_s.length > 65
    invalid_properties.push('invalid value for "coupon_type", the character length must be smaller than or equal to 65.')
  end

  if !@description.nil? && @description.to_s.length > 50
    invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 50.')
  end

  if !@merchant_code.nil? && @merchant_code.to_s.length > 20
    invalid_properties.push('invalid value for "merchant_code", the character length must be smaller than or equal to 20.')
  end

  if !@merchant_notes.nil? && @merchant_notes.to_s.length > 250
    invalid_properties.push('invalid value for "merchant_notes", the character length must be smaller than or equal to 250.')
  end

  if !@quickbooks_code.nil? && @quickbooks_code.to_s.length > 20
    invalid_properties.push('invalid value for "quickbooks_code", the character length must be smaller than or equal to 20.')
  end

  if !@usable_by.nil? && @usable_by.to_s.length > 50
    invalid_properties.push('invalid value for "usable_by", the character length must be smaller than or equal to 50.')
  end

  invalid_properties
end
merchant_code=(merchant_code) click to toggle source

Custom attribute writer method with validation @param [Object] merchant_code Value to be assigned

# File lib/ultracart_api/models/coupon.rb, line 599
def merchant_code=(merchant_code)
  if !merchant_code.nil? && merchant_code.to_s.length > 20
    fail ArgumentError, 'invalid value for "merchant_code", the character length must be smaller than or equal to 20.'
  end

  @merchant_code = merchant_code
end
merchant_notes=(merchant_notes) click to toggle source

Custom attribute writer method with validation @param [Object] merchant_notes Value to be assigned

# File lib/ultracart_api/models/coupon.rb, line 609
def merchant_notes=(merchant_notes)
  if !merchant_notes.nil? && merchant_notes.to_s.length > 250
    fail ArgumentError, 'invalid value for "merchant_notes", the character length must be smaller than or equal to 250.'
  end

  @merchant_notes = merchant_notes
end
quickbooks_code=(quickbooks_code) click to toggle source

Custom attribute writer method with validation @param [Object] quickbooks_code Value to be assigned

# File lib/ultracart_api/models/coupon.rb, line 619
def quickbooks_code=(quickbooks_code)
  if !quickbooks_code.nil? && quickbooks_code.to_s.length > 20
    fail ArgumentError, 'invalid value for "quickbooks_code", the character length must be smaller than or equal to 20.'
  end

  @quickbooks_code = quickbooks_code
end
to_body() click to toggle source

to_body is an alias to to_hash (backward compatibility) @return [Hash] Returns the object in the form of hash

# File lib/ultracart_api/models/coupon.rb, line 785
def to_body
  to_hash
end
to_hash() click to toggle source

Returns the object in the form of hash @return [Hash] Returns the object in the form of hash

# File lib/ultracart_api/models/coupon.rb, line 791
def to_hash
  hash = {}
  self.class.attribute_map.each_pair do |attr, param|
    value = self.send(attr)
    next if value.nil?
    hash[param] = _to_hash(value)
  end
  hash
end
to_s() click to toggle source

Returns the string representation of the object @return [String] String presentation of the object

# File lib/ultracart_api/models/coupon.rb, line 779
def to_s
  to_hash.to_s
end
usable_by=(usable_by) click to toggle source

Custom attribute writer method with validation @param [Object] usable_by Value to be assigned

# File lib/ultracart_api/models/coupon.rb, line 629
def usable_by=(usable_by)
  if !usable_by.nil? && usable_by.to_s.length > 50
    fail ArgumentError, 'invalid value for "usable_by", the character length must be smaller than or equal to 50.'
  end

  @usable_by = usable_by
end
valid?() click to toggle source

Check to see if the all the properties in the model are valid @return true if the model is valid

# File lib/ultracart_api/models/coupon.rb, line 567
def valid?
  return false if !@coupon_type.nil? && @coupon_type.to_s.length > 65
  return false if !@description.nil? && @description.to_s.length > 50
  return false if !@merchant_code.nil? && @merchant_code.to_s.length > 20
  return false if !@merchant_notes.nil? && @merchant_notes.to_s.length > 250
  return false if !@quickbooks_code.nil? && @quickbooks_code.to_s.length > 20
  return false if !@usable_by.nil? && @usable_by.to_s.length > 50
  true
end