# Update delivery information (v2) Updates ShipTo information on a basket. This should be used when ShipTo differs from Buyer. Endpoint: POST /UpdateShipTo2 Version: 1.1 ## Query parameters: - `basketId` (integer, required) The internal id of the basket to update. - `updatedBy` (integer, required) Account internal id of current user. - `pricelistSeed` (string) A comma separated list of internal pricelist ids to use, if any. PriceLists supplied must be valid, either from the application's public priceList or any customer or company priceLists or any valid client priceLists. For clients configured to use priceListSeed exclusively in the API only the supplied priceLists will be used. If this is not configured, the supplied priceLists will be appended to the valid priceLists. If none is supplied, the default value for the application will be used in combination with any customer or company priceLists. This applies to both configurations. - `dropPointSize` (string) Maximum number of dropPoints to return for each delivery method. - `cultureCode` (string) Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application. - `currencyId` (string) Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application. ## Request fields (application/json): - `Id` (integer,null) The internal Storm Id of the Customer. When creating a new Customer leave this blank as Storm will generate the Id. - `Key` (string) The system wide unique Key of the Customer. - `Code` (string) The external code. Usually the id in the erp system. MaxLength: 50. - `Email` (string) The Email address of the Customer. MaxLength: 255. - `SSN` (string) The social security number of the Customer. Used to identify the Customer for some payment methods. MaxLength: 50. - `FirstName` (string) The FirstName of the Customer. MaxLength: 50. - `LastName` (string) The LastName of the Customer. MaxLength: 50. - `Phone` (string) The PhoneNumber of the Customer. MaxLength: 50. - `CellPhone` (string) The CellPhone number of the Customer. MaxLength: 50. - `ReferId` (integer,null) Used to tag a Customer with some external id. - `ReferUrl` (string) Used to tag a Customer with an incoming URL. MaxLength: 255. - `Account` (object) - `Account.Id` (integer,null) The internal Id of the Account. This value should be used as updatedBy/createdBy in API-Methods. When creating a new Account on a Customer leave this blank as Storm will generate the Id. - `Account.Key` (string) The system wide unique Key for the Account. - `Account.LoginName` (string) This is the login name used when logging in. Normally this is the email address. Care must be taken when user updates their emailAddress. Normally this update is just for Customer.Email. It is up to the Application to keep Customer.Email in sync with Account.LoginName if they are the same. MaxLength: 255. - `Account.Name` (string) This is the full name of the connected Customer's first and last name. MaxLength: 100. - `Account.Roles` (array) This is an integer list of Role.Ids. See Application.Roles for available roles for the Application. This can be used to authorize roles to different parts of an Application. - `Account.Authorizations` (array) This is an IdValue list of Authorizations. See Application.Authorizations for available values for the Application. This can be used to authorize users to different parts of an Application. - `Account.Authorizations.Id` (integer) The internal Id of the Entity. This Id might be different in different tiers such as Stage and Production. Use Code if hard coding is required. - `Account.Authorizations.Value` (string) The Value of the Entity. MaxLength: max. - `Account.Authorizations.Code` (string) The Code of the Entity, if existing. Use this value when hard coding is required. MaxLength: 255. - `Account.IsActive` (boolean) Indicates if the Account is Active or not. Use UpdateAccountStatus to change this value. - `Companies` (array) A list of Companies. A Customer can have many Companies. The first will be used as default. In the Checkout process just pass in one Company if any is to be used or the first will be used as default. - `Companies.Id` (integer,null) The internal Storm Id for the Company. When creating a new Company leave this blank as Storm will generate the Id. - `Companies.Key` (string) The system wide unique Key of the Company. - `Companies.Name` (string) The Name of the Company. MaxLength: 100. - `Companies.OrgNo` (string) The organizational number of the Company. Used to identify the Company for some payment methods. The combination of OrgNo and Name must be unique. MaxLength: 50. - `Companies.Phone` (string) The Phone number of the Company. MaxLength: 50. - `Companies.ReferId` (integer,null) Used to tag a Company with some external id. - `Companies.ReferUrl` (string) Used to tag a Company with an incoming URL. MaxLength: 255. - `Companies.DeliveryAddresses` (array) A list of delivery Addresses for the Company. When needed the first address in the list will be used. So it is vital in the checkout process to either sort them or just supply one delivery address. Company addresses will override Customer addresses if both exists in the Checkout process. - `Companies.DeliveryAddresses.Id` (integer,null) The internal Id of the Address. When creating a new Address leave this blank as Storm will generate the Id. - `Companies.DeliveryAddresses.CareOf` (string) The CareOf of the Address. MaxLength: 100. - `Companies.DeliveryAddresses.Line1` (string) The first address line of the Address. MaxLength: 255. - `Companies.DeliveryAddresses.Line2` (string) The second address line of the Address. MaxLength: 255. - `Companies.DeliveryAddresses.Zip` (string) The zip code of the Address. MaxLength: 50. - `Companies.DeliveryAddresses.City` (string) The City of the Address. MaxLength: 50. - `Companies.DeliveryAddresses.CountryId` (integer) The internal Id for the country associated to the Address. When creating or updating Country on an Address either specify the CountryId or just the Country string. If Id is specified it will be used to resolve the Name. If none is specified the default for the Application will be used. - `Companies.DeliveryAddresses.Country` (string) The country name of the Address. When creating or updating Country on an Address either specify the CountryId or just the Country string. If Name is specified it will be used to resolve the Name and Id. Name should then be specified as Country.Code since Names are culture specific. If none is specified the default for the Application will be used. MaxLength: 50. - `Companies.DeliveryAddresses.Region` (string) The Region of the Address. MaxLength: 50. - `Companies.DeliveryAddresses.IsValidated` (boolean) Indicates if the address had been validated. It is up to the Application to validate addresses. Use normal address-methods to update this value. - `Companies.DeliveryAddresses.GlobalLocationNo` (string) The Global Location Number (GLN) is part of the GS1 systems of standards. It is a simple tool used to identify a location and can identify locations uniquely where required. This is only used for invoice addresses. MaxLength: 50. - `Companies.DeliveryAddresses.ShippingPhoneNumber` (string) Phone number for shipping address. Only applicable in shipping addresses. MaxLength: 50. - `Companies.InvoiceAddress` (object) - `Companies.UseInvoiceAddressAsDeliveryAddress` (boolean) Can be used when updating or inserting addresses on Company. If set to true the invoice address will be used as a delivery address as well. Then just an invoice address needs to be passed in. The deliveryAddress will be ignored. If set to false both invoice address and delivery address must be specified. - `Companies.Info` (array) Contains a list of id-value pairs specific to the client for this company. Use ApplicationService.ListCompanyInfoTypes for id lookup. - `Companies.PricelistIds` (array) Contains a list of priceList ids valid for this company. It will be empty if no priceLists exist. It can be used to check products lists if they are from a company specific priceList. No need to pass this into List-methods since they are considered any way in the methods. This property should be considered as ReadOnly as priceLists are maintained else where. - `Companies.ParentId` (integer,null) Points to an optional parent company. Used when companies are connected some how. - `Companies.DeliveryMethodIds` (array) Contains a list of delivery method ids valid for this company. It will be empty if no delivery methods exist. - `Companies.PaymentMethodIds` (array) Contains a list of payment method ids valid for this company. It will be empty if no payment methods exist. - `Companies.Email` (string) The Email address of the Company. MaxLength: 255. - `Companies.Flags` (array) A list of Flags of the Company. See Flag for information about flags. Flags can be used in Promotions or otherwise to provide custom handling of specific Companies. - `Companies.Flags.Id` (integer) The internal Id of the Flag. - `Companies.Flags.Name` (string) The Name of the Flag. MaxLength: 50. - `Companies.Flags.Group` (integer) The GroupId of the Flag. - `Companies.Flags.IsSelected` (boolean) Indicates if the Flag is selected or not. - `Companies.VatNo` (string) This is the VAT registration number for the company. MaxLength: 50. - `DeliveryAddresses` (array) A list of delivery Addresses for the Customer. When needed the first address in the list will be used. So it is vital in the checkout process to either sort them or just supply one delivery address. Company addresses will override Customer addresses if both exists in the Checkout process. - `Flags` (array) A list of Flags for the Customer. See Flag for information about flags. Flags can be used in Promotions or otherwise to provide custom handling of specific Customers. - `UseInvoiceAddressAsDeliveryAddress` (boolean) Can be use when updating or inserting addresses on Customer. If set to true the invoice address will be used as a delivery address as well. Then just an invoice address needs to be passed in. The deliveryAddress will be ignored. If set to false both invoice address and delivery address must be specified. - `Info` (array) Contains a list of id-value pairs specific to the client for this customer. Use ApplicationService.ListCustomerInfoTypes for id lookup. - `PricelistIds` (array) Contains a list of priceList ids valid for this customer. It will be empty if no priceLists exist. It can be used to check products lists if they are from a customer specific priceList. No need to pass this into List-methods since they are considered any way in the methods. This property should be considered as ReadOnly as priceLists are maintained else where. - `CrmId` (string) Used to save the Customers external id from a crm-system MaxLength: 50. - `IsActive` (boolean,null) Specifies if the Customer is active or not. - `Created` (string,null) When the customer was created. - `Updated` (string,null) When the customer was last updated. ## Response 200 fields (application/json): - `Basket` (object) - `Basket.Id` (integer,null) The internal id of the basket. Used to get a specific basket. Ignored in CreateBasket. - `Basket.CustomerId` (integer,null) The customer internal id for a specific customer associated with this basket. This can be set in CreateBasket if the user is logged in. Otherwise use UpdateBuyer to set customer. - `Basket.CompanyId` (integer,null) The company internal id for a specific company associated with this basket. This can be set in CreateBasket if the user is logged in with a company. Otherwise use UpdateBuyer to set customer and company. - `Basket.SalesContactId` (integer,null) - `Basket.StatusId` (integer) Internal id for the current status of the basket. See ListBasketStatuses. - `Basket.CurrencyId` (integer) The currency internal id of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used. - `Basket.CurrencyCode` (string) The CurrencyCode of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used. MaxLength: 3. - `Basket.Comment` (string) Free text comment that will be propagated to the order. MaxLength: 250. - `Basket.OrderReference` (string) An OrderReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50. - `Basket.DiscountCode` (string) A comma separated list of used discount codes. To clear the value set it to null or String.Empty an call UpdateBasket. MaxLength: max. - `Basket.ReferId` (integer,null) - `Basket.ReferUrl` (string) MaxLength: 255. - `Basket.ValidTo` (string,null) - `Basket.IsEditable` (boolean) Specifies if the basket is editable. If not, any method that changes the basket will throw Exceptions (Bad Request). It will be false when the basket is no longer a basket. That is when it's paid for or cancelled. - `Basket.Items` (array) List of the items in the basket. - `Basket.Items.Id` (integer,null) Internal id of the basket item. Used to refer to this particular row in different methods. - `Basket.Items.LineNo` (integer) Line number of the item. Used to refer to this particular row in different methods. - `Basket.Items.ParentLineNo` (integer,null) If this item is part of a bundle, an attached item from promotion or such this property will refer to the associated line number. - `Basket.Items.ProductId` (integer) Internal product id of the product for this basket item. - `Basket.Items.PartNo` (string) The PartNo of this Item. Must be specified when adding items to a basket. MaxLength: 50. - `Basket.Items.ManufacturerPartNo` (string) Manufacturer part number. Populated by Storm. MaxLength: 50. - `Basket.Items.Name` (string) Name of the product. Populated by Storm. MaxLength: 255. - `Basket.Items.SubHeader` (string) Sub header of the product. Populated by Storm. MaxLength: 255. - `Basket.Items.ThumbnailImage` (string) MaxLength: 255. Obsolete! - Use ImageKey with preset - `Basket.Items.FlagIdSeed` (string) A comma separated list of internal flag ids. MaxLength: max. - `Basket.Items.Type` (integer) The internal type id of the underlying product. See ListSkuTypes under Products. - `Basket.Items.PriceDisplay` (number) This is the price, excluding VAT, after applying company discounts and promotions. It is what the customer is paying. - `Basket.Items.Price` (number,null) This is the snapshot value, excluding VAT, of PriceDisplay when the basket is bought. Should be null. Can be used to set a price from the application when updating or creating BasketItems. Then IsPriceManual must be set to true as well. - `Basket.Items.PriceOriginal` (number) This is the original price of the SKU, excluding VAT. - `Basket.Items.Cost` (number,null) CostPurchase from Storm Admin, excluding VAT. - `Basket.Items.VatRate` (number) A rate to multiply with price to get price inc VAT. 25% VAT equals a VatRate of 1.25. - `Basket.Items.Quantity` (number) The Quantity of this Item. Must be specified when adding items to a basket. - `Basket.Items.UOM` (string) MaxLength: 50. - `Basket.Items.UOMCount` (number,null) - `Basket.Items.Comment` (string) Free text comment for this basket item. MaxLength: 255. - `Basket.Items.PriceListId` (integer) The internal pricelist id of this Item. Must be specified when adding items to a basket. Use the PriceListId from Product or ProductItem. - `Basket.Items.ReferId` (integer,null) Used to tag a BasketItem with some external id. - `Basket.Items.ReferUrl` (string) Used to tag a BasketItem with an incoming URL. MaxLength: 255. - `Basket.Items.IsEditable` (boolean) Indicates if a basket item is editable or not. This can happen when the API splits rows in promotions. Can be checked to see if an item should be allowed for UpdateBasketItem. - `Basket.Items.IsDiscountable` (boolean) - `Basket.Items.Info` (array) List of information types and values associated with this particular basket item. - `Basket.Items.Info.TypeId` (integer) The internal id of type. This TypeId might be different in different tiers such as Stage and Production. Use Code if hard coding is required. - `Basket.Items.Info.Value` (string) The Value of the Entity. MaxLength: max. - `Basket.Items.Info.Code` (string) The Code of the type, if existing. Use this value when hard coding is required. MaxLength: 50. - `Basket.Items.OptionalItems` (array) - `Basket.Items.OnHandValue` (number) Obsolete! - Moved to OnHand property - `Basket.Items.IncomingValue` (number) Obsolete! - Moved to OnHand property - `Basket.Items.NextDeliveryDate` (string,null) Obsolete! - Moved to OnHand property - `Basket.Items.LeadtimeDayCount` (integer,null) Obsolete! - Moved to OnHand property - `Basket.Items.PromotionIdSeed` (string) Internal ids of promotions applied on this product. MaxLength: max. - `Basket.Items.ImageKey` (string,null) A unique id for the image at our image server. Url for images are formed like http://[client specific CDN]/{ImageKey}. Preset, height and width can be sent as parameters. - `Basket.Items.ManufacturerName` (string) Name of the manufacturer of the product. Populated by Storm. MaxLength: 100. - `Basket.Items.CategoryId` (integer,null) Obsolete! - Use CategoryIdSeed - `Basket.Items.OnHand` (object) - `Basket.Items.OnHand.Value` (number) The aggregated value from all warehouses and locations in the current context (Web, Supplier or Store). - `Basket.Items.OnHand.IncomingValue` (number) The incoming quantity on the next delivery. - `Basket.Items.OnHand.NextDeliveryDate` (string,null) The next delivery data from supplier to client warehouse. - `Basket.Items.OnHand.LeadtimeDayCount` (integer,null) The number of days it takes to ship from the supplier. - `Basket.Items.OnHand.LastChecked` (string,null) When onHand info was last checked. Null if never. - `Basket.Items.OnHand.IsActive` (boolean) Indicate if the product is stocked in a store. - `Basket.Items.OnHand.IsReturnable` (boolean) Indicate if the product is returnable in a store. - `Basket.Items.OnHand.Info` (array) List of IdValues for the OnHand data for this sku warehouse location combination. This will always be null unless fetched with any of the ProductOnHand methods. - `Basket.Items.OnHand.Info.Id` (integer) The internal Id of the Entity. This Id might be different in different tiers such as Stage and Production. Use Code if hard coding is required. - `Basket.Items.OnHand.Info.Code` (string) The Code of the Entity, if existing. Use this value when hard coding is required. MaxLength: 255. - `Basket.Items.OnHandSupplier` (object) - `Basket.Items.PriceRecommended` (number,null) The rule based price, excluding VAT, from a priceList, if specified. - `Basket.Items.ManufacturerId` (integer) Internal manufacturer id for the product. Populated by Storm. - `Basket.Items.UniqueName` (string) A unique name that can be used in Urls and to get a Product. GetProduct and GetProductByUniqueName gets the same Product. MaxLength: 500. - `Basket.Items.StatusId` (integer) The status of the underlying product. Lookup references in ListStatuses. - `Basket.Items.StockDisplayBreakPoint` (integer,null) A value that can be used for display logic regarding OnHand. - `Basket.Items.PriceCatalog` (number,null) The original price, excluding VAT, if specified. - `Basket.Items.IsBuyable` (boolean) Indicates if the item is buyable or not. Will always be false if the status is closed. An exception will be thrown if IsBuyable is false and an attempt to buy the item is made. - `Basket.Items.SubDescription` (string) Sub description from Storm Admin. MaxLength: max. - `Basket.Items.CategoryIdSeed` (string) A comma separated list of internal category ids ordered so the primary category is first. MaxLength: max. - `Basket.Items.RecommendedQuantity` (number,null) Indicates the default value used as quantity when buying the product. If IsRecommendedQuantityFixed is true, only multiples of this quantity should be allowed. - `Basket.Items.IsRecommendedQuantityFixed` (boolean) If this is set to true only multiples of RecommendedQuantity should be allowed. - `Basket.Items.AppliedPromotions` (array) Applied promotions for this item, if any. It will contain some info about what promotion was applied and amount applied. - `Basket.Items.AppliedPromotions.Id` (integer,null) The internal id of the Promotion. - `Basket.Items.AppliedPromotions.Name` (string) The Name of the Promotion. MaxLength: 255. - `Basket.Items.AppliedPromotions.DiscountCode` (string) Will contain the discountCode if the promotion has a discountCode requirement. MaxLength: max. - `Basket.Items.AppliedPromotions.AppliedAmount` (number,null) Applied discount amount, excluding VAT, for this Promotion on this BasketItem. - `Basket.Items.AppliedPromotions.AppliedAmountIncVat` (number,null) Applied discount amount, including VAT, for this Promotion on this BasketItem. - `Basket.Items.RequirementPromotionIdSeed` (string) A comma separated list of promotion internal ids for this item that are fulfilling the requirements. MaxLength: max. - `Basket.Items.IsSubscribable` (boolean) True if this item can be added to a Subscription. False otherwise. Can be used when copying BasketItems from one Basket to a TemplateBasket in a Subacription. - `Basket.Items.DescriptionHeader` (string) DescriptionHeader for the product as specified in Storm Admin. MaxLength: 255. - `Basket.Items.IsPriceManual` (boolean) Used when setting price on a BasketItem from the application. Manual prices are not discountable when applying promotions or company discounts. - `Basket.Items.PriceStandard` (number,null) The standard price, excluding VAT, if specified. - `Basket.Items.EanCode` (string) SKU EAN code. MaxLength: 50. - `Basket.Items.CostUnit` (number,null) CostUnit, excluding VAT, from Storm Admin. - `Basket.Items.PriceDisplayIncVat` (number) This is the price including VAT after applying company discounts and promotions. It is what the customer is paying. - `Basket.Items.PriceListLocked` (boolean,null) Set to true to exclude this item's price list from business logic when selecting cheapest price. Will be set to false if price list is unavailable. - `Basket.Items.PriceOriginalIncVat` (number) This is the original price of the SKU, including VAT. - `Basket.Items.PriceRecommendedIncVat` (number,null) The rule based price, including VAT, from a priceList, if specified. - `Basket.Items.PriceCatalogIncVat` (number,null) The original price, including VAT, if specified. - `Basket.Items.PriceStandardIncVat` (number,null) The standard price, including VAT, if specified. - `Basket.Info` (array) List of information types with values that may be propagated on the order. - `Basket.Summary` (object) - `Basket.Summary.Items` (object) - `Basket.Summary.Items.Amount` (number) Total Amount exclusive VAT. PriceDisplay * Quantity. - `Basket.Summary.Items.Vat` (number) The total VAT amount. - `Basket.Summary.Items.AmountIncVat` (number) Total Amount including VAT. PriceDisplayIncVat * Quantity. - `Basket.Summary.Freigt` (object) - `Basket.Summary.Fees` (object) - `Basket.Summary.Total` (object) - `Basket.AppliedPromotions` (array) Contains all Promotions valid for a Basket, whether or not they are applied. If any promotions are applied more info about them are added to the corresponding Basket.Items. - `Basket.AppliedPromotions.Header` (string) SubHeader from Storm. MaxLength: 255. - `Basket.AppliedPromotions.ShortDescription` (string) DescriptionHeader from Storm. MaxLength: 255. - `Basket.AppliedPromotions.Description1` (string) Description from Storm. MaxLength: max. - `Basket.AppliedPromotions.Description2` (string) SubDescription from Storm. MaxLength: max. - `Basket.AppliedPromotions.StartDate` (string,null) The StartDate of the Promotion, if any. Only valid promotions will be returned. - `Basket.AppliedPromotions.EndDate` (string,null) The EndDate of the Promotion, if any. Only valid promotions will be returned. - `Basket.AppliedPromotions.RequirementSeed` (string) A comma separated list of fulfilled requirements for this promotion. MaxLength: max. - `Basket.AppliedPromotions.IsExcludedFromPriceCalculation` (boolean) A value of true means the promotion was applied last an not included in any price calculations. - `Basket.AppliedPromotions.AllowProductListing` (boolean) This flag can be checked to see whether the promotion allows listing of products from requirements. Use Products.ListProductsByPromotionRequirement to list products. Note that if this property is true and no product requirements exists, no products will be listed. - `Basket.AppliedPromotions.Images` (array) A list of additional images files uploaded for the promotion. Images can be differentiated by using different types. See ListPromotionImageTypes for available types. - `Basket.AppliedPromotions.Images.Id` (integer) The internal id of the File. - `Basket.AppliedPromotions.Images.Type` (integer) The type id of the File. Depending on context and Client. Can be used by Applications to differentiate files for different usages. - `Basket.AppliedPromotions.Images.Name` (string) The Name of the File. MaxLength: 50. - `Basket.AppliedPromotions.Images.Description` (string) The Description of the File. MaxLength: max. - `Basket.AppliedPromotions.Images.Key` (string,null) A unique id for the File at our image server. Url for images are formed like http://[client specific CDN]/{ImageKey}. Preset, height and width can be sent as parameters. - `Basket.AppliedPromotions.ProductFilters` (array) A list of productFilters for the promotion. Can be used to filter or fetch promotions matched by Products. match the products properties against the filter values Each ProductFilter must match all existing values and if any ProductFilter matches the promotion will be valid for that product. - `Basket.AppliedPromotions.ProductFilters.ManufacturerId` (integer,null) An optional Manufacturer internal id for filtered products. - `Basket.AppliedPromotions.ProductFilters.CategorySeed` (string) An optional CategorySeed for filtered products. MaxLength: int. - `Basket.AppliedPromotions.ProductFilters.TypeId` (integer,null) An optional SKU Type internal id for filtered products. - `Basket.AppliedPromotions.ProductFilters.ProductId` (integer,null) An optional Product internal id for filtered products. - `Basket.AppliedPromotions.ProductFilters.VariantProductId` (integer,null) An optional VariantProduct internal id for filtered products. Equal to use PartNo. - `Basket.AppliedPromotions.ProductFilters.PartNo` (string) An optional PartNo for filtered products. Equal to use VariantProductId. MaxLength: 50. - `Basket.AppliedPromotions.ProductFilters.PricelistId` (integer,null) An optional pricelist internal id for filtered products. - `Basket.AppliedPromotions.ProductFilters.FlagId` (integer,null) An optional Flag internal id for filtered products. Only set if flagId is inclusive. - `Basket.AppliedPromotions.AppliedAmount` (number,null) Applied discount amount, excluding VAT, if fetched on AppliedPromotions property on the basket. In that case it will be the sum of all applied amounts on all Basket.Items. This value is rounded to two decimals. - `Basket.AppliedPromotions.EffectSeed` (string) A comma separated list of applicable effects for this promotion. MaxLength: max. - `Basket.AppliedPromotions.FreightDiscountPct` (number,null) FreightDiscountPct can be used to calculate external freight prices. The value is given as percentage as 100.00 for 100% discount. Only used for FreightDiscounts. - `Basket.AppliedPromotions.IsStackable` (boolean) Promotion effect quantity or basket discount is multiplied with how many times requirement is fulfilled. - `Basket.AppliedPromotions.ExclusivityType` (integer) ExclusivityType allows setting promotions as NotExclusive = 0, Exclusive = 1, or IgnoreExclusivity = 2. - `Basket.IpAddress` (string) The user's IpAddress when the basket was created. The value should be fetched from the user request to the application. MaxLength: 50. - `Basket.AttestedBy` (integer,null) - `Basket.TypeId` (integer) The internal type id of the Basket. Can be 1 = Basket, 2 = Saved Basket, 3 = Template Basket for Subscriptions. - `Basket.DoHold` (boolean) DoHold specifies if the resulting order should be on hold until all items on the order can be shipped or not. Default is false. This can be set in the Checkout with UpdateBasket if the Customer does not want part deliveries. - `Basket.IsBuyable` (boolean) IsBuyable is a rule based property indicating if the Basket's status allows the basket to be purchased. It should be regarded as readonly. - `Basket.InvoiceReference` (string) An InvoiceReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50. - `Basket.PaymentMethodId` (integer,null) The PaymentMethodId from Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod. - `Basket.DeliveryMethodId` (integer,null) The DeliveryMethodId from Storm. Can be set in CreateBasket or updated in UpdateDeliveryMethod. - `Basket.SalesAreaId` (integer) The SalesArea internal id of the basket. This defines the default VAT-rate used. Can be set when creating a Basket or change later with UpdateBasket. If not specified, the default for the Application will be used. - `Buyer` (object) - `Buyer.Id` (integer,null) The internal Storm Id of the Customer. When creating a new Customer leave this blank as Storm will generate the Id. - `Buyer.Key` (string) The system wide unique Key of the Customer. - `Buyer.Code` (string) The external code. Usually the id in the erp system. MaxLength: 50. - `Buyer.Email` (string) The Email address of the Customer. MaxLength: 255. - `Buyer.SSN` (string) The social security number of the Customer. Used to identify the Customer for some payment methods. MaxLength: 50. - `Buyer.FirstName` (string) The FirstName of the Customer. MaxLength: 50. - `Buyer.LastName` (string) The LastName of the Customer. MaxLength: 50. - `Buyer.Phone` (string) The PhoneNumber of the Customer. MaxLength: 50. - `Buyer.CellPhone` (string) The CellPhone number of the Customer. MaxLength: 50. - `Buyer.ReferId` (integer,null) Used to tag a Customer with some external id. - `Buyer.ReferUrl` (string) Used to tag a Customer with an incoming URL. MaxLength: 255. - `Buyer.Account` (object) - `Buyer.Account.Id` (integer,null) The internal Id of the Account. This value should be used as updatedBy/createdBy in API-Methods. When creating a new Account on a Customer leave this blank as Storm will generate the Id. - `Buyer.Account.Key` (string) The system wide unique Key for the Account. - `Buyer.Account.LoginName` (string) This is the login name used when logging in. Normally this is the email address. Care must be taken when user updates their emailAddress. Normally this update is just for Customer.Email. It is up to the Application to keep Customer.Email in sync with Account.LoginName if they are the same. MaxLength: 255. - `Buyer.Account.Name` (string) This is the full name of the connected Customer's first and last name. MaxLength: 100. - `Buyer.Account.Roles` (array) This is an integer list of Role.Ids. See Application.Roles for available roles for the Application. This can be used to authorize roles to different parts of an Application. - `Buyer.Account.Authorizations` (array) This is an IdValue list of Authorizations. See Application.Authorizations for available values for the Application. This can be used to authorize users to different parts of an Application. - `Buyer.Account.IsActive` (boolean) Indicates if the Account is Active or not. Use UpdateAccountStatus to change this value. - `Buyer.Companies` (array) A list of Companies. A Customer can have many Companies. The first will be used as default. In the Checkout process just pass in one Company if any is to be used or the first will be used as default. - `Buyer.Companies.Id` (integer,null) The internal Storm Id for the Company. When creating a new Company leave this blank as Storm will generate the Id. - `Buyer.Companies.Key` (string) The system wide unique Key of the Company. - `Buyer.Companies.Name` (string) The Name of the Company. MaxLength: 100. - `Buyer.Companies.OrgNo` (string) The organizational number of the Company. Used to identify the Company for some payment methods. The combination of OrgNo and Name must be unique. MaxLength: 50. - `Buyer.Companies.Phone` (string) The Phone number of the Company. MaxLength: 50. - `Buyer.Companies.ReferId` (integer,null) Used to tag a Company with some external id. - `Buyer.Companies.ReferUrl` (string) Used to tag a Company with an incoming URL. MaxLength: 255. - `Buyer.Companies.DeliveryAddresses` (array) A list of delivery Addresses for the Company. When needed the first address in the list will be used. So it is vital in the checkout process to either sort them or just supply one delivery address. Company addresses will override Customer addresses if both exists in the Checkout process. - `Buyer.Companies.DeliveryAddresses.Id` (integer,null) The internal Id of the Address. When creating a new Address leave this blank as Storm will generate the Id. - `Buyer.Companies.DeliveryAddresses.CareOf` (string) The CareOf of the Address. MaxLength: 100. - `Buyer.Companies.DeliveryAddresses.Line1` (string) The first address line of the Address. MaxLength: 255. - `Buyer.Companies.DeliveryAddresses.Line2` (string) The second address line of the Address. MaxLength: 255. - `Buyer.Companies.DeliveryAddresses.Zip` (string) The zip code of the Address. MaxLength: 50. - `Buyer.Companies.DeliveryAddresses.City` (string) The City of the Address. MaxLength: 50. - `Buyer.Companies.DeliveryAddresses.CountryId` (integer) The internal Id for the country associated to the Address. When creating or updating Country on an Address either specify the CountryId or just the Country string. If Id is specified it will be used to resolve the Name. If none is specified the default for the Application will be used. - `Buyer.Companies.DeliveryAddresses.Country` (string) The country name of the Address. When creating or updating Country on an Address either specify the CountryId or just the Country string. If Name is specified it will be used to resolve the Name and Id. Name should then be specified as Country.Code since Names are culture specific. If none is specified the default for the Application will be used. MaxLength: 50. - `Buyer.Companies.DeliveryAddresses.Region` (string) The Region of the Address. MaxLength: 50. - `Buyer.Companies.DeliveryAddresses.IsValidated` (boolean) Indicates if the address had been validated. It is up to the Application to validate addresses. Use normal address-methods to update this value. - `Buyer.Companies.DeliveryAddresses.GlobalLocationNo` (string) The Global Location Number (GLN) is part of the GS1 systems of standards. It is a simple tool used to identify a location and can identify locations uniquely where required. This is only used for invoice addresses. MaxLength: 50. - `Buyer.Companies.DeliveryAddresses.ShippingPhoneNumber` (string) Phone number for shipping address. Only applicable in shipping addresses. MaxLength: 50. - `Buyer.Companies.InvoiceAddress` (object) - `Buyer.Companies.UseInvoiceAddressAsDeliveryAddress` (boolean) Can be used when updating or inserting addresses on Company. If set to true the invoice address will be used as a delivery address as well. Then just an invoice address needs to be passed in. The deliveryAddress will be ignored. If set to false both invoice address and delivery address must be specified. - `Buyer.Companies.Info` (array) Contains a list of id-value pairs specific to the client for this company. Use ApplicationService.ListCompanyInfoTypes for id lookup. - `Buyer.Companies.PricelistIds` (array) Contains a list of priceList ids valid for this company. It will be empty if no priceLists exist. It can be used to check products lists if they are from a company specific priceList. No need to pass this into List-methods since they are considered any way in the methods. This property should be considered as ReadOnly as priceLists are maintained else where. - `Buyer.Companies.ParentId` (integer,null) Points to an optional parent company. Used when companies are connected some how. - `Buyer.Companies.DeliveryMethodIds` (array) Contains a list of delivery method ids valid for this company. It will be empty if no delivery methods exist. - `Buyer.Companies.PaymentMethodIds` (array) Contains a list of payment method ids valid for this company. It will be empty if no payment methods exist. - `Buyer.Companies.Email` (string) The Email address of the Company. MaxLength: 255. - `Buyer.Companies.Flags` (array) A list of Flags of the Company. See Flag for information about flags. Flags can be used in Promotions or otherwise to provide custom handling of specific Companies. - `Buyer.Companies.Flags.Id` (integer) The internal Id of the Flag. - `Buyer.Companies.Flags.Name` (string) The Name of the Flag. MaxLength: 50. - `Buyer.Companies.Flags.Group` (integer) The GroupId of the Flag. - `Buyer.Companies.Flags.IsSelected` (boolean) Indicates if the Flag is selected or not. - `Buyer.Companies.VatNo` (string) This is the VAT registration number for the company. MaxLength: 50. - `Buyer.DeliveryAddresses` (array) A list of delivery Addresses for the Customer. When needed the first address in the list will be used. So it is vital in the checkout process to either sort them or just supply one delivery address. Company addresses will override Customer addresses if both exists in the Checkout process. - `Buyer.Flags` (array) A list of Flags for the Customer. See Flag for information about flags. Flags can be used in Promotions or otherwise to provide custom handling of specific Customers. - `Buyer.UseInvoiceAddressAsDeliveryAddress` (boolean) Can be use when updating or inserting addresses on Customer. If set to true the invoice address will be used as a delivery address as well. Then just an invoice address needs to be passed in. The deliveryAddress will be ignored. If set to false both invoice address and delivery address must be specified. - `Buyer.Info` (array) Contains a list of id-value pairs specific to the client for this customer. Use ApplicationService.ListCustomerInfoTypes for id lookup. - `Buyer.PricelistIds` (array) Contains a list of priceList ids valid for this customer. It will be empty if no priceLists exist. It can be used to check products lists if they are from a customer specific priceList. No need to pass this into List-methods since they are considered any way in the methods. This property should be considered as ReadOnly as priceLists are maintained else where. - `Buyer.CrmId` (string) Used to save the Customers external id from a crm-system MaxLength: 50. - `Buyer.IsActive` (boolean,null) Specifies if the Customer is active or not. - `Buyer.Created` (string,null) When the customer was created. - `Buyer.Updated` (string,null) When the customer was last updated. - `Payer` (object) - `ShipTo` (object) - `PaymentMethods` (array) List of available payment methods for this checkout. May be changed depending on basket contents. Generated by Storm. - `PaymentMethods.Id` (integer) Internal id for this payment method. - `PaymentMethods.Name` (string) Descriptive name of the payment method. MaxLength: 50. - `PaymentMethods.TypeId` (integer) Internal type id for this payment method. - `PaymentMethods.TypeName` (string) Clear text name of the type of this payment method. MaxLength: 50. - `PaymentMethods.Description` (string) Free text description of the payment method. MaxLength: max. - `PaymentMethods.PartNo` (string) Part number for this payment method, if configured. MaxLength: 50. - `PaymentMethods.Price` (number) Price, excluding VAT, to use this payment method, if configured. - `PaymentMethods.ImagePath` (string) MaxLength: 500. Obsolete! - Use ImageKey with preset - `PaymentMethods.IsSelected` (boolean) Indicates if this is the currently selected payment method for the Checkout. Only one may have this flag set to true. Use UpdatePaymentMethod3 to set this property. - `PaymentMethods.Service` (object) - `PaymentMethods.Service.Id` (integer) Internal id of this payment service. - `PaymentMethods.Service.Name` (string) Descriptive name of this payment service. MaxLength: 50. - `PaymentMethods.Service.Description` (string) MaxLength: 500. - `PaymentMethods.IsForCompanyOnly` (boolean) Indicates if this payment method is only allowed for companies. Cannot be combined with IsForPersonOnly. - `PaymentMethods.IsForPersonOnly` (boolean) Indicates if this payment method is only allowed for persons. Cannot be combined with IsForCompanyOnly. - `DeliveryMethods` (array) List of available delivery methods for this checkout. May be changed depending on basket contents. Generated by Storm. - `DeliveryMethods.Id` (integer) The internal id of the DeliveryMethod. - `DeliveryMethods.Name` (string) The Name of the DeliveryMethod. MaxLength: 50. - `DeliveryMethods.TypeId` (integer) The internal type id of the DeliveryMethod. DeliveryMethodTypes are logical groupings of different types such as home delivery, pickup and such. - `DeliveryMethods.TypeName` (string) The TypeName of the DeliveryMethodType. MaxLength: 50. - `DeliveryMethods.Description` (string) The Description of the DeliveryMethod. MaxLength: max. - `DeliveryMethods.PartNo` (string) The part number, if any, of the product representing the DeliveryMethod. Products setup for delivery methods must have a SkuType equal to Freight. These are handled by Storm and added and removed automatically. MaxLength: 50. - `DeliveryMethods.Price` (number) The Price of the DeliveryMethod, excluding VAT. - `DeliveryMethods.IsNotifiable` (boolean) Indicates if the DeliveryMethod has delivery notifications. - `DeliveryMethods.ImagePath` (string) MaxLength: 255. Obsolete! - Use ImageKey with preset - `DeliveryMethods.IsSelected` (boolean) IsSelected is set to true for the currently selected DeliveryMethod on baskets. All other DeliveryMethods have this set to false. If no DeliveryMethod has been set all will have this value set to false. - `DeliveryMethods.IsForCompanyOnly` (boolean) Indicates if the DeliveryMethod has is for Companies only. - `DeliveryMethods.IsForPersonOnly` (boolean) Indicates if the DeliveryMethod has is for Customers only. - `DeliveryMethods.Cost` (number) The Cost of the DeliveryMethod. - `DeliveryMethods.StoreId` (integer,null) The internal store id of any Store connected to this DeliveryMethod. Most often this will be set if ZipCode mappings exist in Storm. - `DeliveryMethods.WarehouseId` (integer,null) The internal warehouse id of any Warehouse connected to this DeliveryMethod. Most often this will be set if ZipCode mappings exist in Storm. - `DeliveryMethods.LocationId` (integer,null) The internal location id of any WarehouseLocation connected to this DeliveryMethod. Most often this will be set if ZipCode mappings exist in Storm. - `DeliveryMethods.DropPoints` (array) A list of DropPoint, if any, for the DeliveryMethod. These are not kept in Storm but fetched from integrated DeliveryMethod providers such as ShipAdvisor. - `DeliveryMethods.DropPoints.Code` (string) Code is the external/integrated DeliveryMethod provider's code for the pickup store. MaxLength: 50. - `DeliveryMethods.DropPoints.RoutingCode` (string) MaxLength: 50. Obsolete! - Not used - `DeliveryMethods.DropPoints.Depot` (string) MaxLength: 50. Obsolete! - Not used - `DeliveryMethods.DropPoints.Name1` (string) The name of the place to pickup the goods. MaxLength: 100. - `DeliveryMethods.DropPoints.Name2` (string) The name part 2 of the place to pickup the goods. MaxLength: 100. - `DeliveryMethods.DropPoints.Address1` (string) The Address of the place to pickup the goods. MaxLength: 100. - `DeliveryMethods.DropPoints.Address2` (string) The Address part 2 of the place to pickup the goods. MaxLength: 100. - `DeliveryMethods.DropPoints.PostalCode` (string) The ZipCode of the place to pickup the goods. MaxLength: 50. - `DeliveryMethods.DropPoints.City` (string) The City of the place to pickup the goods. MaxLength: 50. - `DeliveryMethods.DropPoints.CountryCode` (string) The CountryCode of the place to pickup the goods. MaxLength: 3. - `DeliveryMethods.DropPoints.Contact` (string) The Contact of the place to pickup the goods. MaxLength: 100. - `DeliveryMethods.DropPoints.Phone` (string) The Phone to the place to pickup the goods. MaxLength: 50. - `DeliveryMethods.DropPoints.Fax` (string) MaxLength: 50. Obsolete! - Not used - `DeliveryMethods.DropPoints.Email` (string) The Email to the place to pickup the goods. MaxLength: 255. - `DeliveryMethods.DropPoints.Latitude` (number) The Latitude part of the location of the pickup. Can be used to calculate distances. - `DeliveryMethods.DropPoints.Longitude` (number) The Longitude part of the location of the pickup. Can be used to calculate distances. - `DeliveryMethods.DropPoints.Distance` (number) The Distance to the location of the pickup. - `DeliveryMethods.DropPoints.OpeningHours` (array) A list of opening hours for the pickup. - `DeliveryMethods.DropPoints.OpeningHours.Day` (string) - `DeliveryMethods.DropPoints.OpeningHours.Open` (string) MaxLength: 255. - `DeliveryMethods.DropPoints.OpeningHours.Close` (string) MaxLength: 255. - `DeliveryMethods.DropPoints.IsSelected` (boolean) Indicates if this is the selected DropPoint or not. Gets set by Storm. - `DeliveryMethods.Code` (string) An external Code for the DeliveryMethod. MaxLength: 50. - `DeliveryMethods.Carrier` (string) Optional information about carrier MaxLength: 50. - `Payments` (array) List of payment attemtps made for this checkout. Each payment method selected will create it's own entry in this list. - `Payments.PaymentCode` (integer) System generated id for this particular payment. Client specific. - `Payments.Amount` (number) Payment amount, including VAT. - `Payments.CardNo` (string) Card number if payment has been made by credit card or gift card. Populated by PSP. MaxLength: max. - `Payments.PaymentMethodId` (integer) Internal id of the payment method for this payment. Application specific. - `Payments.PaymentServiceId` (integer) Internal id of the payment service for this payment. System specific. Indicates the PSP.