docs
  1. Advanced
  2. Logistic & Fulfilment
  3. Warehouses

Warehouses

What are Warehouses?

Warehouses in SCAYLE are logical entities that hold stock for specific variants (products). They help you manage inventory across different locations and optimize shipping to your customers. Think of them as the "where" in your fulfilment strategy.

A warehouse can represent:

  • a physical warehouse
  • a fulfilment partner
  • a regional shipping hub
  • a consolidation point for cross-docking

What Warehouses Enable

  • Multi-location inventory management: Track stock across different physical locations
  • Optimized shipping: Automatically select the best warehouse for each order
  • Flexible fulfilment: Serve different regions from different warehouses
  • Priority-based fulfilment: Control which warehouse ships first when multiple options exist

Basic Concepts

SCAYLE uses warehouse configuration to decide how and when items are shipped. Every warehouse is assigned to one or more shop countries and can define:

  • Priority: Which warehouse should be used first for orders
  • Package Group: How items from this warehouse should be packaged
  • Cross-docking: Allows items from multiple warehouses to be consolidated before shipping to the customer.

Need a refresher on shop countries? Check: What is a “Shop Country” in SCAYLE?

Priority

Warehouse priorities define the order in which warehouses are evaluated for fulfilment.

When multiple warehouses stock the same product:

  • the warehouse with the highest priority is selected first
  • lower-priority warehouses are used as fallback

Priority defines evaluation order, not stock optimization.
A higher-priority warehouse will always be evaluated first, even if lower-priority warehouses have more stock available.

Package Groups

Package groups define which products can be shipped together.

They are used to:

  • control shipment splitting
  • enforce logistics constraints (e.g. bulky vs standard goods)

Package groups operate within warehouse logic and affect how many shipments an order produces.

Cross-docking Between Warehouses

What is Cross-Docking?

Most orders contain multiple products. When multiple warehouses are in use and the priority warehouse cannot fulfil all items, SCAYLE automatically applies cross-docking to consolidate the order before shipment.

Cross-docking does not require a separate configuration step. It is triggered automatically as long as:

  • warehouses are configured with the correct priorities, delivery times, and
  • relevant package groups are assigned.

In SCAYLE, cross-docking is modeled as a relationship between two warehouses, with a defined transfer time that is taken into account during fulfilment and delivery estimation.

Warehouse Delivery Times

When cross-docking applies:

  1. Items are transferred from the source warehouse to the target warehouse
  2. The configured inter-warehouse delivery time is added
  3. The final delivery promise will be calculated based on the target warehouse’s delivery estimate

Warehouse delivery time is not the delivery estimate shown to the customer.
It represents only the transfer time between warehouses in cross-docking scenarios and is used internally for delivery calculation. More information about customer-facing delivery promises are available here.

Cross-docking delivery times must include:

  • internal transfer duration
  • handling time at the consolidation warehouse

Picking & Shipping Warehouses

Picking Warehouse

The picking warehouse is the warehouse where a specific product item is picked. It can be:

  • the same as the shipping warehouse
  • or a different warehouse when cross-docking is involved

Picking warehouses are determined at item level, not order level.

Shipping Warehouse

The shipping warehouse is the warehouse from which the order is sent to the customer, and it is determined at order level.

In most cases, this is the priority warehouse. However, when shipment cross-docking is used, the shipping warehouse may differ from the priority warehouse.

Example: Item Cross-Docking with Different Picking and Shipping Warehouses

An order is placed in Poland, where the current priority warehouse is Warehouse Alpha.

The order contains two products, and no single warehouse has both items in stock:

  • Product 1 is only available in Warehouse Beta
  • Product 2 is available in Warehouse Alpha

To fulfil the order, item cross-docking is applied:

  • Product 1 is transferred from Warehouse Beta to Warehouse Alpha
  • The complete parcel is shipped to the customer from Warehouse Alpha

Warehouse Assignment per Item:

