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

/**
 
 Retrieves the orders for which the authenticated user is a participant, either as the buyer
 or the seller.&nbsp;<b>Also for Half.com</b>. The call returns all the
 orders that meet the request specifications.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_GetOrdersRequestType : Trading_AbstractRequestType {

@private
    Trading_OrderIDArrayType *_orderIDArray;
    NSDate *_createTimeFrom;
    NSDate *_createTimeTo;
    NSString *_orderRole;
    NSString *_orderStatus;
    NSString *_listingType;
    Trading_PaginationType *_pagination;
    NSDate *_modTimeFrom;
    NSDate *_modTimeTo;
    NSNumber *_numberOfDays;
    NSNumber *_includeFinalValueFee;

}


/**
 
 A container for eBay order IDs. If one or more order IDs are specified in this
 container, no other call-specific input fields are applicable.
 <br><br>
 Not applicable to Half.com.
 
 
 type : class Trading_OrderIDArrayType
*/
@property (nonatomic, retain) Trading_OrderIDArrayType *orderIDArray;

/**
 
 The <b>CreateTimeFrom</b> and <b>CreateTimeTo</b> fields
 specify a date range for retrieving orders. The <b>CreateTimeFrom</b> field is the
 starting date range. All eBay orders that were created within this date range are
 returned in the output. The maximum date range that may be specified with the
 <b>CreateTimeFrom</b> and <b>CreateTimeTo</b> fields is 90
 days. <b>CreateTimeFrom</b>/<b>CreateTimeTo</b> date
 filters are ignored if the <b>NumberOfDays</b> date filter is used in the request, or if
 one or more order IDs are passed in the request.
 <br>
 Applicable to Half.com.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *createTimeFrom;

/**
 
 The <b>CreateTimeFrom</b> and <b>CreateTimeTo</b> fields specify a date range for retrieving
 orders. The <b>CreateTimeTo</b> field is the ending date range. All eBay orders that were
 created within this date range are returned in the output. The maximum
 date range that may be specified with the <b>CreateTimeFrom</b> and <b>CreateTimeTo</b> fields
 is 90 days. If the <b>CreateTimeFrom</b> field is used and the
 <b>CreateTimeTo</b> field is omitted, the "TimeTo" value defaults to the present time or
 to 90 days past the <b>CreateTimeFrom</b> value (if <b>CreateTimeFrom</b> value is more than 90
 days in the past). <b>CreateTimeFrom</b>/<b>CreateTimeTo</b> date filters are ignored if the
 <b>NumberOfDays</b> date filter is used in the request, or if one or more order IDs are
 passed in the request.
 <br><br>
 <span class="tablenote"><strong>Note:</strong>
 If a GetOrders call is made within a few seconds after the creation of a multiple
 line item order, the caller runs the risk of retrieving orders that are in an
 inconsistent state, since the order consolidation involved in a multi-line item order
 may not have been completed. For
 this reason, it is recommended that sellers include the
 <b>CreateTimeTo</b> field in the call, and set its value to: <i>
 Current Time</i> - 2 minutes.
 <br><br>
 Applicable to Half.com.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *createTimeTo;

/**
 
 Filters the returned orders based on the role of the user. The user's role is
 either buyer or seller. If this field is used with a date filter, returned orders
 must satisfy both the date range and the OrderRole value.
 <br>
 Applicable to eBay.com and Half.com.
 
 
 type: string constant in Trading_TradingRoleCodeType.h
*/
@property (nonatomic, retain) NSString *orderRole;

/**
 
 Filters the returned orders by order status. For eBay orders, only the Active and
 Completed values are applicable. The Shipping value can be used for Half.com
 orders. If this field is used with a date filter, returned orders
 must satisfy both the date range and the OrderStatus value.
 <br><br>
 To retrieve orders with a status of Inactive or Cancelled, you must specify
 the order IDs (OrderIDArray.OrderID). When you specify order IDs, no
 other filters may be used.
 <br><br>
 For Half.com, you can get some, but not all orders.
 Orders on Half.com have different order status values from
 eBay orders. When you set ListingType to Half, set OrderStatus
 to Shipped. Otherwise, GetOrders may return incomplete information
 or have indeterminate results.
 
 
 type: string constant in Trading_OrderStatusCodeType.h
*/
@property (nonatomic, retain) NSString *orderStatus;

/**
 
 Specify Half to retrieve Half.com orders.
 <br><br>
 <span class="tablenote"><strong>Note:</strong>
 Do not use this field if you are retrieving eBay orders.
 <br><br>
 This field cannnot be used as a listing type filter on eBay.com. If not
 provided, or if you specify any value other than Half, this field has
 no useful effect and the call retrieves eBay orders of all types. Also,
 you can't retrieve both eBay and Half.com orders in the same response.
 </span>
 
 
 type: string constant in Trading_ListingTypeCodeType.h
*/
@property (nonatomic, retain) NSString *listingType;

/**
 
 If many orders are
 available to retrieve, you may need to call GetOrders multiple times to retrieve all
 the data. Each result set is returned as a page of entries. Use the
 Pagination filters to control the maximum number of entries to
 retrieve per page (i.e., per call), the page number to retrieve, and
 other data.
 
 
 type : class Trading_PaginationType
*/
@property (nonatomic, retain) Trading_PaginationType *pagination;

/**
 
 The ModTimeFrom and ModTimeTo fields specify a date range for retrieving
 existing orders that have been modified within this time window (for example,
 'Incomplete' status to 'Pending' status or 'Pending' status to 'Complete' status). The
 ModTimeFrom field is the starting date range. All eBay orders that were last
 modified within this date range are returned in the output. The maximum date
 range that may be specified with the ModTimeFrom and ModTimeTo fields is 30
 days. ModTimeFrom/ModTimeTo date filters are ignored if the
 CreateTimeFrom/CreateTimeTo or NumberOfDays date filters are used in the
 request, or if one or more order IDs are passed in the request.
 <br><br>
 Applicable to Half.com.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *modTimeFrom;

/**
 
 The ModTimeFrom and ModTimeTo fields specify a date range for retrieving
 existing orders that have been modified within this time window (for example,
 'Incomplete' status to 'Pending' status or 'Pending' status to 'Complete'
 status). The ModTimeTo field is the ending date range. All eBay orders that were
 last modified within this date range are returned in the output. The maximum
 date range that may be specified with the ModTimeFrom and ModTimeTo fields is 30
 days. If the ModTimeFrom field is used and the ModTimeTo field is omitted, the
 "TimeTo" value defaults to the present time (if ModTimeFrom value is less than
 30 days in the past) or to 30 days past the ModTimeFrom value.
 ModTimeFrom/ModTimeTo date filters are ignored if the
 CreateTimeFrom/CreateTimeTo or NumberOfDays date filters are used in the
 request, or if one or more order IDs are passed in the request.
 <br><br>
 Applicable to Half.com.
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *modTimeTo;

/**
 
 This filter specifies the number of days (24-hour periods) in the past to search
 for orders. All eBay orders that were either created or modified within this
 period are returned in the output. This field cannot be used in conjunction with
 the CreateTimeFrom/CreateTimeTo or ModTimeFrom/ModTimeTo date filters. This date
 filter is ignored if one or more order IDs are passed in the request.
 <br><br>
 Applicable to Half.com.
 
 
 type : NSNumber, wrapper for primitive int
*/
@property (nonatomic, retain) NSNumber *numberOfDays;

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


@end
