// 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_ItemType;

/**
 
 Specifies the data for a single item and configures the recommendation engines to use
 when processing the item with GetItemRecommendations.
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_GetRecommendationsRequestContainerType : NSObject <PicoBindable> {

@private
    NSString *_listingFlow;
    Trading_ItemType *_item;
    NSMutableArray *_recommendationEngine;
    NSString *_query;
    NSString *_correlationID;
    NSMutableArray *_deletedField;
    NSNumber *_excludeRelationships;
    NSNumber *_includeConfidence;
    NSMutableArray *_any;

}


/**
 
 The listing flow for which the seller is seeking Listing Analyzer recommendations.
 Not applicable to results from other recommendation engines
 (i.e., the Suggested Attributes engine or the Product Pricing engine).
 The default flow is AddItem.
 
 
 type: string constant in Trading_ListingFlowCodeType.h
*/
@property (nonatomic, retain) NSString *listingFlow;

/**
 
 Contains fields that describe the item for which you are seeking recommendations. <br>
 <br>
 If the Listing Analyzer recommendation engine is run, the applicable fields are
 the same as the fields for AddItem, ReviseItem, or RelistItem
 requests, as determined by the value specified in ListingFlow.
 The item ID (Item.ItemID) is required when the ListingFlow is ReviseItem or RelistItem,
 and it is not applicable when the ListingFlow is AddItem.
 All other item fields are optional, even if listed as required for other calls.
 However, as some tips are dependent on the properties of the item, and as some properties
 have dependencies on other properties, we strongly recommend that you include all the item properties
 that will be included in the AddItem, ReviseItem, or RelistItem request.
 When the Listing Analyzer engine is run, tips will only be returned for fields that are specfied on the item.<br>
 <br>
 When the Product Pricing engine is run, pricing data will be based on the catalog product you specify.
 
 
 type : class Trading_ItemType
*/
@property (nonatomic, retain) Trading_ItemType *item;

/**
 
 A recommendation engine to run. If no engines are specified, all available
 recommendation engines will run. Some engines require additional fields,
 such as Item.PrimaryCategory.CategoryID, to be specified.
 If the ProductPricing engine is specified but Item.ProductListingDetails is not specified,
 no Product Pricing engine results are returned.
 
 
 entry type : string constant in Trading_RecommendationEngineCodeType.h
*/

@property (nonatomic, retain) NSMutableArray *recommendationEngine;

/**
 
 One or more keywords to search for when using the Suggested Attributes engine.
 Required when SuggestedAttributes is specified as the recommendation engine
 (including when no recommendation engines are specified). Only the listing title
 is searched. The words "and" and "or" are treated like any other word.
 Blank searches are not allowed (and result in a warning).
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *query;

/**
 
 Unique key to identify the response that matches this recommendation request container.
 Use this key to distinguish between responses when multiple
 recommendation containers are specified (i.e., for batch requests).
 You define the key. To be useful, each correlation ID should be unique within
 the same call. That is, define a different correlation ID for each recommendation
 request container. (eBay does not validate the uniqueness of these IDs.)
 If specified, the same correlation ID will be returned in the corresponding
 recommendation response (or error response).
 We recommend that you use this when retrieving recommendations for multiple items at once.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *correlationID;

/**
 
 Specifies the name of the field to remove from a listing.
 Applicable when the ListingFlow is ReviseItem or RelistItem.
 See ReviseItem and RelistItem for applicable values.
 
 
 entry type : NSString, wrapper for primitive string
*/

@property (nonatomic, retain) NSMutableArray *deletedField;

/**
 
 If true, the Relationship node is not returned for any
 recommendations. Relationship recommendations tell you whether
 an Item Specific value has a logical dependency on another
 Item Specific.<br>
 <br>
 For example, in a clothing category, Size Type could be
 recommended as a parent of Size, because Size=Small would
 mean something different to buyers depending on whether
 Size Type=Petite or Size Type=Plus.<br>
 <br>
 In general, it is a good idea to retrieve and use relationship
 recommendations, as this data can help buyers find the items
 they want more easily.<br>
 <br>
 Only applicable when RecommendationEngine=ItemSpecifics.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *excludeRelationships;

/**
 
 If true, returns eBay's level of confidence for each
 name and value. Some sellers may find this useful when choosing
 whether to use eBay's recommendation or their own name or value.
 <br>
 <br>
 Only applicable when RecommendationEngine=ItemSpecifics.
 
 
 type : NSNumber, wrapper for primitive bool
*/
@property (nonatomic, retain) NSNumber *includeConfidence;

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

@property (nonatomic, retain) NSMutableArray *any;


@end