ItemPicking WarehouseShipping Warehouse
Product 1Warehouse BetaWarehouse Alpha
Product 2Warehouse AlphaWarehouse Alpha

How to Configure Warehouses

Warehouses are configured via SCAYLE Panel and must be setup before sending stock information as variants.

Remember, variants are the last level within SCAYLE's product structure and represent the sellable entity. See Product Structure.

First, identify the right warehouse structure. Use the following questions to determine how many warehouses you need to configure in SCAYLE and how they should be structured.

  1. Do you operate more than one physical warehouse?
    • If no, configure a single warehouse in SCAYLE.
    • If yes, you may need multiple warehouses in SCAYLE.
  2. Do all physical warehouses offer the same delivery times for all shop countries?
    • If yes, you can still model them as a single warehouse in SCAYLE.
    • If no, you should create separate warehouses to reflect different delivery promises.
  3. Do you operate in multiple shop countries and have multiple physical warehouses?
    • If yes, you should map those warehouses in SCAYLE so you can control:
      • which warehouse serves which shop country
      • which delivery times apply per market

Rule of thumb: You only need multiple warehouses in SCAYLE when delivery behavior, availability, or routing differs.

The following section explains how to configure in SCAYLE Panel. In addition, a practical example can be found here.

Managing Warehouses in SCAYLE Panel

Accessing Warehouses

You can access warehouses through Shops[Shop]StorefrontWarehouses. The warehouses page is only available at the local shop level, so first select a local shop.

On the overview tab, warehouses are listed with warehouse name, priority and package group. You can add new warehouses, edit or delete any of the existing warehouses, and use the search bar to filter for specific warehouses.

List of warehouses for a given shop

Adding a New Warehouse

In SCAYLE, Warehouses are linked to specific Merchants. Therefore, before adding a new warehouse you must ensure all the relevant Merchants are predefined in SettingsMerchant managementMerchant.

Each merchant may have as many warehouses linked as needed. Click on the merchant to view its linked warehouse(s):

Once these setting are predefined:

  1. Go to Shops[Shop]StorefrontWarehouses and click Add Warehouse.
  2. Select a warehouse from the Warehouses dropdown.
  3. Optionally, assign a Priority and Package Group. You can also update these values later.
  4. Once you finished, click Add Warehouse button. The new warehouse appears on the list.

Adding a warehouse to a shop

Editing a Warehouse

Once you are in the Warehouse overview, search for the entry you want to update.

  1. Click the edit icon on the right side of the list.
  2. You can change the Warehouses selection, Priority, or Package group.
  3. Click Save. A success confirmation appears once the information is updated.

Edit a warehouse

Deleting a Warehouse

Once you are in the Warehouse overview, search for the entry you want to remove.

  1. Click the delete icon on the right side of the list.
  2. Confirm the action. A confirmation appears once the warehouse is deleted and it is removed from the list.

Delete a warehouse

When a warehouse is deleted, it is removed from all warehouse relationships where it was defined as either a From or To warehouse, as described in the section below on adding warehouse delivery times.

Cross-Docking Delivery Times

If you have multiple active warehouses, you can define delivery times between them. This helps customers get correct information from the shop front end when multiple order items are collected from different warehouses and are then shipped together from one warehouse.

Add Warehouse Delivery Times

To define the transit time between warehouses, go to Shops[Shop]StorefrontWarehouses and switch to the Delivery Times tab on the top right of the screen.

Click Add Warehouse button and choose a pickup warehouse from the list.

The selected entry is the From Warehouse. Now, click on Add Destination.

Choose a destination warehouse.

Note that the From Warehouse cannot be selected from the list as a destination. Once you finished, you can add the range of days for the delivery times between warehouses (e.g., 3-6 Days).

Click Save Warehouse button to complete the configuration.

You can assign multiple destination warehouses to a single From Warehouse and define a specific delivery time for each relationship. However, you cannot assign multiple From Warehouses to the same destination in a single configuration.

