/* 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 //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: GetProductMatchesByCriteriaRequest.* //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.DTOs; using Geniuslink.Products.QueuedService.Contracts.V1.Requests; using GeniuslinkAPI.ServiceModel.V4.Products.Requests; 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 { } [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 MatchCriteria { [DataMember(Name="retailerGuid")] public virtual Guid RetailerGuid { get; set; } [DataMember(Name="timeoutMs")] public virtual uint TimeoutMs { get; set; } [DataMember(Name="countryIso2s")] public virtual IEnumerable CountryIso2s { get; set; } [DataMember(Name="maxStalenessMs")] public virtual ulong MaxStalenessMs { get; set; } [DataMember(Name="targetProductCategories")] public virtual IEnumerable TargetProductCategories { 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 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 IGetProductMatchesByCriteriaRequest { IEnumerable Data { get; set; } IEnumerable MatchCriteria { get; set; } uint MaxTimeoutMs { get; set; } bool SkipCriteriaCheck { get; set; } } } namespace GeniuslinkAPI.ServiceModel.V4.Products.Requests { [Route("/v3.5/product/search", "POST")] public partial class GetProductMatchesByCriteriaRequest : IReturn, IGetProductMatchesByCriteriaRequest { public virtual IEnumerable Data { get; set; } public virtual IEnumerable MatchCriteria { get; set; } public virtual uint MaxTimeoutMs { get; set; } public virtual bool SkipCriteriaCheck { get; set; } } }