> Documentation index: [Saleor](/llms.txt) · [This section](/api-reference/products/llms.txt)
> Source: https://docs.saleor.io/api-reference/products/objects/warehouse

# Warehouse Object

Represents warehouse.

```graphql
type Warehouse implements Node, ObjectWithMetadata {
  id: ID!
  privateMetadata: [MetadataItem!]!
  privateMetafield(
    key: String!
  ): String
  privateMetafields(
    keys: [String!]
  ): Metadata
  metadata: [MetadataItem!]!
  metafield(
    key: String!
  ): String
  metafields(
    keys: [String!]
  ): Metadata
  name: String!
  slug: String!
  email: String!
  isPrivate: Boolean!
  address: Address!
  companyName: String! @deprecated
  clickAndCollectOption: WarehouseClickAndCollectOptionEnum!
  shippingZones(
    before: String
    after: String
    first: Int
    last: Int
  ): ShippingZoneCountableConnection!
  stocks(
    before: String
    after: String
    first: Int
    last: Int
  ): StockCountableConnection
  externalReference: String
}
```

<a id="fields"></a>

### Fields

<a id="id"></a>

#### [`id`](#id) ● [`ID!`](/api-reference/miscellaneous/scalars/id.md)

The ID of the warehouse.

<a id="private-metadata"></a>

#### [`privateMetadata`](#private-metadata) ● [`[MetadataItem!]!`](/api-reference/miscellaneous/objects/metadata-item.md)

List of private metadata items. Requires staff permissions to access.

<a id="private-metafield"></a>

#### [`privateMetafield`](#private-metafield) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

A single key from private metadata. Requires staff permissions to access.

Tip: Use GraphQL aliases to fetch multiple keys.

<a id="warehouse-private-metafield-key"></a>

##### [`key`](#warehouse-private-metafield-key) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

<a id="private-metafields"></a>

#### [`privateMetafields`](#private-metafields) ● [`Metadata`](/api-reference/miscellaneous/scalars/metadata.md)

Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.

<a id="warehouse-private-metafields-keys"></a>

##### [`keys`](#warehouse-private-metafields-keys) ● [`[String!]`](/api-reference/miscellaneous/scalars/string.md)

<a id="metadata"></a>

#### [`metadata`](#metadata) ● [`[MetadataItem!]!`](/api-reference/miscellaneous/objects/metadata-item.md)

List of public metadata items. Can be accessed without permissions.

<a id="metafield"></a>

#### [`metafield`](#metafield) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

A single key from public metadata.

Tip: Use GraphQL aliases to fetch multiple keys.

<a id="warehouse-metafield-key"></a>

##### [`key`](#warehouse-metafield-key) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

<a id="metafields"></a>

#### [`metafields`](#metafields) ● [`Metadata`](/api-reference/miscellaneous/scalars/metadata.md)

Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.

<a id="warehouse-metafields-keys"></a>

##### [`keys`](#warehouse-metafields-keys) ● [`[String!]`](/api-reference/miscellaneous/scalars/string.md)

<a id="name"></a>

#### [`name`](#name) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

Warehouse name.

<a id="slug"></a>

#### [`slug`](#slug) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

Warehouse slug.

<a id="email"></a>

#### [`email`](#email) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

Warehouse email.

<a id="is-private"></a>

#### [`isPrivate`](#is-private) ● [`Boolean!`](/api-reference/miscellaneous/scalars/boolean.md)

Determine if the warehouse is private.

<a id="address"></a>

#### [`address`](#address) ● [`Address!`](/api-reference/users/objects/address.md)

Address of the warehouse.

<a id="click-and-collect-option"></a>

#### [`clickAndCollectOption`](#click-and-collect-option) ● [`WarehouseClickAndCollectOptionEnum!`](/api-reference/products/enums/warehouse-click-and-collect-option-enum.md)

Click and collect options: local, all or disabled.

<a id="shipping-zones"></a>

#### [`shippingZones`](#shipping-zones) ● [`ShippingZoneCountableConnection!`](/api-reference/shipping/objects/shipping-zone-countable-connection.md)

Shipping zones supported by the warehouse.

<a id="warehouse-shipping-zones-before"></a>

##### [`before`](#warehouse-shipping-zones-before) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

