// 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_AddressType;
@class Trading_ExternalTransactionType;
@class Trading_AmountType;

/**
 
 A seller can use this call to update the payment details, the shipping details,
 and the status of an order.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_ReviseCheckoutStatusRequestType : Trading_AbstractRequestType {

@private
    NSString *_itemID;
    NSString *_transactionID;
    NSString *_orderID;
    Trading_AmountType *_amountPaid;
    NSString *_paymentMethodUsed;
    NSString *_checkoutStatus;
    NSString *_shippingService;
    NSNumber *_shippingIncludedInTax;
    NSString *_checkoutMethod;
    NSString *_insuranceType;
    NSString *_paymentStatus;
    Trading_AmountType *_adjustmentAmount;
    Trading_AddressType *_shippingAddress;
    NSString *_buyerID;
    Trading_AmountType *_shippingInsuranceCost;
    Trading_AmountType *_salesTax;
    Trading_AmountType *_shippingCost;
    NSString *_encryptedID;
    Trading_ExternalTransactionType *_externalTransaction;
    NSString *_multipleSellerPaymentID;
    Trading_AmountType *_codCost;
    NSString *_orderLineItemID;

}


/**
 
 Unique identifier for an eBay item listing. A listing can have multiple
 order line items (transactions), but only one <b>ItemID</b>. An <b>ItemID</b> can be
 paired up with a corresponding <b>TransactionID</b> and used as an input filter
 for <b>ReviseCheckoutStatus</b>.
 <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
 (Combined Payment) order, the <b>ItemID</b>/<b>TransactionID</b> pair must be
 specified. For a multiple line item (Combined Payment) order, <b>OrderID</b>
 should 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.
 <br />
 <br />
 It is also possible to identify a single line item order with a
 <b>ItemID</b>/<b>BuyerID</b> combination, but this is not the most ideal
 approach since an error is returned if there are multiple
 order line items for that combination.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *itemID;

/**
 
 Unique identifier for an eBay order line item (transaction). An order
 line item is created once there is a commitment from a buyer to purchase
 an item. Since an auction listing can only have one order line item
 during the duration of the listing, the <b>TransactionID</b> for
 auction listings is always 0. Along with its corresponding <b>ItemID</b>, a
 <b>TransactionID</b> is used and referenced during an order checkout flow and
 after checkout has been completed. The <b>ItemID</b>/<b>TransactionID</b> pair can be
 used as an input filter for <b>ReviseCheckoutStatus</b>.
 <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
 (Combined Payment) order, the <b>ItemID</b>/<b>TransactionID</b> pair must be
 specified. For a multiple line item (Combined Payment) 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;

/**
 
 A unique identifier that identifies a single line item or multiple line
 item (Combined Payment) 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 a Combined Payment order, the <b>OrderID</b> value is created by eBay
 when the buyer or seller (sharing multiple, common order line items)
 combines multiple order line items into a Combined Payment order through
 the eBay site. A Combined Payment order can also be created by the
 seller through the <b>AddOrder</b> call. The <b>OrderID</b> can be used as an input
 filter for <b>ReviseCheckoutStatus</b>.
 <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;

/**
 
 The total amount paid by the buyer. For a motor vehicle purchased on eBay Motors,
 <b>AmountPaid</b> is the total amount paid by the buyer for the deposit.
 <b>AmountPaid</b> is optional if <b>CheckoutStatus</b> is Incomplete and required if it
 is Complete.
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *amountPaid;

/**
 
 Payment method used by the buyer. This field is required if <b>
 CheckoutStatus</b> is Complete and the payment method is a trusted
 payment method other than PayPal. See eBay's
 <a href="http://pages.ebay.com/help/policies/accepted-payments-policy.html">Accepted Payments Policy</a>.
 If the payment method is PayPal, this field should not be used since only PayPal can set this field's
 value to "PayPal". ReviseCheckoutStatus cannot be used for a non-trusted
 payment method.
 <br>
 <br>
 <span class="tablenote"><b>Note:</b>
 Required or allowed payment methods vary by site and category. Refer to
 <a href="http://developer.ebay.com/DevZone/XML/docs/WebHelp/wwhelp/wwhimpl/js/html/wwhelp.htm?context=eBay_XML_API&topic=PaymentMethodDifferences">
 Payment Method Differences (PaymentMethod)</a> in the eBay
 Trading API Guide for information to help you determine which payment
 methods you are required or allowed to specify.
 </span>
 
 
 type: string constant in Trading_BuyerPaymentMethodCodeType.h
*/
@property (nonatomic, retain) NSString *paymentMethodUsed;

/**
 
 The current checkout status of the order. Often, the seller or
 application will mark this value as 'Complete' if payment has been made. The <b>CheckoutStatus</b>
 value cannot be updated by DE and AT sellers who are subject to the new payment
 process, and an attempt to do so in a <b>ReviseCheckoutStatus</b> call
 will result in a call error.
 <br>
 <br>
 <span class="tablenote"><b>Note:</b>
 The introduction of the new eBay payment process for the entire German and
 Austrian eBay marketplace has been delayed until further notice.</span>
 
 
 type: string constant in Trading_CompleteStatusCodeType.h
*/
@property (nonatomic, retain) NSString *checkoutStatus;

