// 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_InternationalShippingServiceOptionsType;
@class Trading_SalesTaxType;
@class Trading_ShippingServiceOptionsType;
@class Trading_AmountType;

/**
 
 Enables a seller to send an order invoice to a buyer. Where applicable, updates to shipping, payment methods, and sales tax made in this request are applied to the specified order as a whole and to the individual order line items whose data are stored in individual <b>Transaction</b> objects.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_SendInvoiceRequestType : Trading_AbstractRequestType {

@private
    NSString *_itemID;
    NSString *_transactionID;
    NSString *_orderID;
    NSMutableArray *_internationalShippingServiceOptions;
    NSMutableArray *_shippingServiceOptions;
    Trading_SalesTaxType *_salesTax;
    NSString *_insuranceOption;
    Trading_AmountType *_insuranceFee;
    NSMutableArray *_paymentMethods;
    NSString *_payPalEmailAddress;
    NSString *_checkoutInstructions;
    NSNumber *_emailCopyToSeller;
    Trading_AmountType *_codCost;
    NSString *_sku;
    NSString *_orderLineItemID;

}


/**
 
 Unique identifier for an eBay item listing. Unless <b>OrderID</b> or
 <b>OrderLineItemID</b> is provided in the request, the <b>ItemID</b> (or <b>SKU</b>) is
 required and must be paired with the corresponding <b>TransactionID</b> to
 identify a single line item order. For a multiple line item (Combined
 Payment) order, <b>OrderID</b> should be used.
 
 
 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. Unless <b>OrderID</b> or <b>OrderLineItemID</b> is
 provided in the request, the <b>TransactionID</b> is required and must be
 paired with the corresponding <b>ItemID</b> to identify a single line item
 order. For a multiple line item (Combined Payment) order, <b>OrderID</b> should
 be used.
 
 
 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) orders.
 <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. A
 Combined Payment order can also be created by the seller through the
 <b>AddOrder</b> call.
 <br><br>
 Unless the <b>ItemID</b> (or SKU) and corresponding <b>TransactionID</b>, or the
 <b>OrderLineItemID</b> is provided in the request to identify a single line
 item order, the <b>OrderID</b> must be specified. If <b>OrderID</b> is specified,
 <b>OrderLineItemID</b>, <b>ItemID</b>, <b>TransactionID</b>, and <b>SKU</b> are ignored if present
 in the same request.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *orderID;

/**
 
 If the buyer has an International shipping address, use this container
 to offer up to three International shipping services. If International
 shipping services are offered, (domestic) <b>ShippingServiceOptions</b> should
 not be included in the request.
 <br><br>
 <span class="tablenote"><b>Note:</b>
 Beginning with Version 719, the number of domestic and international
 shipping services that a seller may offer the buyer is increasing. The
 number of domestic shipping services that may be offered is increasing from
 3 to 4, and the number of international shipping service options is
 increasing from 3 to 5.
 </span>
 
 
 entry type : class Trading_InternationalShippingServiceOptionsType
*/

@property (nonatomic, retain) NSMutableArray *internationalShippingServiceOptions;

/**
 
 If the buyer has a domestic shipping address, use this container
 to offer up to three domestic shipping services. If domestic
 shipping services are offered, <b>InternationalShippingServiceOptions</b> should
 not be included in the request.
 <br><br>
 <span class="tablenote"><b>Note:</b>
 Beginning with Version 719, the number of domestic and international
 shipping services that a seller may offer the buyer is increasing. The
 number of domestic shipping services that may be offered is increasing from
 3 to 4, and the number of international shipping service options is
 increasing from 3 to 5.
 </span>
 
 
 entry type : class Trading_ShippingServiceOptionsType
*/

@property (nonatomic, retain) NSMutableArray *shippingServiceOptions;

/**
 
 Container consisting of sales tax details. The amount of sales tax to
 add to the price of an order is dependent on the sales tax rate in the
 buyer's state and whether sales tax is being applied to the cost of the
 order only or the cost of the order plus shipping.
 
 
 type : class Trading_SalesTaxType
*/
@property (nonatomic, retain) Trading_SalesTaxType *salesTax;

/**
 
 Specifies whether an insurance fee is required. An <b>InsuranceOption</b> value of
 <b>IncludedInShippingHandling</b> cannot be used if the item will use calculated
 shipping. Some shipping carriers automatically include shipping insurance
 for qualifying items.<br>
 
 
 type: string constant in Trading_InsuranceOptionCodeType.h
*/
@property (nonatomic, retain) NSString *insuranceOption;

/**
 Insurance cost, as set by seller, if ShippingType = 1.
 Specify if <b>InsuranceOption</b> is optional or required. Must
 be greater than zero value if a value of Optional or Required is passed in
 <b>InsuranceOption</b>. Value specified should be the total cost of insuring the
 item.<br>
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *insuranceFee;

/**
 
 This optional field allows a US or German seller to add specific payment
 methods that were not in the original item listing. The only valid values
 for this field are 'PayPal' for a US listing, or
 'MoneyXferAcceptedInCheckout' (CIP+) for a DE listing.
 
 
 entry type : string constant in Trading_BuyerPaymentMethodCodeType.h
*/

@property (nonatomic, retain) NSMutableArray *paymentMethods;

/**
 
 If the <b>PaymentMethods</b> field is used and set to PayPal, the seller
 provides his/her PayPal email address in this field.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *payPalEmailAddress;

/**
 
  This field allows the seller to provide a message or instructions
  regarding checkout/payment or the return policy.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *checkoutInstructions;

/**
 
 Flag indicating whether or not the seller wishes to receive an email copy of
 the invoice sent to the buyer.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *emailCopyToSeller;

/**
 
 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>SendInvoice</b> request if 'COD'
 (cash-on-delivery) was the payment method selected by the buyer and it is included
 as the <b>PaymentMethods</b> value in the same request.
 
 
 type : class Trading_AmountType
*/
@property (nonatomic, retain) Trading_AmountType *codCost;

/**
 
 The seller's unique identifier for an item that is being tracked by this
 SKU. If <b>OrderID</b> or <b>OrderLineItemID</b> are not provided, both <b>SKU</b> (or
 <b>ItemID</b>) and corresponding <b>TransactionID</b> must be provided to uniquely
 identify a single line item order. For a multiple line item (Combined
 Payment) order, <b>OrderID</b> must be used.
 <br>
 <br>
 This field can only be used if the <b>Item.InventoryTrackingMethod</b> field
 (set with the <b>AddFixedPriceItem</b> or <b>RelistFixedPriceItem</b> calls) is set to
 SKU.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *sku;

/**
 
 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.
 <br>
 <br>
 Unless the <b>ItemID</b> (or <b>SKU</b>) and corresponding <b>TransactionID</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>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,
 <b>ItemID</b>, <b>TransactionID</b>, and <b>SKU</b> are ignored if present in the same
 request.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *orderLineItemID;


@end
