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

// abstract class

@class Trading_ErrorType;
@class Trading_DuplicateInvocationDetailsType;
@class Trading_BotBlockResponseType;

/**
 
 Base type definition of a response payload that can carry any
 type of payload content with following optional elements:<br>
 - timestamp of response message<br>
 - application-level acknowledgement<br>
 - application-level (business-level) errors and warnings
 
 
 @ingroup EBayAPIInterface
*/
@interface Trading_AbstractResponseType : NSObject <PicoBindable> {

@private
    NSDate *_timestamp;
    NSString *_ack;
    NSString *_correlationID;
    NSMutableArray *_errors;
    NSString *_message;
    NSString *_version;
    NSString *_build;
    NSString *_notificationEventName;
    Trading_DuplicateInvocationDetailsType *_duplicateInvocationDetails;
    NSString *_recipientUserID;
    NSString *_eiasToken;
    NSString *_notificationSignature;
    NSString *_hardExpirationWarning;
    Trading_BotBlockResponseType *_botBlock;
    NSString *_externalUserData;
    NSMutableArray *_any;

}


/**
 
 This value represents the date and time when eBay processed the
 request. The time zone of this value is GMT and the format is the
 ISO 8601 date and time format (YYYY-MM-DDTHH:MM:SS.SSSZ). See Time
 Values in the eBay Web Services guide for information about this
 time format and converting to and from the GMT time zone. <br>
 <br>
 <span class="tablenote"><b>Note:</b>
 GetCategories, GetAttributesCS, GetCategory2CS, GetAttributesXSL,
 GetProductFinder, GetProductFinderXSL, and GetProductSearchPage
 are designed to retrieve very large sets of metadata
 that change once a day or less often. To improve performance,
 these calls return cached responses when you request all available data
 (with no filters). When this occurs, this time value reflects the
 time the cached response was created. Thus, this value is not
 necessarily when the request was processed.
 However, if you specify an input filter to reduce the amount of data
 returned, the calls retrieve the latest data (not cached).
 When this occurs, this time value does reflect when the request
 was processed.</span>
 
 
 type : NSDate, wrapper for primitive date
*/
@property (nonatomic, retain) NSDate *timestamp;

/**
 
 A token representing the application-level acknowledgement code that indicates
 the response status (e.g., success). The AckCodeType list specifies
 the possible values for Ack.
 
 
 type: string constant in Trading_AckCodeType.h
*/
@property (nonatomic, retain) NSString *ack;

/**
 
 Most Trading API calls support a <b>MessageID</b> element in the request
 and a <b>CorrelationID</b> element in the response. If you pass in a
 <b>MessageID</b> in a request, the same value will be returned in the
 <b>CorrelationID</b> field in the response. Pairing these values can
 help you track and confirm that a response is returned for every request and to
 match specific responses to specific requests.
 If you do not pass a <b>MessageID</b> value in the request,
 <b>CorrelationID</b> is not returned.<br>
 <br>
 <span class="tablenote"><b>Note:</b>
 <b>GetCategories</b> is designed to retrieve very large sets of metadata
 that change once a day or less often. To improve performance, these calls return
 cached responses when you request all available data (with no filters). When this
 occurs, the <b>MessageID</b> and <b>CorrelationID</b> fields
 aren't applicable. However, if you specify an input filter to reduce the amount of
 data returned, the calls retrieve the latest data (not cached). When this occurs,
 <b>MessageID</b> and <b>CorrelationID</b> are applicable.
 </span>
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *correlationID;

/**
 
 A list of application-level errors (if any) that occurred when eBay
 processed the request.
 
 
 entry type : class Trading_ErrorType
*/

@property (nonatomic, retain) NSMutableArray *errors;

/**
 
 Supplemental information from eBay, if applicable. May elaborate on
 errors (such as how a listing violates eBay policies) or provide
 useful hints that may help a seller increase sales. This data can
 accompany the call's normal data result set or a result set that
 contains only errors. <br>
 <br>
 Applications must recognize when the Message field is returned and
 provide a means to display the listing hints and error message
 explanations to the user. <br>
 <br>
 The string can return HTML, including TABLE, IMG, and HREF elements.
 In this case, an HTML-based application should be able to include
 the HTML as-is in the HTML page that displays the results.
 A non-HTML application would need to parse the HTML
 and convert the table elements and image references into UI elements
 particular to the programming language used.
 As usual for string data types, the HTML markup elements are escaped
 with character entity references
 (e.g.,&lt;table&gt;&lt;tr&gt;...).
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *message;

/**
 
 The version of the response payload schema. Indicates the version of the
 schema that eBay used to process the request.
 See "Standard Data for All Calls" in the eBay Web Services Guide for information
 on using the response version when troubleshooting "CustomCode" values that appear
 in the response.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *version;

/**
 
 This refers to the specific software build that eBay used when processing the request
 and generating the response. This includes the version number plus additional
 information. eBay Developer Support may request the build information
 when helping you resolve technical issues.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *build;

/**
 
 Event name of the notification. Only returned by Platform Notifications.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *notificationEventName;

/**
 
 Information that explains a failure due to a duplicate InvocationID being
 passed in.
 
 
 type : class Trading_DuplicateInvocationDetailsType
*/
@property (nonatomic, retain) Trading_DuplicateInvocationDetailsType *duplicateInvocationDetails;

/**
 
 Recipient user ID of the notification. Only returned by Platform Notifications.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *recipientUserID;

/**
 
 Unique Identifier of Recipient user ID of the notification. Only returned by
 Platform Notifications (not for regular API call responses).
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *eiasToken;

/**
 
 A Base64-encoded MD5 hash that allows the recipient of a Platform
 Notification to verify this is a valid Platform Notification sent by
 eBay.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *notificationSignature;

/**
 
 Expiration date of the user's authentication token. Only returned
 within the 7-day period prior to a token's expiration. To ensure
 that user authentication tokens are secure and to help avoid a
 user's token being compromised, tokens have a limited life span. A
 token is only valid for a period of time (set by eBay). After this
 amount of time has passed, the token expires and must be replaced
 with a new token.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *hardExpirationWarning;

/**
 
 Container of token, image URL and audio URL.
 
 
 type : class Trading_BotBlockResponseType
*/
@property (nonatomic, retain) Trading_BotBlockResponseType *botBlock;

/**
 
 An application subscribing to notifications can include an XML-compliant
 string, not to exceed 256 characters, which will be returned. The string can
 identify a particular user. Any sensitive information should be passed with due
 caution.
 <br><br>
 To subscribe to and receive eBay Buyer Protection notifications, this field is
 required, and you must pass in 'eBP notification' as a string.
 
 
 type : NSString, wrapper for primitive string
*/
@property (nonatomic, retain) NSString *externalUserData;

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

@property (nonatomic, retain) NSMutableArray *any;


@end
