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


@class Trading_MeasureType;

/**
 
 Details pertinent to one or more items for which
 calculated shipping (or flat rate shipping using shipping rate tables with
 weight surcharges) has been offered by the seller, such as package
 dimension and weight and packaging/handling costs. Also returned
 with the data for an item's transaction.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_ShipPackageDetailsType : NSObject <PicoBindable> {

@private
    NSString *_measurementUnit;
    Trading_MeasureType *_packageDepth;
    Trading_MeasureType *_packageLength;
    Trading_MeasureType *_packageWidth;
    NSNumber *_shippingIrregular;
    NSString *_shippingPackage;
    Trading_MeasureType *_weightMajor;
    Trading_MeasureType *_weightMinor;
    NSMutableArray *_any;

}


/**
 
 Specifies the unit type of the weight and dimensions of a
 shipping package.
 If MeasurementUnit is used, it overrides the system specified by measurementSystem.
 If MeasurementUnit and measurementSystem are not specified, the following defaults
 will be used:
 <br><br>
 English: US<br>
 Metric: CA, CAFR, AU
 <br><br>
 CA and CAFR supports both English and Metric, while other sites
 only support the site's default.
 <br><br>
 Use MeasurementUnit with weight and package dimensions.  For example,
 to represent a 5 lbs 2 oz package:
 <br>
 &lt;MeasurementUnit&gt;English&lt;/MeasurementUnit&gt;
 <br>
 &lt;WeightMajor&gt;5&lt;/WeightMajor&gt;
 <br>
 &lt;WeightMinor&gt;2&lt;/WeightMinor&gt;
 
 
 type: string constant in Trading_MeasurementSystemCodeType.h
*/
@property (nonatomic, retain) NSString *measurementUnit;

/**
 
 Depth of the package, in whole number of inches, needed to ship the item.
 This is validated against the selected shipping service.
 Upon mismatch, a message is returned, such as, "Package
 dimensions exceeds maximum allowable limit for
 service XXXXX," where XXXXX is the name of the shipping service.
 For calculated shipping only. Only returned if the seller
 specified the value for the item. (In many cases, the seller
 only specifies the weight fields.)
 <br><br>
 Developer impact: UPS requires dimensions for any Ground packages that are 3
 cubic feet or larger and for all air packages, if they are to provide correct
 shipping cost. If package dimensions are not included for an item listed with
 calculated shipping, the shipping cost returned will be an estimate based on
 standard dimensions for the defined package type. eBay enforces a dimensions
 requirement on listings so that buyers receive accurate calculated shipping
 costs.
 
 
 type : class Trading_MeasureType
*/
@property (nonatomic, retain) Trading_MeasureType *packageDepth;

/**
 
 Length of the package, in whole number of inches, needed to ship the item.
 Upon mismatch, a message is returned, such as, "Package
 dimensions exceeds maximum allowable limit for
 service XXXXX," where XXXXX is the name of the shipping service.
 For calculated shipping only. Only returned if the seller
 specified the value for the item. (In many cases, the seller
 only specifies the weight fields.)
 
 
 type : class Trading_MeasureType
*/
@property (nonatomic, retain) Trading_MeasureType *packageLength;

/**
 
 Width of the package, in whole number of inches, needed to ship the item.
 Upon mismatch, a message is returned, such as, "Package
 dimensions exceeds maximum allowable limit for
 service XXXXX," where XXXXX is the name of the shipping service.
 For calculated shipping only. Only returned if the seller
 specified the value for the item. (In many cases, the seller
 only specifies the weight fields.)
 
 
 type : class Trading_MeasureType
*/
@property (nonatomic, retain) Trading_MeasureType *packageWidth;

/**
 
 Whether a package is irregular and therefore cannot go
 through the stamping machine at the shipping service office and
 thus requires special or fragile handling. For calculated
 shipping only.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *shippingIrregular;

/**
 
 The nature of the package used to ship the item(s).
 Required for calculated shipping only.
 
 
 type: string constant in Trading_ShippingPackageCodeType.h
*/
@property (nonatomic, retain) NSString *shippingPackage;

/**
 
 WeightMajor and WeightMinor are used to specify the weight of a
 shipping package. Here is how you would represent a package
 weight of 5 lbs 2 oz: &lt;WeightMajor unit="lbs"&gt;5&lt;/WeightMajor&gt;
 &lt;WeightMinor unit="oz"&gt;2&lt;/WeightMinor&gt;
 See http://www.ups.com for the maximum weight allowed by UPS.
 Above this maximum, the shipping type becomes Freight, an option
 that can only be selected via the eBay Web site and not via API.
 The weight details are validated against the selected shipping service.
 <br><br>
 For calculated shipping or for flat rate shipping if shipping rate tables are
 specified and the shipping rate table uses weight surcharges.
 Required on input when calculated shipping is used.
 
 
 type : class Trading_MeasureType
*/
@property (nonatomic, retain) Trading_MeasureType *weightMajor;

/**
 
 See the definition of WeightMajor. For calculated shipping or for flat rate shipping
 if shipping rate tables are specified and the shipping rate table uses weight surcharges.
 (When used with the shipping rate tables with weight surcharge, any WeightMinor value greater
 than zero results in WeightMajor getting rounded up in the shipping cost calculation
  for example, 1 lb, 2 oz is rounded up to 2 lbs.)
  <br><br>
 Required on input when calculated shipping is used.
 
 
 type : class Trading_MeasureType
*/
@property (nonatomic, retain) Trading_MeasureType *weightMinor;

/**
 (public property)
 
 entry type : PicoAnyElement, wrapper for primitive anyelement
*/

@property (nonatomic, retain) NSMutableArray *any;


@end
