AIM Web Services

<back to all web services

SearchInventoryRequest

SearchInventory
Requires active-e Inventory Service

The following routes are available for this service:
POST, GET/api/SearchInventory
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using AIM.WebService;
using AIM.Model.DB;
using AIM.Global.Utils;
using AIM;

namespace AIM
{
    [DataContract]
    public partial class LocationInfo
    {
        [DataMember]
        public virtual long Id { get; set; }

        [DataMember]
        public virtual string? Desc { get; set; }

        [DataMember]
        public virtual string? ShortDesc { get; set; }

        [DataMember]
        public virtual string? Region { get; set; }

        [DataMember]
        public virtual decimal Latitude { get; set; }

        [DataMember]
        public virtual decimal Longitude { get; set; }

        [DataMember]
        public virtual string? InStorePickup { get; set; }

        [DataMember]
        public virtual bool Active { get; set; }

        [DataMember]
        public virtual int? CashSaleAcct { get; set; }
    }

}

namespace AIM.Global.Utils
{
    [DataContract]
    public partial class BindableObject
    {
    }

}

namespace AIM.Model.DB
{
    [DataContract]
    public partial class SearchInventoryResultSet
        : BindableObject, IAIMInventoryRecord
    {
        [DataMember]
        public virtual long Pk { get; set; }

        [DataMember]
        public virtual string? Description { get; set; }

        [DataMember]
        public virtual string? InventoryType { get; set; }

        [DataMember]
        public virtual string? Manufacturer { get; set; }

        [DataMember]
        public virtual string? Model { get; set; }

        [DataMember]
        public virtual decimal? Category { get; set; }

        [DataMember]
        public virtual string? CategoryDescription { get; set; }

        [DataMember]
        public virtual decimal? SubCategory { get; set; }

        [DataMember]
        public virtual string? SubCategoryDescription { get; set; }

        [DataMember]
        public virtual string? SelectionCode { get; set; }

        [DataMember]
        public virtual string? SelectionCodeDescription { get; set; }

        [DataMember]
        public virtual string? Sku { get; set; }

        [DataMember]
        public virtual string? Mpn { get; set; }

        [DataMember]
        public virtual bool? Discontinued { get; set; }

        [DataMember]
        public virtual string? Attribute1 { get; set; }

        [DataMember]
        public virtual string? Attribute2 { get; set; }

        [DataMember]
        public virtual string? Attribute3 { get; set; }

        [DataMember]
        public virtual string? Attribute4 { get; set; }

        [DataMember]
        public virtual string? Attribute5 { get; set; }

        [DataMember]
        public virtual string? Attribute6 { get; set; }

        [DataMember]
        public virtual string? Attribute7 { get; set; }

        [DataMember]
        public virtual string? Attribute8 { get; set; }

        [DataMember]
        public virtual string? Attribute9 { get; set; }

        [DataMember]
        public virtual string? Attribute10 { get; set; }

        [DataMember]
        public virtual string? Attribute11 { get; set; }

        [DataMember]
        public virtual string? Attribute12 { get; set; }

        [DataMember]
        public virtual string? Attribute13 { get; set; }

        [DataMember]
        public virtual string? Attribute14 { get; set; }

        [DataMember]
        public virtual string? Attribute15 { get; set; }

        [DataMember]
        public virtual string? Attribute16 { get; set; }

        [DataMember]
        public virtual string? Attribute17 { get; set; }

        [DataMember]
        public virtual string? Attribute18 { get; set; }

        [DataMember]
        public virtual string? Attribute19 { get; set; }

        [DataMember]
        public virtual string? Attribute20 { get; set; }

        [DataMember]
        public virtual decimal ComputerQuantity { get; set; }

        [DataMember]
        public virtual decimal OurPrice { get; set; }

        [DataMember]
        public virtual decimal RetailPrice { get; set; }

        [DataMember]
        public virtual decimal ActiveePrice { get; set; }

        [DataMember]
        public virtual decimal PriceA { get; set; }

        [DataMember]
        public virtual decimal PriceB { get; set; }

        [DataMember]
        public virtual decimal PriceC { get; set; }

        [DataMember]
        public virtual decimal MinPrice { get; set; }

        [DataMember]
        public virtual decimal AvailableQuantity { get; set; }

        [DataMember]
        public virtual bool IsMedia { get; set; }

        [DataMember]
        public virtual bool IsPackage { get; set; }

        [DataMember]
        public virtual bool HasImage { get; set; }

        [DataMember]
        public virtual string? SearchTerm { get; set; }

        [DataMember]
        public virtual string? Keywords { get; set; }

        [DataMember]
        public virtual string? KeywordsOrigin { get; set; }

        [DataMember]
        public virtual bool Deleted { get; set; }

        [DataMember]
        public virtual DateTime TimeStamp { get; set; }
    }

}

