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

/**
 
 Retrieves order line item (transaction) information for a specified <b>ItemID</b>. &
 nbsp;<b>Also for Half.com</b>. The call returns zero, one, or
 multiple order line items, depending on the number of items sold from the listing.
 <br><br>
 You can retrieve order line item data for a specific time range or
 number of days. If you don't specify a range or number of days, order line item
 data will be returned for the past 30 days.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_GetItemTransactionsRequestType : Trading_AbstractRequestType {

@private
    NSString *_itemID;
    NSDate *_modTimeFrom;
    NSDate *_modTimeTo;
    NSString *_transactionID;
    Trading_PaginationType *_pagination;
    NSNumber *_includeFinalValueFee;
    NSNumber *_includeContainingOrder;
    NSString *_platform;
    NSNumber *_numberOfDays;
    NSNumber *_includeVariations;
    NSString *_orderLineItemID;

}


/**
 
 Unique identifier for an eBay item listing. A listing can have multiple
 order line items (transactions), but only one <b>ItemID</b>. When you use
 <b>ItemID</b> alone, eBay returns all order line items that are associated with
 the <b>ItemID</b> (listing). If you pair <b>ItemID</b> with a specific <b>TransactionID</b>,
 data on a specific order line item is returned. If <b>OrderLineItemID</b> is
 specified in the request, any <b>ItemID</b>/<b>TransactionID</b> pair specified in the
 same request will be ignored.
 <br>
 <br>
 <span class="tablenote"><b>Note:</b>
 <b>GetItemTransactions</b> doesn't support SKU as an input because this
 call requires an identifier that is unique across your active
 and ended listings. Even when <b>InventoryTrackingMethod</b> is set to
 <b>SKU</b> in a listing, the SKU is only unique across your active
 listings (not your ended listings). To retrieve order line items
 by SKU, use <b>GetSellerTransactions</b> or <b>GetOrderTransactions</b> instead.
 </span>
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *itemID;

/**
 
 The <b>ModTimeFrom</b> and <b>ModTimeTo</b> fields specify a date range for retrieving
 order line items associated with the specified <b>ItemID</b>. The <b>ModTimeFrom</b>
 field is the starting date range. All eBay order line items that were
 last modified within this date range are returned in the output. The
 maximum date range that may be specified is 30 days. This field is not
 applicable if a specific <b>TransactionID</b> or <b>OrderLineItemID</b> is included in
 the request or if the <b>NumberOfDays</b> date filter is used.
 <br><br>
 If you don't specify a <b>ModTimeFrom</b>/<b>ModTimeTo</b> filter, the <b>NumberOfDays</b>
 time filter is used and it defaults to 30 (days).
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *modTimeFrom;

/**
 
 The <b>ModTimeFrom</b> and <b>ModTimeTo</b> fields specify a date range for retrieving
 order line items associated with the specified <b>ItemID</b>. The <b>ModTimeTo</b>
 field is the ending date range. All eBay order line items that were last
 modified within this date range are returned in the output. The maximum
 date range that may be specified is 30 days. If the <b>ModTimeFrom</b> field is
 used and the <b>ModTimeTo</b> field is omitted, the <b>ModTimeTo</b> value defaults to
 the present time or to 30 days past the <b>ModTimeFrom</b> value (if
 <b>ModTimeFrom</b> value is more than 30 days in the past). This field is not
 applicable if a specific <b>TransactionID</b> or <b>OrderLineItemID</b> is included in
 the request or if the <b>NumberOfDays</b> date filter is used.
 <br><br>
 If you don't specify a <b>ModTimeFrom</b>/<b>ModTimeTo</b> filter, the <b>NumberOfDays</b>
 time filter is used and it defaults to 30 (days).
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *modTimeTo;

/**
 
 Include a <b>TransactionID</b> field in the request if you want to retrieve the
 data for a specific order line item (transaction). If a <b>TransactionID</b> is
 provided, any specified time filter is ignored.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *transactionID;

/**
 
 Child elements control pagination of the output. Use the <b>EntriesPerPage</b>
 property to control the number of order line items to
 return per call and the <b>PageNumber</b> property to specify the specific page
 of data to return. If multiple pages of order line items are returned
 based on input criteria and Pagination properties, <b>GetItemTransactions</b>
 will need to be called multiple times (with the <b>PageNumber</b> value being
 increased by 1 each time) to scroll through all results.
 
 
 type : class Trading_PaginationType
*/
@property (nonatomic, retain) Trading_PaginationType *pagination;

/**
 
 Indicates whether to include the Final Value Fee (FVF) for all order
 line items in the response. The Final Value Fee is
 returned in the <b>Transaction.FinalValueFee</b> field. The Final Value Fee is
 assessed right after the creation of an order line item.
 
 <br>
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *includeFinalValueFee;

/**
 
 Include this field and set it to True if you want the <b>ContainingOrder</b>
 container to be returned in the response under each <b>Transaction</b> node.
 For single line item orders, the <b>ContainingOrder.OrderID</b> value takes the
 value of the <b>OrderLineItemID</b> value for the order line item. For Combined
 Payment orders, the <b>ContainingOrder.OrderID</b> value will be shared by at
 least two order line items (transactions) that are part of the same order.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *includeContainingOrder;

/**
 
 Name of the eBay co-branded site upon which the order line item
 was created. This filter can be used to limit the number
 of results that are returned.
 
 
 type: string constant in Trading_TransactionPlatformCodeType.h
*/
@property (nonatomic, retain) NSString *platform;

/**
 
 This time filter specifies the number of days (24-hour periods) in the
 past to search for order line items. All eBay order line items that were
 either created or modified within this period are returned in the
 response. If specified, <b>NumberOfDays</b> will override any date range
 specified with the <b>ModTimeFrom</b>/<b>ModTimeTo</b> time filters. This field is not
 applicable if a specific <b>TransactionID</b> or <b>OrderLineItemID</b> is included in
 the request.
 
 
 type : NSNumber, wrapper for primitive int
*/
@property (nonatomic, retain) NSNumber *numberOfDays;

/**
 
 If included in the request and set to True, all variations defined for
 the item are returned at the root level, including variations
 that have no sales. If not included in the request or set to false, the
 variations with sales are still returned in separate <b>Transaction</b> nodes. This information is intended to help sellers to reconcile their
 local inventory with eBay's records, while processing order line items
 (without requiring a separate call to <b>GetItem</b>).
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *includeVariations;

/**
 
 A unique identifier for an eBay order line item. This field is created
 as soon as there is a commitment to buy from the seller, and its value
 is based upon the concatenation of <b>ItemID</b> and <b>TransactionID</b>, with a
 hyphen in between these two IDs. If you want to retrieve data on a
 specific order line item, you can use an <b>OrderLineItemID</b> value in the
 request instead of the <b>ItemID</b>/<b>TransactionID</b> pair. If an <b>OrderLineItemID</b> is
 provided, any specified time filter is ignored.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *orderLineItemID;


@end
