Help us improve
Share bugs, ideas, or general feedback.
From saleor-commerce
Configures Saleor shipping zones, price/weight-based methods, custom apps, warehouse allocation, and click-and-collect via GraphQL mutations. Use for e-commerce delivery setup.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin saleor-commerceHow this skill is triggered — by the user, by Claude, or both
Slash command
/saleor-commerce:saleor-shippingThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live docs**:
Manages Wix e-commerce shipping rules via REST APIs: query rates, retrieve details, create rates with costs, regions, logistics, and conditions like free shipping over subtotal. For store shipping configuration.
Configures Saleor channels for multi-currency, multi-region sales, per-channel pricing, warehouse allocation, and multi-brand setups. Use for multi-channel e-commerce management.
Details Saleor entities (Products, Variants, Channels, Attributes), relationships, identifier rules (slug vs name), and Configurator scope. For entity structure and connection questions.
Share bugs, ideas, or general feedback.
Fetch live docs:
site:docs.saleor.io shipping zones methods configuration for shipping zone and method setupsite:docs.saleor.io warehouse allocation shipping for warehouse-based stock allocation strategiessite:docs.saleor.io shipping app SHIPPING_LIST_METHODS_FOR_CHECKOUT for custom shipping App patternshttps://docs.saleor.io/docs/developer/shipping and review shipping zone, method, and pricing modelssite:docs.saleor.io click and collect warehouse pickup for local pickup configurationA shipping zone groups countries that share the same shipping methods and rates:
| Field | Description |
|---|---|
name | Display name for the zone (e.g., "Domestic", "Europe") |
countries | List of ISO 3166-1 alpha-2 country codes |
default | Whether this is the fallback zone for unmatched countries |
channels | Channels where this zone is available |
shippingMethods | Shipping methods available in this zone |
warehouses | Warehouses assigned to this zone |
| Operation | Mutation | Notes |
|---|---|---|
| Create zone | shippingZoneCreate | Set name, countries, channels |
| Update zone | shippingZoneUpdate | Modify countries, channels, warehouses |
| Delete zone | shippingZoneDelete | Remove zone and its methods |
Zones can map to specific countries, overlap (customer sees all methods), or use a default zone as fallback. Zones are channel-scoped — only matching zones appear at checkout.
Each zone contains one or more shipping methods:
| Type | Pricing Basis | Description |
|---|---|---|
| Price-based | Order subtotal | Rates determined by the total price of the order |
| Weight-based | Order weight | Rates determined by the total weight of the order |
| Field | Description |
|---|---|
name | Display name shown to customers |
type | PRICE or WEIGHT |
minimumOrderPrice | Minimum order total for this method (price-based) |
maximumOrderPrice | Maximum order total for this method (price-based) |
minimumOrderWeight | Minimum order weight for this method (weight-based) |
maximumOrderWeight | Maximum order weight for this method (weight-based) |
channelListings | Per-channel price and min/max order price |
maximumDeliveryDays | Maximum estimated delivery days |
minimumDeliveryDays | Minimum estimated delivery days |
| Operation | Mutation | Notes |
|---|---|---|
| Create method | shippingPriceCreate | Add method to a zone |
| Update method | shippingPriceUpdate | Modify method settings |
| Delete method | shippingPriceDelete | Remove method from zone |
| Update channel listing | shippingMethodChannelListingUpdate | Set per-channel pricing |
Each shipping method has per-channel pricing:
| Field | Description |
|---|---|
price | Shipping cost in the channel currency |
minimumOrderPrice | Channel-specific minimum order price |
maximumOrderPrice | Channel-specific maximum order price |
Configure free shipping by setting price ranges on methods:
| Approach | Configuration |
|---|---|
| Free above threshold | Create a price-based method with minimumOrderPrice set and price: 0 |
| Paid below threshold | Create a separate method with maximumOrderPrice at the threshold |
| Voucher-based | Use a free shipping voucher (see promotions skill) |
Shipping methods can exclude specific products:
| Operation | Mutation | Notes |
|---|---|---|
| Exclude products | shippingPriceExcludeProducts | Products that cannot use this method |
| Remove exclusion | shippingPriceRemoveProductFromExclude | Allow previously excluded products |
Exclusions work at the product level. If any line in the checkout contains an excluded product, the shipping method becomes unavailable.
For dynamic shipping rates (e.g., real-time carrier rates), implement a shipping App:
| Aspect | Description |
|---|---|
| Trigger | Saleor calls the App when a checkout needs shipping methods |
| Input | Checkout data including lines, shipping address, channel |
| Output | List of available shipping methods with prices and delivery estimates |
| Use case | Real-time carrier API integration (UPS, FedEx, DHL, etc.) |
The shipping App returns an array of methods:
| Field | Required | Description |
|---|---|---|
id | Yes | Unique method identifier |
name | Yes | Display name for the method |
amount | Yes | Shipping cost |
currency | Yes | Currency code |
maximumDeliveryDays | No | Maximum delivery estimate |
minimumDeliveryDays | No | Minimum delivery estimate |
Saleor supports multi-warehouse stock allocation:
| Strategy | Description |
|---|---|
| Prioritize sorting order | Allocate from warehouses in the order they are sorted in the channel |
| Prioritize by distance | Allocate from the warehouse closest to the shipping address |
| Field | Description |
|---|---|
name | Warehouse display name |
slug | URL-friendly identifier |
shippingZones | Zones this warehouse serves |
address | Physical warehouse address |
clickAndCollectOption | DISABLED, LOCAL_STOCK, or ALL_WAREHOUSES |
isPrivate | Whether warehouse is hidden from customers |
| Operation | Mutation |
|---|---|
| Create warehouse | createWarehouse |
| Update warehouse | updateWarehouse |
| Delete warehouse | deleteWarehouse |
Enable customers to pick up orders from physical locations:
| Option | Description |
|---|---|
DISABLED | No pickup available at this warehouse |
LOCAL_STOCK | Pickup available only for items in stock at this warehouse |
ALL_WAREHOUSES | Pickup available; stock can be transferred from other warehouses |
When click-and-collect is enabled:
| Step | Description |
|---|---|
| 1. Set shipping address | Customer sets their address (or warehouse address) |
| 2. Query delivery methods | checkout.deliveryMethod returns both shipping and pickup options |
| 3. Select pickup | Use checkoutDeliveryMethodUpdate with warehouse ID |
| 4. Complete checkout | Standard checkout completion flow |
Fetch live docs for the
DeliveryMethodunion type which includes bothShippingMethodandWarehousefor pickup locations.
Fetch the Saleor shipping and warehouse documentation for exact mutation inputs, webhook payloads, and allocation strategy configuration before implementing.