// Generated by xsd compiler for ios/objective-c
// DO NOT CHANGE!

#import <Foundation/Foundation.h>
#import "PicoClassSchema.h"
#import "PicoPropertySchema.h"
#import "PicoConstants.h"
#import "PicoBindable.h"
#import "Trading_AbstractRequestType.h"


@class Trading_FlatShippingDiscountType;
@class Trading_ShippingInsuranceType;
@class Trading_CalculatedHandlingDiscountType;
@class Trading_PromotionalShippingDiscountDetailsType;
@class Trading_CalculatedShippingDiscountType;

/**
 
 Enables a seller to define shipping cost discount profiles for things such as combined
 payments for shipping and handling costs.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_SetShippingDiscountProfilesRequestType : Trading_AbstractRequestType {

@private
    NSString *_currencyID;
    NSString *_combinedDuration;
    NSString *_modifyActionCode;
    Trading_FlatShippingDiscountType *_flatShippingDiscount;
    Trading_CalculatedShippingDiscountType *_calculatedShippingDiscount;
    Trading_CalculatedHandlingDiscountType *_calculatedHandlingDiscount;
    Trading_PromotionalShippingDiscountDetailsType *_promotionalShippingDiscountDetails;
    Trading_ShippingInsuranceType *_shippingInsurance;
    Trading_ShippingInsuranceType *_internationalShippingInsurance;

}


/**
 
 The three-digit code of the currency to be used for shipping cost discounts and
 insurance for combined payment orders. A discount profile can only be associated
 with a listing if the <b>CurrencyID</b> value of the profile matches the
 <b>Item.Currency</b> value specified in a listing.
 <br><br>
 Required if the user creates flat rate shipping discount profiles, a promotional
 discount, a packaging/handling cost profile based on a variable
 discount rule, or if the user defines shipping insurance range/fee pairs.
 <br><br>
 Note: There is a currencyID attribute on many elements of SetShippingDiscountProfiles.
 To avoid an error, be sure to use the same <b>CurrencyID</b> value
 in each occurrence within the same request.
 
 
 type: string constant in Trading_CurrencyCodeType.h
*/
@property (nonatomic, retain) NSString *currencyID;

/**
 
 This field is used to specify the number of days after the sale of an
 item in which the buyer or seller can combine multiple and mutual order
 line items into one Combined Payment order. In a Combined Payment order,
 the buyer makes one payment for all order line items, hence only unpaid
 order line items can be combined into a Combined Payment order.
 
 
 type: string constant in Trading_CombinedPaymentPeriodCodeType.h
*/
@property (nonatomic, retain) NSString *combinedDuration;

/**
 
 Indicates what action to take on the specified flat shipping discount,
 calculated shipping discount or promotional discount.
 If the action is Delete and if a flat rate or calculated shipping discount
 profile is specified, the discount profile identified by
 DiscountProfile.DiscountProfileID is deleted
 (see DiscountProfile.MappedDiscountProfileID for related details).
 
 
 type: string constant in Trading_ModifyActionCodeType.h
*/
@property (nonatomic, retain) NSString *modifyActionCode;

/**
 
 Details of a shipping cost discount profile for flat rate shipping.
 If this is provided, CalculatedShippingDiscount and PromotionalShippingDiscountDetails
 should be omitted.
 
 
 type : class Trading_FlatShippingDiscountType
*/
@property (nonatomic, retain) Trading_FlatShippingDiscountType *flatShippingDiscount;

/**
 
 Details of a shipping cost discount profile for calculated shipping.
 If this is provided, FlatShippingDiscount and PromotionalShippingDiscountDetails
 should be omitted.
 
 
 type : class Trading_CalculatedShippingDiscountType
*/
@property (nonatomic, retain) Trading_CalculatedShippingDiscountType *calculatedShippingDiscount;

/**
 
 This container is used by the seller to specify/modify packaging and handling discounts that are applied
 for combined payment orders.
 
 
 type : class Trading_CalculatedHandlingDiscountType
*/
@property (nonatomic, retain) Trading_CalculatedHandlingDiscountType *calculatedHandlingDiscount;

/**
 
 The data for the promotional shipping discount.
 If this is provided, FlatShippingDiscount and CalculatedShippingDiscount
 should be omitted.
 
 
 type : class Trading_PromotionalShippingDiscountDetailsType
*/
@property (nonatomic, retain) Trading_PromotionalShippingDiscountDetailsType *promotionalShippingDiscountDetails;

/**
 
 Information establishing what fee to apply for domestic shipping insurance
 for combined payment depending on which range the order item-total price
 falls into.
 
 
 type : class Trading_ShippingInsuranceType
*/
@property (nonatomic, retain) Trading_ShippingInsuranceType *shippingInsurance;

/**
 
 Information establishing what fee to apply for international shipping
 insurance for combined payment depending on which range the order item-total
 price falls into.
 
 
 type : class Trading_ShippingInsuranceType
*/
@property (nonatomic, retain) Trading_ShippingInsuranceType *internationalShippingInsurance;


@end
