// 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_PaginationType;

/**
 
 Returns a seller's invoice data for their eBay account, including the account's
 summary data.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_GetAccountRequestType : Trading_AbstractRequestType {

@private
    NSString *_accountHistorySelection;
    NSDate *_invoiceDate;
    NSDate *_beginDate;
    NSDate *_endDate;
    Trading_PaginationType *_pagination;
    NSNumber *_excludeBalance;
    NSNumber *_excludeSummary;
    NSNumber *_includeConversionRate;
    NSString *_accountEntrySortType;
    NSString *_currency;
    NSString *_itemID;

}


/**
 
 Specifies the report format in which to return account entries.
 
 
 type: string constant in Trading_AccountHistorySelectionCodeType.h
*/
@property (nonatomic, retain) NSString *accountHistorySelection;

/**
 
 Specifies the month and year of the invoice requested. The report includes
 only the entries that appear on the seller's invoice in the specified month
 and year. An entry can occur in one month and appear on the next month's
 invoice. Used with SpecifiedInvoice reports.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *invoiceDate;

/**
 
 Specifies the beginning of a date range during which a credit or debit
 occurred. Used when AccountHistorySelection is BetweenSpecifiedDates. Value
 must be less than or equal to the value specified in EndDate. The allowed
 date formats are YYYY-MM-DD and YYYY-MM-DD HH:mm:ss. You can retrieve
 information that is up to 4 months old.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *beginDate;

/**
 
 Specifies the end of a date range during which a credit or debit occurred.
 Used when AccountHistorySelection is BetweenSpecifiedDates. Value must be
 greater than or equal to the value specified in BeginDate. The allowed date
 formats are YYYY-MM-DD and YYYY-MM-DD HH:mm:ss.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *endDate;

/**
 
 Controls pagination of the response. For this request, the valid values of
 Pagination.EntriesPerPage are 0 to 2000, with a default of 500.
 
 
 type : class Trading_PaginationType
*/
@property (nonatomic, retain) Trading_PaginationType *pagination;

/**
 
 Specifies whether to calculate balances. Default is false, which calculates
 balances. The value true means do not calculate balances. If true,
 AccountEntry.Balance and AccountSummary.CurrentBalance are never returned
 in the response.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *excludeBalance;

/**
 
 Specifies whether to return account summary information in an
 AccountSummary node. Default is true, to return AccountSummary.
   
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *excludeSummary;

/**
 
 Specifies whether to retrieve the rate used for the currency conversion for usage transactions.
   
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *includeConversionRate;

/**
 
 Specifies how account entries should be sorted in the response, by an
 element and then in ascending or descending order.
 
 
 type: string constant in Trading_AccountEntrySortTypeCodeType.h
*/
@property (nonatomic, retain) NSString *accountEntrySortType;

/**
 
 Specifies the currency used in the account report. Do not specify Currency
 in the request unless the following conditions are met. First, the user has
 or had multiple accounts under the same UserID. Second, the account
 identified in the request uses the currency you specify in the request. An
 error is returned if no account is found that uses the currency you specify
 in the request.
 
 
 type: string constant in Trading_CurrencyCodeType.h
*/
@property (nonatomic, retain) NSString *currency;

/**
 
 Specifies the item ID for which to return account entries. If ItemID is
 used, all other filters in the request are ignored. If the specified item
 does not exist or if the requesting user is not the seller of the item, an
 error is returned.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *itemID;


@end
