/* Options: Date: 2025-05-09 19:44:35 SwiftVersion: 5.0 Version: 8.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://active-ewebservice.biz/aeservices30/api //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GetActiveE3PartyRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * GetActiveE3PartyRequires active-e Inventory Service or active-e Vortx E-Commerce or active-e 3rd Party E-Commerce */ // @Route("/GetActiveE3Party", "GET") // @DataContract public class GetActiveE3PartyRequest : BaseRequest, IReturn { public typealias Return = GetActiveE3PartyResponse // @DataMember public var startOffset:Int? // @DataMember public var recordCount:Int? /** * Inventory, Packages, or NI. Defaults to Inventory. */ // @DataMember // @ApiMember(DataType="string", Description="Inventory, Packages, or NI. Defaults to Inventory.", Name="InventoryType", ParameterType="query") public var inventoryType:String /** * Only Items in the sent WebCategory will be returned */ // @DataMember // @ApiMember(DataType="string", Description="Only Items in the sent WebCategory will be returned", Name="WebCategory", ParameterType="query") public var webCategory:String /** * If sent, only grab 3 Party Feed records updated after the date passed. */ // @DataMember // @ApiMember(DataType="string", Description="If sent, only grab 3 Party Feed records updated after the date passed.", Format="date", Name="Date", ParameterType="query") public var date:Date? /** * If sent, only the SKU sent will be returned */ // @DataMember // @ApiMember(DataType="string", Description="If sent, only the SKU sent will be returned", Name="Sku", ParameterType="query") public var sku:String // @DataMember public var includeAttributes:Bool? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case startOffset case recordCount case inventoryType case webCategory case date case sku case includeAttributes } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) startOffset = try container.decodeIfPresent(Int.self, forKey: .startOffset) recordCount = try container.decodeIfPresent(Int.self, forKey: .recordCount) inventoryType = try container.decodeIfPresent(String.self, forKey: .inventoryType) webCategory = try container.decodeIfPresent(String.self, forKey: .webCategory) date = try container.decodeIfPresent(Date.self, forKey: .date) sku = try container.decodeIfPresent(String.self, forKey: .sku) includeAttributes = try container.decodeIfPresent(Bool.self, forKey: .includeAttributes) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if startOffset != nil { try container.encode(startOffset, forKey: .startOffset) } if recordCount != nil { try container.encode(recordCount, forKey: .recordCount) } if inventoryType != nil { try container.encode(inventoryType, forKey: .inventoryType) } if webCategory != nil { try container.encode(webCategory, forKey: .webCategory) } if date != nil { try container.encode(date, forKey: .date) } if sku != nil { try container.encode(sku, forKey: .sku) } if includeAttributes != nil { try container.encode(includeAttributes, forKey: .includeAttributes) } } } // @DataContract public class GetActiveE3PartyResponse : BaseResponse { // @DataMember public var startOffset:Int // @DataMember public var recordCount:Int // @DataMember public var records:[ActiveE3Party] = [] required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case startOffset case recordCount case records } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) startOffset = try container.decodeIfPresent(Int.self, forKey: .startOffset) recordCount = try container.decodeIfPresent(Int.self, forKey: .recordCount) records = try container.decodeIfPresent([ActiveE3Party].self, forKey: .records) ?? [] } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if startOffset != nil { try container.encode(startOffset, forKey: .startOffset) } if recordCount != nil { try container.encode(recordCount, forKey: .recordCount) } if records.count > 0 { try container.encode(records, forKey: .records) } } } // @DataContract public class BaseRequest : Codable { /** * This is your AIM API Key provided by Tri-Tech */ // @DataMember // @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header") public var apiKey:String // @DataMember // @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header") public var oAuthToken:String required public init(){} } // @DataContract public class ActiveE3Party : Codable { // @DataMember public var model:String // @DataMember public var sku:String // @DataMember public var webNumber:String // @DataMember public var desc:String // @DataMember public var mfg:String /** * S is serialized, T is Title/Media, A is all other Accessories, P is packages, N is Non-Inventory */ // @DataMember // @ApiMember(DataType="string", Description="S is serialized, T is Title/Media, A is all other Accessories, P is packages, N is Non-Inventory", Name="Type") public var type:String // @DataMember public var barcode:String // @DataMember public var barcodeList:[String] = [] // @DataMember public var selcode:String // @DataMember public var color:String // @DataMember public var size:String // @DataMember public var web_Cat_1:String // @DataMember public var web_Cat_2:String // @DataMember public var web_Cat_3:String // @DataMember public var web_Cat_4:String // @DataMember public var url:String // @DataMember public var image_Small:String // @DataMember public var image_Medium:String // @DataMember public var web_Desc:String // @DataMember public var ebay_cat1:String // @DataMember public var ebay_cat2:String // @DataMember public var ebay_storecat1:String // @DataMember public var ebay_storecat2:String // @DataMember public var ebay_title:String // @DataMember public var ebay_subtitle:String // @DataMember public var ebay_desc:String // @DataMember public var ebay_template:String // @DataMember public var ebay_duration:String // @DataMember public var ebay_format:String // @DataMember public var ebay_paypreset:String // @DataMember public var ebay_shippreset:String // @DataMember public var ebay_shipdest:String // @DataMember public var ebay_image1:String // @DataMember public var ebay_image2:String // @DataMember public var ebay_image3:String // @DataMember public var ebay_image4:String // @DataMember public var ebay_image5:String // @DataMember public var ebay_image6:String // @DataMember public var ebay_image7:String // @DataMember public var ebay_image8:String // @DataMember public var ebay_image9:String // @DataMember public var ebay_image10:String // @DataMember public var ebay_image11:String // @DataMember public var ebay_image12:String // @DataMember public var ebay_image13:String // @DataMember public var ebay_image14:String // @DataMember public var ebay_image15:String // @DataMember public var ebay_image16:String // @DataMember public var ebay_image17:String // @DataMember public var ebay_image18:String // @DataMember public var ebay_image19:String // @DataMember public var ebay_image20:String // @DataMember public var ebay_image21:String // @DataMember public var ebay_image22:String // @DataMember public var ebay_image23:String // @DataMember public var ebay_image24:String // @DataMember public var productCode:String // @DataMember public var dimension:String // @DataMember public var restricted_Qtys:String // @DataMember public var related_Products:String // @DataMember public var upsell_Products:String // @DataMember public var requires_Products:String // @DataMember public var image_Large:String // @DataMember public var audio_URL:String // @DataMember public var mpn:String // @DataMember public var composer:String // @DataMember public var arranger:String // @DataMember public var artist:String // @DataMember public var voicing:String // @DataMember public var level:String // @DataMember public var sample_URL:String // @DataMember public var toc:String // @DataMember public var sE_desc:String // @DataMember public var sE_keywords:String // @DataMember public var sE_title:String // @DataMember public var notes:String // @DataMember public var invoice_Notes:String // @DataMember public var poS_Reminder:String // @DataMember public var locationQtys:[QtyByLoc] = [] // @DataMember public var location_qtys:String // @DataMember public var webcatChild1:String // @DataMember public var webcatChild2:String // @DataMember public var webcatChild3:String // @DataMember public var webcatChild4:String // @DataMember public var qty:Double // @DataMember public var qty_Available:Double // @DataMember public var cost:Double // @DataMember public var our_Price:Double // @DataMember public var retail:Double // @DataMember public var min_Price:Double // @DataMember public var price_A:Double // @DataMember public var price_B:Double // @DataMember public var price_C:Double // @DataMember public var aE_Sale_Price:Double // @DataMember public var weight:Double // @DataMember public var ebay_qty:Double // @DataMember public var ebay_start:Double // @DataMember public var ebay_reserve:Double // @DataMember public var ebay_buyitnow:Double // @DataMember public var wCost:Double // @DataMember public var margin_Perc:Double // @DataMember public var ebay_length:Int // @DataMember public var ebay_width:Int // @DataMember public var ebay_depth:Int // @DataMember public var ebay_wtmajor:Int // @DataMember public var ebay_wtminor:Int // @DataMember public var ebay:Bool // @DataMember public var web:Bool // @DataMember public var published:Bool // @DataMember public var approval:Bool // @DataMember public var call_To_Order:Bool // @DataMember public var discontinued:Bool // @DataMember public var sellSerialsOnline:Bool // @DataMember public var lastUpdated:Date // @DataMember public var inventoryAttributes:[InventoryAttribute] = [] // @DataMember public var extPk:Int // @DataMember public var aimCategorization:String required public init(){} } // @DataContract public class QtyByLoc : Codable { // @DataMember public var location:String // @DataMember public var quantity:Double // @DataMember public var locatorCode:String // @DataMember public var serialItems:[SerialItem] = [] required public init(){} } // @DataContract public class InventoryAttribute : Codable { // @DataMember public var name:String // @DataMember public var value:String required public init(){} } // @DataContract public class SerialItem : Codable { // @DataMember public var sasPk:Int // @DataMember public var serial:String // @DataMember public var retail:Double // @DataMember public var ourPrice:Double // @DataMember public var salePrice:Double? // @DataMember public var aE_Sale_Price:Double // @DataMember public var status:String // @DataMember public var saleInfo:String // @DataMember public var priceA:Double // @DataMember public var priceB:Double // @DataMember public var priceC:Double // @DataMember public var minPrice:Double // @DataMember public var notes:String // @DataMember public var source:String // @DataMember public var attributes:[InventoryAttribute] = [] required public init(){} } // @DataContract public class BaseResponse : Codable { /** * */ // @DataMember // @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body") public var status:BaseResponseResult required public init(){} }