/**
 
 The shipping service selected by the buyer from among the shipping services
 offered by the seller (such as UPS Ground). For a list of valid values, call
 GeteBayDetails with DetailName set to ShippingServiceDetails. The
 ShippingServiceDetails.ValidForSellingFlow flag must also be present.
 Otherwise, that particular shipping service option is no longer valid and
 cannot be offered to buyers through a listing.
 <br/><br/>
 <span class="tablenote">
 <strong>Note:</strong> <strong>ReviseCheckoutStatus</strong> is not available for the Global Shipping program; specifying InternationalPriorityShipping as a value for this field will produce an error.
 </span>
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *shippingService;

/**
 
 An indicator of whether shipping costs were included in the
 taxable amount. .
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *shippingIncludedInTax;

/**
 
 
 type: string constant in Trading_CheckoutMethodCodeType.h
*/
@property (nonatomic, retain) NSString *checkoutMethod;

/**
 
 Enumeration value that indicates whether shipping insurance was offered to and
 selected by the buyer.
 
 
 type: string constant in Trading_InsuranceSelectedCodeType.h
*/
@property (nonatomic, retain) NSString *insuranceType;

/**
 
 Marks the order as paid or awaiting payment in My eBay. If you specify
 Paid, My eBay displays an icon for each item in the order to indicate
 that the order status is Paid. If you specify Pending, this indicates
 that the order is awaiting payment. (Some applications may use Pending
 when the buyer has paid but the funds have not yet been sent to the
 seller's financial institution.)
 <br>
 <br>
 <b>ReviseCheckoutStatus</b> cannot be used to update payment and checkout
 status for a non-trusted payment method. See eBay's <a href="
 http://pages.ebay.com/help/policies/accepted-payments-policy.html">
 Accepted Payments Policy</a> for more information on trusted
 payment methods. If the payment method is PayPal, this field should not
 be used since PayPal automatically set this field's value to "Paid" upon
 receiving the buyer's payment.
 <br>
 <br>
 The <b>PaymentStatus</b> value cannot be updated by DE and AT sellers
 who are subject to the new eBay payment process, and an attempt to do so in a
 <b>ReviseCheckoutStatus</b> call will result in a call error.
 <br>
 <br>
 <span class="tablenote"><b>Note:</b>
 The introduction of the new eBay payment process for the entire German and
 Austrian eBay marketplace has been delayed until further notice.<br>
 
 
 type: string constant in Trading_RCSPaymentStatusCodeType.h
*/
@property (nonatomic, retain) NSString *paymentStatus;

/**
 
 Discount or charge agreed to by the buyer and seller. A positive value
 indicates that the amount is an extra charge being paid to the seller by
 the buyer. A negative value indicates that the amount is a discount given
 to the buyer by the seller.
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *adjustmentAmount;

/**
 
   For internal use.
 
 
 type : class Trading_AddressType
*/
@property (nonatomic, retain) Trading_AddressType *shippingAddress;

/**
 
 eBay user ID for the order's buyer. A single line item order can
 actually be identified by a <b>BuyerID</b>/<b>ItemID</b> pair, but this approach is
 not recommended since an error is returned if there are multiple
 order line items for that combination. <b>BuyerID</b> is ignored if any other valid
 filter or filter combination is used in the same request.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *buyerID;

/**
 
 The amount of money paid for shipping insurance.
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *shippingInsuranceCost;

/**
 
 The sales tax amount for the order. This field should be used if sales tax
 was applied to the order.
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *salesTax;

/**
 
 The amount of money paid for shipping.
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *shippingCost;

/**
 
 Not supported.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *encryptedID;

/**
 
 Container consisting of a unique identifier and timestamp for the electronic
 payment of an order. An <b>ExternalTransactionID</b> is not exposed
 to a new DE or AT seller who is subject to the new eBay payment process.
 <br>
 <br>
 <span class="tablenote"><b>Note:</b>
 The introduction of the new eBay payment process for the entire German and
 Austrian eBay marketplace has been delayed until further notice.<br>
 
 
 type : class Trading_ExternalTransactionType
*/
@property (nonatomic, retain) Trading_ExternalTransactionType *externalTransaction;

/**
 
 Not supported.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *multipleSellerPaymentID;

/**
 
 This dollar value indicates the money due from the buyer upon delivery of the item.
 <br><br>
 This field should only be specified in the <b>ReviseCheckoutStatus</b>
 request if 'COD' (cash-on-delivery) was the payment method selected by the buyer
 and it is included as the <b>PaymentMethodUsed</b> value in the same
 request.
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *codCost;

/**
 
 <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 to revise the
 checkout status of the order.
 <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 (Combined Payment) order, the <b>OrderLineItemID</b> must be specified.
 For a multiple line item (Combined Payment) order, <b>OrderID</b> should 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