Each warehouse-to-warehouse relationship must be created individually.

All the created relationships will be listed in the Delivery Times tab overview:

Warehouse delivery times

Managing Package Groups

In this situation, we need to create two warehouses. The warehouse in Frankfurt will be assigned to all shop countries, while the warehouse in Basel will only be assigned to the 2 shop countries of Switzerland. (We identified the need to have three shop countries in this chapter: Shop Structure).

As mentioned earlier in this chapter, package groups are especially important in cross-docking scenarios because they ensure that once items are consolidated into a shipping warehouse, they are packaged and shipped in the correct way according to predefined packaging rules — even if they originated from different fulfilment locations.

When cross-docking is triggered:

  • Items may be moved between warehouses (e.g., from a secondary warehouse to the priority warehouse) before shipping.
  • When items arrive at their final shipping warehouse (the one that will send the parcel to the customer), SCAYLE needs to know how those items should be packaged together.
    • Package groups help determine whether items from different sources are compatible to ship together
    • They help ensure shipments follow the correct packaging rules once items are consolidated

Without consistent package group definitions, SCAYLE wouldn’t be able to apply the correct packaging logic after cross-docking has combined items from different warehouses.

Below two scenarios to help you understanding the role of package groups in cross-docking cases.

Scenario 1: Standard vs Fragile Items

Setup: Customer in Germany orders two products:

Item NumberProductPackage GroupWarehouse Stock
1GlasswareFragileWarehouse Beta
2T-shirtStandardWarehouse Alpha

Cross-docking is required because no single warehouse has both items.

Flow:

  1. Product 1 is transferred from Warehouse BetaWarehouse Alpha
  2. At Warehouse Alpha, SCAYLE checks package groups:
    • Fragile items must be packed separately from Standard items
    • Two separate packages are created:
      • Package 1: Fragile glassware
      • Package 2: T-shirt
  3. Both packages are shipped together to the customer

Scenario 2: Bulk vs Single-Item Packaging

Setup: Customer in Poland orders three products:

Item NumberProductPackage GroupWarehouse Stock
1SocksBulkableWarehouse Gamma
2SocksBulkableWarehouse Delta
3JacketNon-BulkableWarehouse Gamma

Cross-docking is needed to consolidate the order.

Flow:

  1. Product 2 moves from Warehouse DeltaWarehouse Gamma
  2. At Warehouse Gamma, SCAYLE evaluates package groups:
    • Bulkable items (socks) are packed together in one parcel
    • Non-bulkable items (jacket) is packed in a separate parcel
  3. Result: two parcels shipped to the customer

Package Groups Bulk Changes via Admin API

Package groups can be assigned when creating or editing a warehouse. When working with multiple warehouses, you can use the Admin API to apply bulk updates and minimize manual configuration.

Assign a package group

When working with shop warehouses, you can bulk-assign a package group to multiple warehouses for a specific shop. This method assigns a package group to a provided list of shop warehouse identifiers and supports partial updates, meaning only the specified warehouses are affected.

ParameterTypeDetails
warehouseIdintegerread-only. The ID of the warehouse created by SCAYLE.
warehouseReferenceKeystringA key that uniquely identifies the warehouse within the tenant's ecosystem.

Example

Replace a package group

You can also bulk-replace a package group for a set of warehouses within a specific shop country.

This operation does not support partial updates: the package group will be assigned to the specified warehouses and removed from all others in that shop country.

ParameterDetails
warehouseId

Integer READ-ONLY

The ID of the warehouse created by SCAYLE.

warehouseReferenceKey

String

A key that uniquely identifies the warehouse within the tenant's ecosystem.

Example

Get a Collection of Package Groups

This endpoint returns the list of package groups assigned to warehouses for a specific shop country.

ParameterDetails
entitiesA collection of package groups.

Examples

Delete a Package Group

You can delete a package group for all shop warehouses of a specific shop country.

Examples