Return the elements in the list that come before the specified cursor.

<a id="warehouse-shipping-zones-after"></a>

##### [`after`](#warehouse-shipping-zones-after) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

Return the elements in the list that come after the specified cursor.

<a id="warehouse-shipping-zones-first"></a>

##### [`first`](#warehouse-shipping-zones-first) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

<a id="warehouse-shipping-zones-last"></a>

##### [`last`](#warehouse-shipping-zones-last) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

<a id="stocks"></a>

#### [`stocks`](#stocks) ● [`StockCountableConnection`](/api-reference/products/objects/stock-countable-connection.md)

Stocks that belong to this warehouse.

Added in Saleor 3.20

Requires one of the following permissions: MANAGE\_PRODUCTS MANAGE\_ORDERS

<a id="warehouse-stocks-before"></a>

##### [`before`](#warehouse-stocks-before) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

Return the elements in the list that come before the specified cursor.

<a id="warehouse-stocks-after"></a>

##### [`after`](#warehouse-stocks-after) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

Return the elements in the list that come after the specified cursor.

<a id="warehouse-stocks-first"></a>

##### [`first`](#warehouse-stocks-first) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

<a id="warehouse-stocks-last"></a>

##### [`last`](#warehouse-stocks-last) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

<a id="external-reference"></a>

#### [`externalReference`](#external-reference) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

External ID of this warehouse.

Show deprecatedHide deprecated

<a id="company-name"></a>

#### [`companyName`](#company-name) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

DEPRECATED

Use `Address.companyName` instead.

Warehouse company name.

<a id="interfaces"></a>

### Interfaces

<a id="node"></a>

#### [`Node`](/api-reference/miscellaneous/interfaces/node.md)

An object with an ID

<a id="objectwithmetadata"></a>

#### [`ObjectWithMetadata`](/api-reference/miscellaneous/interfaces/object-with-metadata.md)

<a id="returned-by"></a>

### Returned By

[`warehouse`](/api-reference/products/queries/warehouse.md) query

<a id="member-of"></a>

### Member Of

[`Allocation`](/api-reference/products/objects/allocation.md) object  ● [`Channel`](/api-reference/channels/objects/channel.md) object  ● [`Checkout`](/api-reference/checkout/objects/checkout.md) object  ● [`Fulfillment`](/api-reference/orders/objects/fulfillment.md) object  ● [`Order`](/api-reference/orders/objects/order.md) object  ● [`OrderEvent`](/api-reference/orders/objects/order-event.md) object  ● [`ProductVariantBackInStock`](/api-reference/products/objects/product-variant-back-in-stock.md) object  ● [`ProductVariantOutOfStock`](/api-reference/products/objects/product-variant-out-of-stock.md) object  ● [`ProductVariantStockUpdated`](/api-reference/products/objects/product-variant-stock-updated.md) object  ● [`ShippingZone`](/api-reference/shipping/objects/shipping-zone.md) object  ● [`Stock`](/api-reference/products/objects/stock.md) object  ● [`WarehouseCountableEdge`](/api-reference/products/objects/warehouse-countable-edge.md) object  ● [`WarehouseCreate`](/api-reference/products/objects/warehouse-create.md) object  ● [`WarehouseCreated`](/api-reference/products/objects/warehouse-created.md) object  ● [`WarehouseDelete`](/api-reference/products/objects/warehouse-delete.md) object  ● [`WarehouseDeleted`](/api-reference/products/objects/warehouse-deleted.md) object  ● [`WarehouseMetadataUpdated`](/api-reference/products/objects/warehouse-metadata-updated.md) object  ● [`WarehouseShippingZoneAssign`](/api-reference/products/objects/warehouse-shipping-zone-assign.md) object  ● [`WarehouseShippingZoneUnassign`](/api-reference/products/objects/warehouse-shipping-zone-unassign.md) object  ● [`WarehouseUpdate`](/api-reference/products/objects/warehouse-update.md) object  ● [`WarehouseUpdated`](/api-reference/products/objects/warehouse-updated.md) object

<a id="implemented-by"></a>

### Implemented By

[`DeliveryMethod`](/api-reference/miscellaneous/unions/delivery-method.md) union