namespace AIM.WebService
{
    [DataContract]
    public partial class ActiveEInfo
    {
        [DataMember]
        public virtual long ExtPk { get; set; }

        [DataMember]
        public virtual string? Dimension { get; set; }

        [DataMember]
        public virtual string? WebDescription { get; set; }

        [DataMember]
        public virtual string? Summary { get; set; }

        [DataMember]
        public virtual string? SETitle { get; set; }

        [DataMember]
        public virtual string? SEDescription { get; set; }

        [DataMember]
        public virtual string? SEKeywords { get; set; }

        [DataMember]
        public virtual string? SEAltText { get; set; }

        [DataMember]
        public virtual string? SEHtmlFreeText { get; set; }

        [DataMember]
        public virtual bool Unpublished { get; set; }

        [DataMember]
        public virtual bool FreeShipping { get; set; }

        [DataMember]
        public virtual bool IsFeatured { get; set; }

        [DataMember]
        public virtual List<long>? WebCategoryIds { get; set; }

        [DataMember]
        public virtual bool HidePrice { get; set; }
    }

    [DataContract]
    public partial class AddOnDetail
    {
        [DataMember]
        public virtual long SadPk { get; set; }

        [DataMember]
        public virtual long SkuPk { get; set; }

        [DataMember]
        public virtual long CatPk { get; set; }

        [DataMember]
        public virtual long SubPk { get; set; }

        [DataMember]
        public virtual string? Item { get; set; }

        [DataMember]
        public virtual string? Description { get; set; }

        [DataMember]
        public virtual decimal Price { get; set; }
    }

    [DataContract]
    public partial class BaseRequest
    {
        ///<summary>
        ///This is your AIM API Key provided by Tri-Tech
        ///</summary>
        [DataMember]
        [ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="Header")]
        public virtual string ApiKey { get; set; }

        ///<summary>
        ///The OAuthToken token return by AeServices30
        ///</summary>
        [DataMember]
        [ApiMember(DataType="string", Description="The OAuthToken token return by AeServices30", IsRequired=true, Name="OAuthToken", ParameterType="Header")]
        public virtual string OAuthToken { get; set; }

        ///<summary>
        ///The Device ID of the Mobile Device. Not used for non-mobile devices.
        ///</summary>
        [DataMember]
        [ApiMember(DataType="string", Description="The Device ID of the Mobile Device. Not used for non-mobile devices.", Name="DeviceId", ParameterType="Header")]
        public virtual string? DeviceId { get; set; }

