/* Options: Date: 2025-12-06 05:29:58 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://geniuslink-api-zane.dev.platform.georiot.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetProductMatchesByUrlRequest.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/v3.5/product/matches", Verbs="GET") @DataContract open class GetProductMatchesByUrlRequest : IReturn, IGetProductMatchesByUrlRequest { @DataMember(Name="url") @SerializedName("url") override var url:String? = null @DataMember(Name="includeRaw") @SerializedName("includeRaw") override var includeRaw:Boolean? = null companion object { private val responseType = GetProductMatchesByUrlResponse::class.java } override fun getResponseType(): Any? = GetProductMatchesByUrlRequest.responseType } open class GetProductMatchesByUrlResponse : IGetProductMatchesByUrlResponse { override var products:ArrayList? = null open var responseStatus:ResponseStatus? = null } interface IGetProductMatchesByUrlRequest { var url:String? var includeRaw:Boolean? } @DataContract open class ProductData { @DataMember(Name="attributes", EmitDefaultValue=false) @SerializedName("attributes") open var attributes:ProductAttributes? = null @DataMember(Name="retailerSpecificAttributes", EmitDefaultValue=false) @SerializedName("retailerSpecificAttributes") open var retailerSpecificAttributes:RetailerSpecificAttributes? = null @DataMember(Name="rawSourceData", EmitDefaultValue=false) @SerializedName("rawSourceData") open var rawSourceData:String? = null } @DataContract open class ProductMetadata { @DataMember(Name="title") @SerializedName("title") open var title:String? = null @DataMember(Name="author") @SerializedName("author") open var author:String? = null @DataMember(Name="url") @SerializedName("url") open var url:Uri? = null @DataMember(Name="description") @SerializedName("description") open var description:String? = null @DataMember(Name="retailer") @SerializedName("retailer") open var retailer:String? = null @DataMember(Name="productImages") @SerializedName("productImages") open var productImages:HashMap? = null @DataMember(Name="rawAttributes") @SerializedName("rawAttributes") open var rawAttributes:MatchResult? = null } interface IGetProductMatchesByUrlResponse { var products:ArrayList? } @DataContract open class ProductAttributes { @DataMember(Name="retailer", EmitDefaultValue=false) @SerializedName("retailer") open var retailer:String? = null @DataMember(Name="retailerGuid", EmitDefaultValue=false) @SerializedName("retailerGuid") open var retailerGuid:UUID? = null @DataMember(Name="storefront", EmitDefaultValue=false) @SerializedName("storefront") open var storefront:String? = null @DataMember(Name="storefrontIso2", EmitDefaultValue=false) @SerializedName("storefrontIso2") open var storefrontIso2:String? = null @DataMember(Name="storefrontGuid", EmitDefaultValue=false) @SerializedName("storefrontGuid") open var storefrontGuid:UUID? = null @DataMember(Name="category", EmitDefaultValue=false) @SerializedName("category") open var category:String? = null @DataMember(Name="categoryGuid", EmitDefaultValue=false) @SerializedName("categoryGuid") open var categoryGuid:UUID? = null @DataMember(Name="brand", EmitDefaultValue=false) @SerializedName("brand") open var brand:String? = null @DataMember(Name="brandGuid", EmitDefaultValue=false) @SerializedName("brandGuid") open var brandGuid:UUID? = null @DataMember(Name="manufacturer", EmitDefaultValue=false) @SerializedName("manufacturer") open var manufacturer:String? = null @DataMember(Name="manufacturerGuid", EmitDefaultValue=false) @SerializedName("manufacturerGuid") open var manufacturerGuid:UUID? = null @DataMember(Name="identifiers", EmitDefaultValue=false) @SerializedName("identifiers") open var identifiers:ProductIdentifiers? = null @DataMember(Name="itemAttributes", EmitDefaultValue=false) @SerializedName("itemAttributes") open var itemAttributes:ItemAttributes? = null } @DataContract open class RetailerSpecificAttributes { @DataMember(Name="name", EmitDefaultValue=false) @SerializedName("name") open var name:String? = null @DataMember(Name="description", EmitDefaultValue=false) @SerializedName("description") open var description:String? = null @DataMember(Name="skus", EmitDefaultValue=false) @SerializedName("skus") open var skus:ArrayList? = null @DataMember(Name="asin", EmitDefaultValue=false) @SerializedName("asin") open var asin:String? = null @DataMember(Name="url", EmitDefaultValue=false) @SerializedName("url") open var url:Uri? = null @DataMember(Name="productImages", EmitDefaultValue=false) @SerializedName("productImages") open var productImages:HashMap? = null @DataMember(Name="additionalData", EmitDefaultValue=false) @SerializedName("additionalData") open var additionalData:HashMap? = null } @DataContract open class MatchResult { @DataMember(Name="retailer") @SerializedName("retailer") open var retailer:String? = null @DataMember(Name="retailerGuid") @SerializedName("retailerGuid") open var retailerGuid:UUID? = null @DataMember(Name="storefront") @SerializedName("storefront") open var storefront:String? = null @DataMember(Name="storefrontIso2") @SerializedName("storefrontIso2") open var storefrontIso2:String? = null @DataMember(Name="storefrontGuid") @SerializedName("storefrontGuid") open var storefrontGuid:UUID? = null @DataMember(Name="data") @SerializedName("data") open var Data:ProductData? = null @DataMember(Name="errors") @SerializedName("errors") open var errors:ArrayList? = null @DataMember(Name="matchAccuracy") @SerializedName("matchAccuracy") open var matchAccuracy:String? = null @DataMember(Name="matchingRuleName") @SerializedName("matchingRuleName") open var matchingRuleName:String? = null @DataMember(Name="dataSource") @SerializedName("dataSource") open var dataSource:String? = null } @DataContract open class ProductIdentifiers { @DataMember(Name="productGuid", EmitDefaultValue=false) @SerializedName("productGuid") open var productGuid:UUID? = null @DataMember(Name="gtins", EmitDefaultValue=false) @SerializedName("gtins") open var gtins:ArrayList? = null @DataMember(Name="mpns", EmitDefaultValue=false) @SerializedName("mpns") open var mpns:ArrayList? = null @DataMember(Name="ean8", EmitDefaultValue=false) @SerializedName("ean8") open var ean8:ArrayList? = null @DataMember(Name="ean13", EmitDefaultValue=false) @SerializedName("ean13") open var ean13:ArrayList? = null @DataMember(Name="isbn9", EmitDefaultValue=false) @SerializedName("isbn9") open var isbn9:ArrayList? = null @DataMember(Name="isbn10", EmitDefaultValue=false) @SerializedName("isbn10") open var isbn10:ArrayList? = null @DataMember(Name="isbn13", EmitDefaultValue=false) @SerializedName("isbn13") open var isbn13:ArrayList? = null @DataMember(Name="itf14", EmitDefaultValue=false) @SerializedName("itf14") open var itF14:ArrayList? = null @DataMember(Name="upc12", EmitDefaultValue=false) @SerializedName("upc12") open var upc12:ArrayList? = null } @DataContract open class ItemAttributes { @DataMember(Name="book", EmitDefaultValue=false) @SerializedName("book") open var book:BookAttributes? = null @DataMember(Name="audiobook", EmitDefaultValue=false) @SerializedName("audiobook") open var audiobook:AudiobookAttributes? = null @DataMember(Name="ebook", EmitDefaultValue=false) @SerializedName("ebook") open var eBook:EBookAttributes? = null } @DataContract open class MatchError { @DataMember(Name="message") @SerializedName("message") open var message:String? = null @DataMember(Name="error") @SerializedName("error") open var code:ErrorCode? = null } @DataContract open class BookAttributes { @DataMember(Name="authors", EmitDefaultValue=false) @SerializedName("authors") open var authors:ArrayList? = null } @DataContract open class AudiobookAttributes : BookAttributes() { } @DataContract open class EBookAttributes : BookAttributes() { } enum class ErrorCode { Throttled, TargetRetailerProductNotFound, Unknown, NullMatchResult, NullSourceData, SourceDataProcessingFailure, LocalizationFailure, }