// 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_ShipmentType;
@class Trading_FeedbackInfoType;

/**
 
 Enables a seller to do various tasks after the creation of a single line item or
 multiple line item order. Typically, this call is used after the
 buyer has paid for the order, but it can be called by the
 seller beforehand. Typical post-payment tasks available to this call include
 marking the order as paid, marking the order as shipped, providing shipment tracking
 details, and leaving feedback for the buyer.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_CompleteSaleRequestType : Trading_AbstractRequestType {

@private
    NSString *_itemID;
    NSString *_transactionID;
    Trading_FeedbackInfoType *_feedbackInfo;
    NSNumber *_shipped;
    NSNumber *_paid;
    NSString *_listingType;
    Trading_ShipmentType *_shipment;
    NSString *_orderID;
    NSString *_orderLineItemID;

}


/**
 
 Unique identifier for an eBay item listing. An <b>ItemID</b> can be paired up
 with a corresponding <b>TransactionID</b> and used in the <b>CompleteSale</b> request
 to identify a single line item order.
 <br><br>
 Unless an <b>OrderLineItemID</b> is used to identify a single line item order,
 or the <b>OrderID</b> is used to identify a single or multiple line item
  order, the <b>ItemID</b>/<b>TransactionID</b> pair must be
 specified. For a multiple line item order, <b>OrderID</b>
 must be used. If <b>OrderID</b> or <b>OrderLineItemID</b> are specified, the
 <b>ItemID</b>/<b>TransactionID</b> pair is ignored if present in the same request.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *itemID;

/**
 
 Unique identifier for an eBay order line item (transaction). The
 <b>TransactionID</b> can be paired up with the corresponding <b>ItemID</b> and used in
 the <b>CompleteSale</b> request to identify a single line item order.
 <br><br>
 Unless an <b>OrderLineItemID</b> is used to identify a single line item order,
 or the <b>OrderID</b> is used to identify a single or multiple line item
  order, the <b>ItemID</b>/<b>TransactionID</b> pair must be
 specified. For a multiple line item order, <b>OrderID</b>
 must be used. If <b>OrderID</b> or <b>OrderLineItemID</b> are specified, the
 <b>ItemID</b>/<b>TransactionID</b> pair is ignored if present in the same request.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *transactionID;

/**
 
 This container is used by the seller to leave feedback for the buyer for the
 order line item identified in the call request. The seller must include and
 specify all fields of this type, including the buyer's eBay User ID, the
 Feedback rating (a seller can only leave a buyer a "Positive" rating), and a
 comment, which helps justify the Feedback rating. The eBay User ID must match
 the buyer who bought the order line item, or an error will occur. An error will
 also occur if Feedback has already been left for the buyer (either through API
 or the Web flow).
 <br><br>
 To determine if Feedback has already been left for an order line item, you can
 call <b class="con">GetFeedback</b>, passing in the
 <b class="con">OrderLineItemID</b> value in the call request.
 
 
 type : class Trading_FeedbackInfoType
*/
@property (nonatomic, retain) Trading_FeedbackInfoType *feedbackInfo;

/**
 
 The seller includes and sets this field to true if the order has been
 shipped. If the call is successful, the order line item(s) are marked as
 Shipped in My eBay.
 <br><br>
 If the seller includes and sets this field to false, the order line item(s)
 are marked (or remain) as Not Shipped in My eBay.
 <br><br>
 If this field is not included, the shipped status of the order line
 item(s) remain unchanged in My eBay.
 <br><br>
 If shipment tracking information is provided for an order line item through
 the Shipment container in the same request, the order line item is marked as
 shipped automatically and the <b>Shipped</b> field is not
 required.
 <br><br>
 For orders going through the new payment process, DE and AT sellers mark an
 order as shipped to expedite the seller payout process.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *shipped;

/**
 
 The seller includes and sets this field to true if the buyer has paid for
 the order. If the call is successful, the
 order line item(s) are marked as Paid in My eBay.
 <br><br>
 If the seller includes and sets this field to false, the order line item(s)
 are marked (or remain) as Not Paid in My eBay.
 <br><br>
 If this field is not included, the paid status of the order line
 item(s) remain unchanged in My eBay.
 <br><br>
 If an order is going through the new eBay payment process, DE and AT sellers
 cannot use this field to mark the order as paid, as this can only be
 done by eBay.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *paid;

/**
 
 This field is required if <b>CompleteSale</b> is being used for a Half.com
 order. The value should be set to <i>Half</i>, which is the only applicable
 <b>ListingType</b> value for this call.
 
 
 type: string constant in Trading_ListingTypeCodeType.h
*/
@property (nonatomic, retain) NSString *listingType;