        ///<summary>
        ///An identifier for your integration
        ///</summary>
        [DataMember]
        [ApiMember(DataType="string", Description="An identifier for your integration", IsRequired=true, Name="AppId", ParameterType="Header")]
        public virtual string AppId { get; set; }
    }

    [DataContract]
    public partial class BaseResponse
    {
        ///<summary>
        ///
        ///</summary>
        [DataMember]
        [ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")]
        public virtual BaseResponseResult? Status { get; set; }
        [DataContract]
        public partial class BaseResponseResult
        {
            ///<summary>
            ///
            ///</summary>
            [DataMember]
            [ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")]
            public virtual string? StatusCode { get; set; }

            ///<summary>
            ///
            ///</summary>
            [DataMember]
            [ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")]
            public virtual string? Login { get; set; }

            ///<summary>
            ///
            ///</summary>
            [DataMember]
            [ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")]
            public virtual string? ErrorCode { get; set; }

            ///<summary>
            ///
            ///</summary>
            [DataMember]
            [ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")]
            public virtual string? ErrorDisplayText { get; set; }

            ///<summary>
            ///
            ///</summary>
            [DataMember]
            [ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")]
            public virtual string? ErrorMessage { get; set; }

            ///<summary>
            ///
            ///</summary>
            [DataMember]
            [ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")]
            public virtual string? DomainName { get; set; }

            ///<summary>
            ///
            ///</summary>
            [DataMember]
            [ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")]
            public virtual string? IpAddress { get; set; }
        }

    }

    [DataContract]
    public partial class BaseSecureRequest
        : BaseRequest
    {
        ///<summary>
        ///The Login Token return by the Security API. Required for secured calls.
        ///</summary>
        [DataMember]
        [ApiMember(DataType="string", Description="The Login Token return by the Security API. Required for secured calls.", Name="Token", ParameterType="Header")]
        public virtual string? Token { get; set; }
    }

    [DataContract]
    public partial class ImageInfo
    {
        [DataMember]
        public virtual string? Url { get; set; }

        [DataMember]
        public virtual string? ImageStream { get; set; }

        [DataMember]
        public virtual string? ImageSize { get; set; }

        [DataMember]
        public virtual string? ErrorMessage { get; set; }

        [DataMember]
        public virtual long? UriPk { get; set; }
    }

    [DataContract]
    public partial class InventoryDetailAttribute
    {
        [DataMember]
        public virtual string? Name { get; set; }

        [DataMember]
        public virtual string? Value { get; set; }

        [DataMember]
        public virtual int Priority { get; set; }

        ///<summary>
        ///1 is 'Don't Send to Web', 2 is 'Send To Web'
        ///</summary>
        [DataMember]
        [ApiMember(DataType="int", Description="1 is 'Don't Send to Web', 2 is 'Send To Web'", Name="WebType", ParameterType="query")]
        public virtual int WebType { get; set; }
    }

    [DataContract]
    public partial class InventoryDetailByLocation
    {
        [DataMember]
        public virtual long SaqPk { get; set; }

        [DataMember]
        public virtual LocationInfo? LocationInfo { get; set; }

        [DataMember]
        public virtual List<InventoryDetailBySerial>? Serials { get; set; }

        [DataMember]
        public virtual List<InventoryDetailSubstitute>? Substitutes { get; set; }

        [DataMember]
        public virtual decimal Retail { get; set; }

        [DataMember]
        public virtual decimal OurPrice { get; set; }

        [DataMember]
        public virtual decimal? SalePrice { get; set; }

        [DataMember]
        public virtual string? SaleInfo { get; set; }

        [DataMember]
        public virtual decimal PriceA { get; set; }

        [DataMember]
        public virtual decimal PriceB { get; set; }

        [DataMember]
        public virtual decimal PriceC { get; set; }

        [DataMember]
        public virtual decimal MinPrice { get; set; }

        [DataMember]
        public virtual decimal ActiveEPrice { get; set; }

        [DataMember]
        public virtual decimal CustomerPrice { get; set; }

        [DataMember]
        public virtual bool AllowPriceChange { get; set; }

        [DataMember]
        public virtual decimal Qty { get; set; }

        [DataMember]
        public virtual decimal QtyAvail { get; set; }

        [DataMember]
        public virtual decimal ActiveeHoldbackQty { get; set; }

        [DataMember]
        public virtual int ReorderMin { get; set; }

        [DataMember]
        public virtual int ReorderMax { get; set; }

        [DataMember]
        public virtual decimal? AverageCost { get; set; }

        [DataMember]
        public virtual decimal? WeightedCost { get; set; }

        [DataMember]
        public virtual string? Locator { get; set; }

        [DataMember]
        public virtual string? SelectionCode { get; set; }

        [DataMember]
        public virtual string? SelectionCodeDescription { get; set; }

        [DataMember]
        public virtual decimal Spiff { get; set; }

        [DataMember]
        public virtual decimal? CurrentSpotCheckQty { get; set; }

        [DataMember]
        public virtual decimal QtyOut { get; set; }

        [DataMember]
        public virtual decimal QtyOnOrder { get; set; }

        [DataMember]
        public virtual decimal AvailableForSTR { get; set; }

        [DataMember]
        public virtual bool AEPricingLocation { get; set; }
    }

    [DataContract]
    public partial class InventoryDetailBySerial
    {
        [DataMember]
        public virtual long SasPk { get; set; }

        [DataMember]
        public virtual string? Serial { get; set; }

        [DataMember]
        public virtual decimal Retail { get; set; }

        [DataMember]
        public virtual decimal OurPrice { get; set; }

        [DataMember]
        public virtual decimal? SalePrice { get; set; }

        [DataMember]
        public virtual string? Status { get; set; }

        [DataMember]
        public virtual string? SaleInfo { get; set; }

        [DataMember]
        public virtual decimal PriceA { get; set; }

        [DataMember]
        public virtual decimal PriceB { get; set; }

        [DataMember]
        public virtual decimal PriceC { get; set; }

        [DataMember]
        public virtual decimal MinPrice { get; set; }

        [DataMember]
        public virtual decimal ActiveEPrice { get; set; }

        [DataMember]
        public virtual bool AllowPriceChange { get; set; }

        [DataMember]
        public virtual decimal? Cost { get; set; }

        [DataMember]
        public virtual decimal? WeightedCost { get; set; }

        [DataMember]
        public virtual string? Notes { get; set; }

        [DataMember]
        public virtual List<InventoryDetailAttribute>? Attributes { get; set; }

        [DataMember]
        public virtual List<ImageInfo>? Images { get; set; }

        [DataMember]
        public virtual bool HasImages { get; set; }

        [DataMember]
        public virtual bool IsActiveeHoldback { get; set; }

        [DataMember]
        public virtual int? CustomerAcct { get; set; }

        [DataMember]
        public virtual bool AvailableForSTR { get; set; }
    }

    [DataContract]
    public partial class InventoryDetailByVariant
    {
        [DataMember]
        public virtual long SkuPk { get; set; }

        [DataMember]
        public virtual string? Sku { get; set; }

        [DataMember]
        public virtual decimal? VendorCost { get; set; }

        [DataMember]
        public virtual string? VendorName { get; set; }

        [DataMember]
        public virtual List<InventoryDetailAttribute>? Attributes { get; set; }

        [DataMember]
        public virtual List<InventoryDetailByLocation>? LocationDetails { get; set; }

        [DataMember]
        public virtual List<ImageInfo>? Images { get; set; }

        [DataMember]
        public virtual bool HasImages { get; set; }

        [DataMember]
        public virtual List<string>? Barcodes { get; set; }
    }

    [DataContract]
    public partial class InventoryDetailResponse
        : BaseResponse
    {
        [DataMember]
        public virtual long SadPk { get; set; }

        [DataMember]
        public virtual string? InvType { get; set; }

        [DataMember]
        public virtual string? Model { get; set; }

        [DataMember]
        public virtual string? Description { get; set; }

        [DataMember]
        public virtual string? Mfg { get; set; }

        [DataMember]
        public virtual int Category { get; set; }

        [DataMember]
        public virtual string? CategoryDescription { get; set; }

        [DataMember]
        public virtual int SubCategory { get; set; }

        [DataMember]
        public virtual string? SubCategoryDescription { get; set; }

        [DataMember]
        public virtual string? SelectionCode { get; set; }

        [DataMember]
        public virtual string? SelectionCodeDescription { get; set; }

        [DataMember]
        public virtual bool SellSerialsOnline { get; set; }

        [DataMember]
        public virtual string? Notes { get; set; }

        [DataMember]
        public virtual List<ImageInfo>? Images { get; set; }

        [DataMember]
        public virtual bool HasImages { get; set; }

        [DataMember]
        public virtual List<InventoryDetailByVariant>? VariantDetails { get; set; }

        [DataMember]
        public virtual List<AddOnDetail>? AddOns { get; set; }

        [DataMember]
        public virtual ActiveEInfo? ActiveEInfo { get; set; }

        [DataMember]
        public virtual decimal Weight { get; set; }

        [DataMember]
        public virtual string? Unit { get; set; }

        [DataMember]
        public virtual decimal ShipCharge { get; set; }
    }

    [DataContract]
    public partial class InventoryDetailSubstitute
    {
        [DataMember]
        public virtual string? Model { get; set; }

        [DataMember]
        public virtual string? Sku { get; set; }

        [DataMember]
        public virtual string? Mfg { get; set; }

        [DataMember]
        public virtual string? Description { get; set; }

        [DataMember]
        public virtual decimal Price { get; set; }

        [DataMember]
        public virtual decimal AvailableQty { get; set; }
    }

    [DataContract]
    public partial class SearchInventoryApiResult
        : SearchInventoryResultSet
    {
        [DataMember]
        public virtual InventoryDetailResponse? Detail { get; set; }

        [DataMember]
        public virtual ImageInfo? IconImage { get; set; }

        [DataMember]
        public virtual decimal CustomerPrice { get; set; }
    }

    ///<summary>
    ///SearchInventoryRequires active-e Inventory Service
    ///</summary>
    [DataContract]
    public partial class SearchInventoryRequest
        : BaseSecureRequest
    {
        ///<summary>
        ///If sent, only items from the passed location will be returned
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="If sent, only items from the passed location will be returned", Format="int32", Name="LocFk")]
        public virtual int? LocFk { get; set; }

        ///<summary>
        ///For Internal Use Only
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="For Internal Use Only", Format="int32", Name="MfgFk")]
        public virtual int? MfgFk { get; set; }

        ///<summary>
        ///For Internal Use Only
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="For Internal Use Only", Format="int32", Name="CatFk")]
        public virtual int? CatFk { get; set; }

        ///<summary>
        ///For Internal Use Only
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="For Internal Use Only", Format="int32", Name="SubFk")]
        public virtual int? SubFk { get; set; }

        ///<summary>
        ///For Internal Use Only
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="For Internal Use Only", Format="int32", Name="SelFk")]
        public virtual int? SelFk { get; set; }

        ///<summary>
        ///If sent, only items from the passed category# will be returned
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="If sent, only items from the passed category# will be returned", Format="int32", Name="Cat")]
        public virtual int? Cat { get; set; }

        ///<summary>
        ///If sent, only items from the passed subcategory# will be returned. Must be used in conjunction with the Cat parameter.
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="If sent, only items from the passed subcategory# will be returned. Must be used in conjunction with the Cat parameter.", Format="int32", Name="Sub")]
        public virtual int? Sub { get; set; }

        ///<summary>
        ///If sent, only items with the passed selection code will be returned
        ///</summary>
        [DataMember]
        [ApiMember(Description="If sent, only items with the passed selection code will be returned", Name="SelectionCode")]
        public virtual string? SelectionCode { get; set; }

        ///<summary>
        ///If sent, only items with the passed mfg code will be returned
        ///</summary>
        [DataMember]
        [ApiMember(Description="If sent, only items with the passed mfg code will be returned", Name="Mfg")]
        public virtual string? Mfg { get; set; }

        ///<summary>
        ///Serialized Items will be included in the search results
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="Serialized Items will be included in the search results", Name="IncludeSerials")]
        public virtual bool? IncludeSerials { get; set; }

        ///<summary>
        ///Media Items will be included in the search results
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="Media Items will be included in the search results", Name="IncludeMedia")]
        public virtual bool? IncludeMedia { get; set; }

        ///<summary>
        ///Non-Serialized, Non-Media Items will be included in the search results
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="Non-Serialized, Non-Media Items will be included in the search results", Name="IncludeAccessories")]
        public virtual bool? IncludeAccessories { get; set; }

        ///<summary>
        ///Package Deal Items will be included in the search results
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="Package Deal Items will be included in the search results", Name="IncludePackages")]
        public virtual bool? IncludePackages { get; set; }

        ///<summary>
        ///The string to be searched for
        ///</summary>
        [DataMember]
        [ApiMember(Description="The string to be searched for", Name="SearchStr")]
        public virtual string? SearchStr { get; set; }

        ///<summary>
        ///If set, only items with the exact model contained in the search string will be returned
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="If set, only items with the exact model contained in the search string will be returned", Name="ExactModel")]
        public virtual bool? ExactModel { get; set; }

        ///<summary>
        ///The Starting Offse
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="The Starting Offse", Format="int64", Name="StartOffset")]
        public virtual long? StartOffset { get; set; }

        ///<summary>
        ///The # of records to be returned
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="The # of records to be returned", Format="int64", Name="RecordCount")]
        public virtual long? RecordCount { get; set; }

        ///<summary>
        ///If set, Icon Image Urls will be included in the result, if available
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="If set, Icon Image Urls will be included in the result, if available", Name="IncludeIconImage")]
        public virtual bool? IncludeIconImage { get; set; }

        ///<summary>
        ///If sent, only items from the passed category IDs will be returned
        ///</summary>
        [DataMember]
        [ApiMember(Description="If sent, only items from the passed category IDs will be returned", Name="CatIdList")]
        public virtual List<long>? CatIdList { get; set; }

        ///<summary>
        ///If sent, only items from the passed subcategory IDs will be returned
        ///</summary>
        [DataMember]
        [ApiMember(Description="If sent, only items from the passed subcategory IDs will be returned", Name="SubIdList")]
        public virtual List<long>? SubIdList { get; set; }

        ///<summary>
        ///If sent, only items from the passed mfg IDs will be returned
        ///</summary>
        [DataMember]
        [ApiMember(Description="If sent, only items from the passed mfg IDs will be returned", Name="MfgIdList")]
        public virtual List<long>? MfgIdList { get; set; }

        ///<summary>
        ///If sent, only items from the passed selection code IDs will be returned
        ///</summary>
        [DataMember]
        [ApiMember(Description="If sent, only items from the passed selection code IDs will be returned", Name="SelIdList")]
        public virtual List<long>? SelIdList { get; set; }

        ///<summary>
        ///Deleted Items will be included in the search results
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="Deleted Items will be included in the search results", Name="IncludeDeleted")]
        public virtual bool? IncludeDeleted { get; set; }

        ///<summary>
        ///If sent, only inventory changed on or after this date/time will be included
        ///</summary>
        [DataMember]
        [ApiMember(DataType="string", Description="If sent, only inventory changed on or after this date/time will be included", Format="date", Name="ChangedDate", ParameterType="query")]
        public virtual DateTime? ChangedDate { get; set; }

        ///<summary>
        ///Package Deal Line Items will be included
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="Package Deal Line Items will be included", Name="IncludePackageLineItems")]
        public virtual bool? IncludePackageLineItems { get; set; }

        ///<summary>
        ///If set, the InventoryDetails object for each item will also be returned. This is much slower.
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="If set, the InventoryDetails object for each item will also be returned. This is much slower.", Name="IncludeDetails")]
        public virtual bool? IncludeDetails { get; set; }

        ///<summary>
        ///If set, the InventoryDetails object for each item include images. This is much slower and only works with the IncludeDetails parameter.
        ///</summary>
        [DataMember]
        [ApiMember(DataType="boolean", Description="If set, the InventoryDetails object for each item include images. This is much slower and only works with the IncludeDetails parameter.", Name="IncludeDetails")]
        public virtual bool? IncludeImages { get; set; }

        ///<summary>
        ///If sent, only items with an Available Quantity greater then or equal to the sent value will be returned. Use of this parameter requires that the LocFk parameter also be sent.
        ///</summary>
        [DataMember]
        [ApiMember(DataType="integer", Description="If sent, only items with an Available Quantity greater then or equal to the sent value will be returned. Use of this parameter requires that the LocFk parameter also be sent.", Format="int32", Name="MinimumAvailableQuantity")]
        public virtual int? MinimumAvailableQuantity { get; set; }
    }

    [DataContract]
    public partial class SearchInventoryResponse
        : BaseResponse
    {
        [DataMember]
        public virtual long StartOffset { get; set; }

        [DataMember]
        public virtual long RecordCount { get; set; }

        [DataMember]
        public virtual long RemainingRecords { get; set; }

        [DataMember]
        public virtual long TotalRecords { get; set; }

        [DataMember]
        [ApiMember(Name="Records", ParameterType="body")]
        public virtual List<SearchInventoryApiResult>? Records { get; set; }
    }

}

C# SearchInventoryRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/SearchInventory HTTP/1.1 
Host: active-ewebservice.biz 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"LocFk":0,"MfgFk":0,"CatFk":0,"SubFk":0,"SelFk":0,"Cat":0,"Sub":0,"SelectionCode":"String","Mfg":"String","IncludeSerials":false,"IncludeMedia":false,"IncludeAccessories":false,"IncludePackages":false,"SearchStr":"String","ExactModel":false,"StartOffset":0,"RecordCount":0,"IncludeIconImage":false,"CatIdList":[0],"SubIdList":[0],"MfgIdList":[0],"SelIdList":[0],"IncludeDeleted":false,"ChangedDate":"0001-01-01T00:00:00.0000000","IncludePackageLineItems":false,"IncludeDetails":false,"IncludeImages":false,"MinimumAvailableQuantity":0,"Token":"String","ApiKey":"String","OAuthToken":"String","DeviceId":"String","AppId":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"StartOffset":0,"RecordCount":0,"RemainingRecords":0,"TotalRecords":0,"Records":[{"Detail":{"SadPk":0,"InvType":"String","Model":"String","Description":"String","Mfg":"String","Category":0,"CategoryDescription":"String","SubCategory":0,"SubCategoryDescription":"String","SelectionCode":"String","SelectionCodeDescription":"String","SellSerialsOnline":false,"Notes":"String","Images":[{"Url":"String","ImageStream":"String","ImageSize":"String","ErrorMessage":"String","UriPk":0}],"HasImages":true,"VariantDetails":[{}],"AddOns":[{}],"ActiveEInfo":{"ExtPk":0,"Dimension":"String","WebDescription":"String","Summary":"String","SETitle":"String","SEDescription":"String","SEKeywords":"String","SEAltText":"String","SEHtmlFreeText":"String","Unpublished":false,"FreeShipping":false,"IsFeatured":false,"WebCategoryIds":[0],"HidePrice":false},"Weight":0,"Unit":"String","ShipCharge":0,"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}},"IconImage":{"Url":"String","ImageStream":"String","ImageSize":"String","ErrorMessage":"String","UriPk":0},"CustomerPrice":0,"Pk":0,"Description":"String","InventoryType":"String","Manufacturer":"String","Model":"String","Category":0,"CategoryDescription":"String","SubCategory":0,"SubCategoryDescription":"String","SelectionCode":"String","SelectionCodeDescription":"String","Sku":"String","Mpn":"String","Discontinued":false,"Attribute1":"String","Attribute2":"String","Attribute3":"String","Attribute4":"String","Attribute5":"String","Attribute6":"String","Attribute7":"String","Attribute8":"String","Attribute9":"String","Attribute10":"String","Attribute11":"String","Attribute12":"String","Attribute13":"String","Attribute14":"String","Attribute15":"String","Attribute16":"String","Attribute17":"String","Attribute18":"String","Attribute19":"String","Attribute20":"String","ComputerQuantity":0,"OurPrice":0,"RetailPrice":0,"ActiveePrice":0,"PriceA":0,"PriceB":0,"PriceC":0,"MinPrice":0,"AvailableQuantity":0,"IsMedia":false,"IsPackage":false,"HasImage":false,"SearchTerm":"String","Keywords":"String","KeywordsOrigin":"String","Deleted":false,"PackageLineItems":[{"Model":"String","Cat":0,"Sub":0,"Description":"String","Quantity":0,"Amount":0,"Discount":0,"ItemType":"String"}]}],"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}