// 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_UserIDArrayType;
@class Trading_SKUArrayType;
@class Trading_PaginationType;

/**
 
 Returns a list of the items posted by the authenticated user, including
 the related item data.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_GetSellerListRequestType : Trading_AbstractRequestType {

@private
    NSString *_userID;
    Trading_UserIDArrayType *_motorsDealerUsers;
    NSDate *_endTimeFrom;
    NSDate *_endTimeTo;
    NSNumber *_sort;
    NSDate *_startTimeFrom;
    NSDate *_startTimeTo;
    Trading_PaginationType *_pagination;
    NSString *_granularityLevel;
    Trading_SKUArrayType *_skuArray;
    NSNumber *_includeWatchCount;
    NSNumber *_adminEndedItemsOnly;
    NSNumber *_categoryID;
    NSNumber *_includeVariations;

}


/**
 
 Specifies the seller whose items will be returned. UserID is an optional
 input. If not specified, retrieves listings for the user identified by the
 authentication token passed in the request. Note that since user
 information is anonymous to everyone except the bidder and the seller
 (during an active auction), only sellers looking for information about
 their own listings and bidders who know the user IDs of their sellers will
 be able to make this API call successfully. See <a href=
 "http://developer.ebay.com/DevZone/XML/docs/WebHelp/index.htm?context=eBay_XML_API&topic=AnonymousUserInfo"
 >Working with Anonymous User Information</a>in the eBay Web
 Services Guide for more information.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *userID;

/**
 
 Specifies the list of Motors Dealer sellers for which a special set of
 metrics can be requested. Applies to eBay Motors Pro applications only.
 
 
 type : class Trading_UserIDArrayType
*/
@property (nonatomic, retain) Trading_UserIDArrayType *motorsDealerUsers;

/**
 
 Specifies the earliest (oldest) date to use in a date range filter based on
 item end time. Specify either an end-time range or a start-time range
 filter in every call request. Each of the time ranges must be a value less than
 120 days.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *endTimeFrom;

/**
 
 Specifies the latest (most recent) date to use in a date range filter based
 on item end time. Must be specified if EndTimeFrom is specified.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *endTimeTo;

/**
 
 Specifies the order in which returned items are sorted (based on the end
 dates of the item listings). Valid values:
 <br>
 0 = No sorting<br>
 1 = Sort in descending order<br>
 2 = Sort in ascending order<br>
 
 
 type : NSNumber, wrapper for primitive int
*/
@property (nonatomic, retain) NSNumber *sort;

/**
 
 Specifies the earliest (oldest) date to use in a date range filter based on
 item start time. Each of the time ranges must be a value less than
 120 days. In all calls, at least one date-range filter must be specified
 (i.e., you must specify either the end time range or start time range
 in every request).
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *startTimeFrom;

/**
 
 Specifies the latest (most recent) date to use in a date range filter based
 on item start time. Must be specified if StartTimeFrom is specified.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *startTimeTo;

/**
 
 Contains the data controlling the pagination of the returned values.
 If you set a DetailLevel in this call, you must set pagination values.
 The Pagination field contains
 the number of items to be returned per page of data (per call),
 and the page number to return with the current call.
 
 
 type : class Trading_PaginationType
*/
@property (nonatomic, retain) Trading_PaginationType *pagination;

/**
 
 Specifies the subset of item and user fields to return. See GetSellerList
 in the eBay Web Services guide for a list of the fields that are returned
 for each granularity level. For GetSellerList, use DetailLevel or
 GranularityLevel in a request, but not both. For GetSellerList, if
 GranularityLevel is specified, DetailLevel is ignored.
 
 
 type: string constant in Trading_GranularityLevelCodeType.h
*/
@property (nonatomic, retain) NSString *granularityLevel;

/**
 
 Container for a set of SKUs.
 Filters (reduces) the response to only include active listings
 that the seller listed with any of the specified SKUs.
 If multiple listings include the same SKU, they are
 all returned (assuming they also match the other criteria
 in the GetSellerList request).<br>
 <br>
 SKUArray can be used to retrieve items listed by the user
 identified in AuthToken or in UserID.<br>
 <br>
 <span class="tablenote"><b>Note:</b>
 Listings with matching SKUs are returned regardless of their
 Item.InventoryTrackingMethod settings.
 </span>
 
 
 type : class Trading_SKUArrayType
*/
@property (nonatomic, retain) Trading_SKUArrayType *skuArray;

/**
 
 Specifies whether to include WatchCount in Item nodes returned.
 WatchCount is only returned with DetailLevel ReturnAll.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *includeWatchCount;

/**
 
 Specifies whether to return only items that were administratively ended
 based on a policy violation.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *adminEndedItemsOnly;

/**
 
 The category ID for the items retrieved.
 If you specify CategoryID in a GetSellerList call,
 the response contains only items in the category you specify.
 
 
 type : NSNumber, wrapper for primitive int
*/
@property (nonatomic, retain) NSNumber *categoryID;

/**
 
 If true, the Variations node is returned for all multi-variation
 listings in the response.<br>
 <br>
 Please note that if the seller includes a large number of
 variations in many listings, using this flag may degrade the
 call's performance. Therefore, when you use this flag, you
 may need to reduce the total number of items you're requesting
 at once.
 For example, you may need to use shorter time ranges in the
 EndTime or StartTime filters, fewer entries per page in
 Pagination, and/or SKUArray.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *includeVariations;


@end
