// 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"



/**
 
 Type for the return policy details of an item.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_ReturnPolicyType : NSObject <PicoBindable> {

@private
    NSString *_refundOption;
    NSString *_refund;
    NSString *_returnsWithinOption;
    NSString *_returnsWithin;
    NSString *_returnsAcceptedOption;
    NSString *_returnsAccepted;
    NSString *_description;
    NSString *_warrantyOfferedOption;
    NSString *_warrantyOffered;
    NSString *_warrantyTypeOption;
    NSString *_warrantyType;
    NSString *_warrantyDurationOption;
    NSString *_warrantyDuration;
    NSString *_ean;
    NSString *_shippingCostPaidByOption;
    NSString *_shippingCostPaidBy;
    NSString *_restockingFeeValue;
    NSString *_restockingFeeValueOption;
    NSMutableArray *_any;

}


/**
 
 Indicates how the seller will compensate the buyer for a returned item.
 Use the <b>ReturnPolicy.Description</b> field to explain the policy details
 (such as how quickly the seller will process the refund, whether the seller must
 receive the item before processing the refund, and other useful details.).<br>
 <br>
 The <b>RefundOption</b> field is not supported by following sites:
 <ul>
 <li>Austria (Site ID 16)</li>
 <li>Belgium-Dutch (Site ID 123)</li>
 <li>Belgium-French (Site ID 23)</li>
 <li>France (Site ID 71)</li>
 <li>Germany (Site ID 77)</li>
 <li>Ireland (Site ID 205)</li>
 <li>Italy (Site ID 101)</li>
 <li>Netherlands (Site ID 146)</li>
 <li>Poland (Site ID 212)</li>
 </ul>
 <br>
 <br>
 <b>Applicable values:</b> To get the applicable <b>RefundOption</b> values for
 your site, call <b>GeteBayDetails</b> with
 <b>DetailName</b> set to <b>RefundDetails</b>, and
 then look for the <b>ReturnPolicyDetails.Refund.RefundOption</b> fields in the
 response. <br>
 <br>
 <b>For Add/Revise/Relist/VerifyAdd API calls):</b>
 If the seller accepts returns (<b>ReturnsAcceptedOption=ReturnsAccepted</b>)
 but you do not pass in this <b>RefundOption</b> field when listing the item,
 some eBay sites may set a default value (like 'MoneyBack'), and the seller
 is obligated to honor this setting. Therefore, to avoid unexpected obligations,
 the seller should set a specific value for this field.<br>
 <br>
 <b>For Revise calls only:</b>
 If the listing has bids or sales and/or ends within 12 hours,
 you can't change this value. See the parent <b>ReturnPolicy</b> node description
 for more details.
 <br/><br/>
 <span class="tablenote"><b>Note:</b> As of version 771,
 listings created, revised, or relisted on the US site with deprecated
 <b>RefundOption</b> and/or <b>ReturnsWithinOption</b>
 values (using Add/Revise/Relist API calls) will be blocked.
 <br/><br/>
 For <b>RefundOption</b>, the deprecated values for the US site are <b>MerchandiseCredit</b>
 and <b>Exchange</b>. Instead of these deprecated values, the seller must
 offer a <b>MoneyBack</b> or a <b>MoneyBackOrExchange</b> refund
 option. Consider using the <b>MoneyBackOrExchange</b> option when you have
 the depth of inventory to support an exchange for a different size, color, or undamaged
 unit. Otherwise, use the <b>MoneyBack</b> option if you have limited
 inventory.
 </span>
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *refundOption;

/**
 
 Display string that buyer applications can use to present RefundOption in
 a more user-friendly format to buyers. For example, in GetItem and
 related calls, this value is usually localized and can contain spaces.
 If necessary, you can predict the choice of values based on
 the Refund.Description options returned by GeteBayDetails.<br>
 <br>
 Not applicable as input to the AddItem family of calls. (Use RefundOption instead.)
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *refund;

/**
 
 The buyer can return the item within this period of time from the day they receive the item.
 Use the ReturnPolicy.Description field to explain the policy details.<br>
 <br>
 <b>Applicable values:</b>
 To get the applicable ReturnsWithinOption values for your site,
 call <b>GeteBayDetails</b>
 with <b>DetailName</b> set to <b>ReturnPolicyDetails</b>,
 and then look for the ReturnPolicyDetails.ReturnsWithin.ReturnsWithinOption fields in the response.
 ReturnsWithinOptionsCodeType defines all the possible values.<br>
 <br>
 <b>For AddItem, VerifyAddItem, and RelistItem:</b>
 If the seller accepts returns (ReturnsAcceptedOption=ReturnsAccepted)
 but you do not pass in this ReturnsWithinOption field when listing the item,
 some eBay sites may set a default value (like Days_14), and the seller
 is obligated to honor this setting. Therefore, to avoid unexpected obligations,
 the seller should set a specific value for this field.
 <br/>
 <br/>
 <span class="tablenote"><b>Note:</b>
 As of version 771, listings created, revised, or relisted with
 deprecated <b>RefundOption</b> and/or
 <b>ReturnsWithinOption</b> values (using Add/Revise/Relist
 API calls) will be blocked.
 <br/><br/>
 For <b>ReturnsWithinOption</b>, the deprecated values are <b>Days_3</b>
 and <b>Days_7</b>. Instead of these deprecated values, the seller must offer a
 14-day, 30-day, or 60-day return window.
 </span>
 <br/>
 <b>For ReviseItem only:</b>
 If the listing has bids or sales and/or ends within 12 hours,
 you can't change this value. See the parent ReturnPolicy node description
 for more details.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *returnsWithinOption;

/**
 
 Display string that buyer applications can use to present ReturnsWithinOption in
 a more user-friendly format to buyers. For example, in GetItem and
 related calls, this value is usually localized and can contain spaces.
 If necessary, you can predict the choice of values based on
 the ReturnsWithin.Description options returned by GeteBayDetails.<br>
 <br>
 Not applicable as input to the AddItem family of calls. (Use ReturnsWithinOption instead.)
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *returnsWithin;

/**
 
 Indicates whether the seller allows the buyer to return the item.
 This field is required when ReturnPolicy is specified.
 (If you specify ReturnsNotAccepted, the View Item page may initially show the
 return policy as unspecified. In a future release, the View Item page
 will be updated to indicate that returns are not accepted instead.)<br>
 <br>
 All sites support the ability for a seller to not accept returns.
 If the seller doesn't accept returns, the item must specifically
 indicate ReturnsNotAccepted. (The return policy cannot be omitted
 from the item.)<br>
 <br>
 On the eBay UK and Ireland sites, business sellers must accept
 returns for fixed price items (including auction items with
 Buy It Now, and any other fixed price formats) when the category
 requires a return policy.
 On some European sites (such as eBay Germany (DE)), registered
 business sellers are required to accept returns.
 Your application can call GetUser to determine a user's current
 business seller status.
 <br>
 <br>
 <span class="tablenote"><b>Note:</b>
 In order for Top Rated sellers to receive a Top Rated Plus seal for their listings,
 returns must be accepted for the item (<b>ReturnsAcceptedOption=ReturnsAccepted</b>) and
 handling time should be set to one day (<b>Item.DispatchTimeMax=1</b>).
 Top Rated listings qualify for the greatest average boost in Best Match and
 the 20 percent Final Value Fee discount. For more information on changes to eBay's
 Top Rated seller program, see the
 <a href="http://pages.ebay.com/sellerinformation/news/fallupdate2012/newetrsbadge.html">2012 Fall Seller Update</a> page.
 </span>
 <br>
 <b>Applicable values:</b>
 To get the applicable ReturnsAcceptedOption values for your site, call <b>GeteBayDetails</b>
 with <b>DetailName</b> set to <b>ReturnPolicyDetails</b>,
 and then look for the ReturnPolicyDetails.ReturnsAccepted.Description fields in the response.
 ReturnsAcceptedOptionsCodeType defines all the possible values.<br>
 <br>
 <b>For ReviseItem only:</b>
 If the listing has bids or sales and/or ends within 12 hours,
 you can't change this value. See the parent ReturnPolicy node description
 for more details.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *returnsAcceptedOption;

/**
 
 Display string that buyer applications can use to present ReturnsAcceptedOption in
 a more user-friendly format to buyers. For example, in GetItem and
 related calls, this value is usually localized and can contain spaces.
 If necessary, you can predict the choice of values based on
 the ReturnsAccepted.Description options returned by GeteBayDetails.<br>
 <br>
 Not applicable as input to the AddItem family of calls. (Use ReturnsAcceptedOption instead.)
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *returnsAccepted;

/**
 
 A detailed explanation of the seller's return policy. <br>
 <br>
 eBay uses this text string as-is in the Return Policy section of the View Item page. Avoid HTML, and avoid character entity references (such as &amp;pound; or &amp;#163;). If you include special characters in the return policy description, use the literal UTF-8 or ISO-8559-1 character (e.g. &#163;). <br>
 
 <br>
 <b>For AddItem, VerifyAddItem, and RelistItem:</b>
 If the seller accepts returns (ReturnsAcceptedOption=ReturnsAccepted)
 but does not specify this field when listing the item,
 GetItem returns this as an empty node<br>
 <br>
 <b>For ReviseItem only:</b>
 If the listing has bids or sales and/or ends within 12 hours,
 you can't change this value. See the parent ReturnPolicy node description
 for more details.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *description;

/**
 
 Indicates whether a warranty is offered for the item.<br>
 <br>
 <b>Applicable values:</b>
 To get the applicable WarrantyOfferedOption values for your site,
 call <b>GeteBayDetails</b>
 with <b>DetailName</b> set to <b>ReturnPolicyDetails</b>,
 and then look for the ReturnPolicyDetails.WarrantyOffered.WarrantyOfferedOption fields in the response.
 WarrantyOfferedCodeType defines all the possible values.<br>
 <b>Note:</b> Only the eBay India site supports this field.
 <br>
 <b>For AddItem, VerifyAddItem, and RelistItem:</b>
 If the seller accepts returns (ReturnsAcceptedOption=ReturnsAccepted)
 but you do not pass in this WarrantyOfferedOption field when listing the item,
 the eBay India site may set a default value, and the seller
 is obligated to honor this setting. Therefore, to avoid unexpected obligations,
 the seller should set a specific value for this field.<br>
 <br>
 <span class="tablenote"><b>Note:</b>
 For the US eBay Motors limited warranty (Short-Term Service Agreement) option,
 use Item.LimitedWarrantyEligible instead.<br>
 <br>
 For the US eBay Motors "Is There an Existing Warranty?" option, use
 Item.AttributeSetArray instead.</span><br>
 <br>
 <b>For ReviseItem only:</b>
 If the listing has bids or sales and/or ends within 12 hours,
 you can't change this value. See the parent ReturnPolicy node description
 for more details.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *warrantyOfferedOption;

/**
 
 Display string that buyer applications can use to present WarrantyOfferedOption in
 a more user-friendly format to buyers. For example, in GetItem and
 related calls, this value is usually localized and can contain spaces.
 If necessary, you can predict the choice of values based on
 the WarrantyOffered.Description options returned by GeteBayDetails.<br>
 <br>
 Not applicable as input to the AddItem family of calls. (Use WarrantyOfferedOption instead.)
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *warrantyOffered;

/**
 
 Indicates the source or type of the warranty, if any.<br>
 <br>
 <b>Applicable values:</b>
 To get the applicable WarrantyTypeOption values for your site,
 call <b>GeteBayDetails</b>
 with <b>DetailName</b> set to <b>ReturnPolicyDetails</b>,
 and then look for the ReturnPolicyDetails.WarrantyType.WarrantyTypeOption fields in the response.
 WarrantyTypeOptionsCodeType defines all the possible values.<br>
 <b>Note:</b> Only the eBay India site supports this field.
 <br>
 <b>For AddItem, VerifyAddItem, and RelistItem:</b>
 If the seller accepts returns (ReturnsAcceptedOption=ReturnsAccepted)
 but you do not pass in this WarrantyTypeOption field when listing the item,
 the eBay India site may set a default value, and the seller
 is obligated to honor this setting. Therefore, to avoid unexpected obligations,
 the seller should set a specific value for this field.<br>
 <br>
 <b>For ReviseItem only:</b>
 If the listing has bids or sales and/or ends within 12 hours,
 you can't change this value. See the parent ReturnPolicy node description
 for more details.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *warrantyTypeOption;

/**
 
 Display string that buyer applications can use to present WarrantyTypeOption in
 a more user-friendly format to buyers. For example, in GetItem and
 related calls, this value is usually localized and can contain spaces.
 If necessary, you can predict the choice of values based on
 the WarrantyType.Description options returned by GeteBayDetails.<br>
 <br>
 Not applicable as input to the AddItem family of calls. (Use WarrantyTypeOption instead.)
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *warrantyType;

/**
 
 The warranty period.<br>
 <br>
 <b>Applicable values:</b>
 To get the applicable WarrantyDurationOption values for your site,
 call <b>GeteBayDetails</b>
 with <b>DetailName</b> set to <b>ReturnPolicyDetails</b>,
 and then look for the ReturnPolicyDetails.WarrantyDuration. WarrantyDurationOption fields in the response.
 WarrantyDurationOptionsCodeType defines all the possible values.<br>
 <br>
 <b>For AddItem, VerifyAddItem, and RelistItem:</b>
 If the seller accepts returns (ReturnsAcceptedOption=ReturnsAccepted)
 but you do not pass in this WarrantyDurationOption field when listing the item,
 the eBay India site may set a default value, and the seller
 is obligated to honor this setting. Therefore, to avoid unexpected obligations,
 the seller should set a specific value for this field.<br>
 <br>
 <b>For ReviseItem only:</b>
 If the listing has bids or sales and/or ends within 12 hours,
 you can't change this value. See the parent ReturnPolicy node description
 for more details.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *warrantyDurationOption;

/**
 
 Display string that buyer applications can use to present WarrantyDurationOption in
 a more user-friendly format to buyers. For example, For example, in GetItem and
 related calls, this value is usually localized and can contain spaces.
 If necessary, you can predict the choice of values based on
 the WarrantyDuration.Description options returned by GeteBayDetails.<br>
 <br>
 Not applicable as input to the AddItem family of calls. (Use WarrantyDurationOption instead.)
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *warrantyDuration;

/**
 
 The European Article Number (EAN) associated with the item, if any.
 To determine if your site supports this field, call <b>GeteBayDetails</b>
 with <b>DetailName</b> set to <b>ReturnPolicyDetails</b>,
 and then look for a 'true' value in the ReturnPolicyDetails.EAN field.
 Only returned if the seller has specified this value in their return policy.<br>
 <br>
 <b>For ReviseItem only:</b>
 If the listing has bids or sales and/or ends within 12 hours,
 you can't change this value. See the parent ReturnPolicy node description
 for more details.<br>
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *ean;

/**
 
 The party who pays the shipping cost for a returned item.
 Use the ReturnPolicy.Description field to explain any additional details.<br>
 <br>
 <b>Applicable values:</b>
 To get the applicable ShippingCostPaidByOption values for your site,
 call <b>GeteBayDetails</b>
 with <b>DetailName</b> set to <b>ReturnPolicyDetails</b>,
 and then look for the ReturnPolicyDetails.ShippingCostPaidBy.ShippingCostPaidByOption fields in the response.
 ShippingCostPaidByOptionsCodeType defines all the possible values.<br>
 <br>
 <b>For AddItem, VerifyAddItem, and RelistItem:</b>
 If the seller accepts returns (ReturnsAcceptedOption=ReturnsAccepted)
 but you do not pass in this ShippingCostPaidByOption field when listing the item,
 some eBay sites may set a default value (like Buyer), and the seller
 is obligated to honor this setting. Therefore, to avoid unexpected obligations,
 the seller should set a specific value for this field.<br>
 <br>
 <b>For ReviseItem only:</b>
 If the listing has bids or sales and/or ends within 12 hours,
 you can't change this value. See the parent ReturnPolicy node description
 for more details.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *shippingCostPaidByOption;

/**
 
 Display string that buyer applications can use to present ShippingCostPaidByOption in
 a more user-friendly format to buyers. For example, in GetItem and
 related calls, this value is usually localized and can contain spaces.
 If necessary, you can predict the choice of values based on
 the ShippingCostPaidBy.Description options returned by GeteBayDetails.<br>
 <br>
 Not applicable as input to the AddItem family of calls. (Use ShippingCostPaidByOption instead.)
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *shippingCostPaidBy;

/**
 
 Display string that indicates the restocking fee charged by the
 seller for returned items. This value is directly related to the
 <b>RestockingFeeValueOption</b> value, with the difference
 being that applications can use <b>RestockingFeeValue</b>
 to present the <b>RestockingFeeValueOption</b> value
 in a more user-friendly format when used in a GUI features such as option
 buttons or drop-down lists.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *restockingFeeValue;

/**
 
 This enumeration value indicates the restocking fee charged by the
 seller for returned items. In order to charge the buyer a restocking
 fee when an item is returned, a US seller must input a restocking
 fee value as part of the return policy.
 <br><br>
 <b>For Add/Revise/Relist calls</b>: To obtain the list
 of applicable values, call <b>GeteBayDetails</b> with
 <b>DetailName</b> set to <b>ReturnPolicyDetails</b>.
 Then look for the list of restocking fee value options in the
 <b>ReturnPolicyDetails.RestockingFeeValue</b> container in the
 response.
 <br><br>
 <b>For Get calls</b>: The <b>RestockingFeeValue</b>
 field is directly related to <b>RestockingFeeValueOption</b>, and
 gives a user-friendly description of the restocking fee policy.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *restockingFeeValueOption;

/**
 (public property)
 
 entry type : PicoAnyElement, wrapper for primitive anyelement
*/

@property (nonatomic, retain) NSMutableArray *any;


@end
