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


@class Trading_RefundFundingSourceArrayType;
@class Trading_RefundTransactionArrayType;
@class Trading_RefundFailureReasonType;
@class Trading_AmountType;

/**
 
 Contains information about a single refund. A refund contains information about the
 amount refunded for an order line item to a single buyer.
 <br/><br/> <span class="tablenote"><strong>Note:</strong> Three RefundType fields
 (RefundFromSeller, RefundTime and TotalRefundToBuyer) are returned (for GetOrders)
 only if a refund has been issued against a Half.com order line item.</span>
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_RefundType : NSObject <PicoBindable> {

@private
    Trading_AmountType *_refundFromSeller;
    Trading_AmountType *_totalRefundToBuyer;
    NSDate *_refundTime;
    NSString *_refundID;
    Trading_RefundTransactionArrayType *_refundTransactionArray;
    Trading_AmountType *_refundAmount;
    NSString *_refundStatus;
    Trading_RefundFailureReasonType *_refundFailureReason;
    Trading_RefundFundingSourceArrayType *_refundFundingSourceArray;
    NSString *_externalReferenceID;
    NSDate *_refundRequestedTime;
    NSDate *_refundCompletionTime;
    NSDate *_estimatedRefundCompletionTime;
    NSString *_sellerNoteToBuyer;
    NSMutableArray *_any;

}


/**
 
 Total amount refunded by the seller for this order line item.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> This field is
             returned (for GetOrders) only if a refund has been issued against a Half.com
 order line item.</span>
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *refundFromSeller;

/**
 
 Total amount refunded to the buyer for this order line item.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> This field is
             returned (for GetOrders) only if a refund has been issued against a Half.com
 order line item.</span>
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *totalRefundToBuyer;

/**
 
 The date and time at which the refund was issued.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> This field is
             returned (for GetOrders) only if a refund has been issued against a Half.com
 order line item.</span>
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *refundTime;

/**
 
 The refund ID for this refund.<br>
             <br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *refundID;

/**
 
 A container consisting of details about an order line item against which the seller issued a refund.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : class Trading_RefundTransactionArrayType
*/
@property (nonatomic, retain) Trading_RefundTransactionArrayType *refundTransactionArray;

/**
 
 The total amount of the refund requested.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *refundAmount;

/**
 
 A code indicating the status of the refund request.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type: string constant in Trading_RefundStatusCodeType.h
*/
@property (nonatomic, retain) NSString *refundStatus;

/**
 
 This describes the reason why a refund was not issued by the seller.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : class Trading_RefundFailureReasonType
*/
@property (nonatomic, retain) Trading_RefundFailureReasonType *refundFailureReason;

/**
 
 This container lists the funding sources for the refund.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : class Trading_RefundFundingSourceArrayType
*/
@property (nonatomic, retain) Trading_RefundFundingSourceArrayType *refundFundingSourceArray;

/**
 
 The unique external reference ID that was passed by the seller when requesting the refund. This ID helps to prevent duplication of refund requests.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *externalReferenceID;

/**
 
 The date and time when the refund was requested.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *refundRequestedTime;

/**
 
 The date and time that the refund was completed.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *refundCompletionTime;

/**
 
 The estimated date and time that the refund is expected to be completed.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *estimatedRefundCompletionTime;

/**
 
 Comments made by the the seller to the buyer.<br/><br/>
             <span class="tablenote"><strong>Note:</strong> For eBay orders,
             Refund containers are only returned for DE/AT orders subject to the new eBay
 payment process.</span>
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *sellerNoteToBuyer;

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

@property (nonatomic, retain) NSMutableArray *any;


@end