/**
 
 Container consisting of shipment tracking information, shipped time, and an
 optional text field to provide additional details to the buyer. Setting the
 tracking number and shipping carrier automatically marks the item as shipped
 and the <b>Shipped</b> field is not required.
 <br><br>
 (If you supply <b>ShipmentTrackingNumber</b> you must also supply
 <b>ShippingCarrierUsed</b>, otherwise you will get an error.
 <br><br>
 To modify the shipping tracking number and/or carrier, supply the new number
 in <b>ShipmentTrackingNumber</b> or supply the value for
 <b>ShippingCarrierUsed</b> or both. The old number and carrier
 are deleted and the new ones are added.
 <br><br>
 To simply delete the current tracking details altogether, supply empty
 <b>Shipment</b> tags.
 <br>
 <br>
 <span class="tablenote"><b>Note:</b>
 Top-rated sellers must have a record of uploading shipment tracking
 information (through site or through API) for at least 90 percent of their order line
 items (purchased by U.S. buyers) to keep their status as Top-rated sellers. For more
 information on changes to eBay's Top-rated seller program, see the
 <a href="http://pages.ebay.com/sellerinformation/news/fallupdate2012/newetrsbadge.html">2012 Fall Seller Update</a> page.
 </span>
 <br>
 
 
 type : class Trading_ShipmentType
*/
@property (nonatomic, retain) Trading_ShipmentType *shipment;

/**
 
 A unique identifier that identifies a single line item or multiple line
 item order.
 <br><br>
 For a single line item order, the <b>OrderID</b> value is identical to the
 <b>OrderLineItemID</b> value that is generated upon creation of the order line
 item. For multiple line item orders, the <b>OrderID</b> value is created by eBay
 when the buyer is purchasing multiple order line items from the same seller at the same time.
 For multiple line item orders not going through the eBay Cart flow, a Combined Payment order can be created by the seller
 through the <b>AddOrder</b> call. The <b>OrderID</b> can be used in the <b>CompleteSale</b>
 request to identify a single or multiple line item order.
 <br><br>
 <b>OrderID</b> overrides an <b>OrderLineItemID</b> or <b>ItemID</b>/<b>TransactionID</b> pair if
 these fields are also specified in the same request.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *orderID;

/**
 
 <b>OrderLineItemID</b> is a unique identifier for an eBay order line item and
 is based upon the concatenation of <b>ItemID</b> and <b>TransactionID</b>, with a
 hyphen in between these two IDs. For a single line item order, the
 <b>OrderLineItemID</b> value can be passed into the <b>OrderID</b> field in the
 <b>CompleteSale</b> request.
 <br><br>
 Unless an <b>ItemID</b>/<b>TransactionID</b> pair is used to identify a single line
 item order, or the <b>OrderID</b> is used to identify a single or multiple line
 item order, the <b>OrderLineItemID</b> must be specified.
 For a multiple line item order, <b>OrderID</b> must be
 used. If <b>OrderLineItemID</b> is specified, the <b>ItemID</b>/<b>TransactionID</b> pair are
 ignored if present in the same request.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *orderLineItemID;


@end
