/* Options: Date: 2025-12-06 05:34:06 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://geniuslink-api-zane.dev.platform.georiot.com //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: False //ExportValueTypes: False IncludeTypes: GetProductMatchesByUrlRequest.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using Geniuslink.Products.QueuedService.Contracts.V1.Requests; using Geniuslink.Products.QueuedService.Contracts.V1.DTOs; using Geniuslink.Products.QueuedService.Contracts.V1.Responses; using GeniuslinkAPI.ServiceModel.V4.Products.Requests; using GeniuslinkAPI.ServiceModel.V4.Products.Responses; namespace Geniuslink.Products.QueuedService.Contracts.V1.DTOs { [DataContract] public partial class AudiobookAttributes : BookAttributes { } [DataContract] public partial class BookAttributes { [DataMember(Name="authors", EmitDefaultValue=false)] public virtual List Authors { get; set; } } [DataContract] public partial class EBookAttributes : BookAttributes { } public enum ErrorCode { Throttled, TargetRetailerProductNotFound, Unknown, NullMatchResult, NullSourceData, SourceDataProcessingFailure, LocalizationFailure, } [DataContract] public partial class ItemAttributes { [DataMember(Name="book", EmitDefaultValue=false)] public virtual BookAttributes Book { get; set; } [DataMember(Name="audiobook", EmitDefaultValue=false)] public virtual AudiobookAttributes Audiobook { get; set; } [DataMember(Name="ebook", EmitDefaultValue=false)] public virtual EBookAttributes EBook { get; set; } } [DataContract] public partial class MatchError { [DataMember(Name="message")] public virtual string Message { get; set; } [DataMember(Name="error")] public virtual ErrorCode Code { get; set; } } [DataContract] public partial class MatchResult { [DataMember(Name="retailer")] public virtual string Retailer { get; set; } [DataMember(Name="retailerGuid")] public virtual Guid RetailerGuid { get; set; } [DataMember(Name="storefront")] public virtual string Storefront { get; set; } [DataMember(Name="storefrontIso2")] public virtual string StorefrontIso2 { get; set; } [DataMember(Name="storefrontGuid")] public virtual Guid StorefrontGuid { get; set; } [DataMember(Name="data")] public virtual ProductData Data { get; set; } [DataMember(Name="errors")] public virtual List Errors { get; set; } [DataMember(Name="matchAccuracy")] public virtual string MatchAccuracy { get; set; } [DataMember(Name="matchingRuleName")] public virtual string MatchingRuleName { get; set; } [DataMember(Name="dataSource")] public virtual string DataSource { get; set; } } [DataContract] public partial class ProductAttributes { [DataMember(Name="retailer", EmitDefaultValue=false)] public virtual string Retailer { get; set; } [DataMember(Name="retailerGuid", EmitDefaultValue=false)] public virtual Guid RetailerGuid { get; set; } [DataMember(Name="storefront", EmitDefaultValue=false)] public virtual string Storefront { get; set; } [DataMember(Name="storefrontIso2", EmitDefaultValue=false)] public virtual string StorefrontIso2 { get; set; } [DataMember(Name="storefrontGuid", EmitDefaultValue=false)] public virtual Guid StorefrontGuid { get; set; } [DataMember(Name="category", EmitDefaultValue=false)] public virtual string Category { get; set; } [DataMember(Name="categoryGuid", EmitDefaultValue=false)] public virtual Guid CategoryGuid { get; set; } [DataMember(Name="brand", EmitDefaultValue=false)] public virtual string Brand { get; set; } [DataMember(Name="brandGuid", EmitDefaultValue=false)] public virtual Guid BrandGuid { get; set; } [DataMember(Name="manufacturer", EmitDefaultValue=false)] public virtual string Manufacturer { get; set; } [DataMember(Name="manufacturerGuid", EmitDefaultValue=false)] public virtual Guid ManufacturerGuid { get; set; } [DataMember(Name="identifiers", EmitDefaultValue=false)] public virtual ProductIdentifiers Identifiers { get; set; } [DataMember(Name="itemAttributes", EmitDefaultValue=false)] public virtual ItemAttributes ItemAttributes { get; set; } } [DataContract] public partial class ProductData { [DataMember(Name="attributes", EmitDefaultValue=false)] public virtual ProductAttributes Attributes { get; set; } [DataMember(Name="retailerSpecificAttributes", EmitDefaultValue=false)] public virtual RetailerSpecificAttributes RetailerSpecificAttributes { get; set; } [DataMember(Name="rawSourceData", EmitDefaultValue=false)] public virtual string RawSourceData { get; set; } } [DataContract] public partial class ProductIdentifiers { [DataMember(Name="productGuid", EmitDefaultValue=false)] public virtual Guid ProductGuid { get; set; } [DataMember(Name="gtins", EmitDefaultValue=false)] public virtual List Gtins { get; set; } [DataMember(Name="mpns", EmitDefaultValue=false)] public virtual List Mpns { get; set; } [DataMember(Name="ean8", EmitDefaultValue=false)] public virtual List Ean8 { get; set; } [DataMember(Name="ean13", EmitDefaultValue=false)] public virtual List Ean13 { get; set; } [DataMember(Name="isbn9", EmitDefaultValue=false)] public virtual List Isbn9 { get; set; } [DataMember(Name="isbn10", EmitDefaultValue=false)] public virtual List Isbn10 { get; set; } [DataMember(Name="isbn13", EmitDefaultValue=false)] public virtual List Isbn13 { get; set; } [DataMember(Name="itf14", EmitDefaultValue=false)] public virtual List ITF14 { get; set; } [DataMember(Name="upc12", EmitDefaultValue=false)] public virtual List Upc12 { get; set; } } [DataContract] public partial class ProductMetadata { [DataMember(Name="title")] public virtual string Title { get; set; } [DataMember(Name="author")] public virtual string Author { get; set; } [DataMember(Name="url")] public virtual Uri Url { get; set; } [DataMember(Name="description")] public virtual string Description { get; set; } [DataMember(Name="retailer")] public virtual string Retailer { get; set; } [DataMember(Name="productImages")] public virtual IDictionary ProductImages { get; set; } [DataMember(Name="rawAttributes")] public virtual MatchResult RawAttributes { get; set; } } [DataContract] public partial class RetailerSpecificAttributes { [DataMember(Name="name", EmitDefaultValue=false)] public virtual string Name { get; set; } [DataMember(Name="description", EmitDefaultValue=false)] public virtual string Description { get; set; } [DataMember(Name="skus", EmitDefaultValue=false)] public virtual List Skus { get; set; } [DataMember(Name="asin", EmitDefaultValue=false)] public virtual string Asin { get; set; } [DataMember(Name="url", EmitDefaultValue=false)] public virtual Uri Url { get; set; } [DataMember(Name="productImages", EmitDefaultValue=false)] public virtual Dictionary ProductImages { get; set; } [DataMember(Name="additionalData", EmitDefaultValue=false)] public virtual Dictionary AdditionalData { get; set; } } } namespace Geniuslink.Products.QueuedService.Contracts.V1.Requests { public partial interface IGetProductMatchesByUrlRequest { string Url { get; set; } bool IncludeRaw { get; set; } } } namespace Geniuslink.Products.QueuedService.Contracts.V1.Responses { public partial interface IGetProductMatchesByUrlResponse { IEnumerable Products { get; set; } } } namespace GeniuslinkAPI.ServiceModel.V4.Products.Requests { [Route("/v3.5/product/matches", "GET")] [DataContract] public partial class GetProductMatchesByUrlRequest : IReturn, IGetProductMatchesByUrlRequest { [DataMember(Name="url")] public virtual string Url { get; set; } [DataMember(Name="includeRaw")] public virtual bool IncludeRaw { get; set; } } } namespace GeniuslinkAPI.ServiceModel.V4.Products.Responses { public partial class GetProductMatchesByUrlResponse : IGetProductMatchesByUrlResponse { public virtual IEnumerable Products { get; set; } public virtual ResponseStatus ResponseStatus { get; set; } } }