---
title: Model shipping data fields
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

## Model shipping data fields

Shipping-related data is essential for calculating costs, determining delivery options, and ensuring compliance with carrier requirements.

Where you store this data depends on whether shipping attributes are the same across all variants or differ per variant.

### Shipping data on Product vs. Product Variant content types

- Store shipping data in the parent _Product_ content type when all variants share the same shipping characteristics, for example, all sizes of a dog collar ship in the same box type.
- Store shipping data in _variants_ when shipping characteristics differ between variants. For example, a small dog crate ships in a compact box, but an X-Large crate requires freight shipping.

### Common shipping fields

Depending on your product catalog and target markets, you can define a _ProductShipping_ RFS with these common fields:

- _ProductShippingWeight_ (Decimal, Taxomomy or Dropdown in case your products are standardized) - Weight in pounds or kilograms.
- _ProductShippingDimensions_ (Text or separate fields) - To store dimensions (length × width × height), as either a single text field ("24 × 18 × 12 inches), or as separate fields (_ShippingLength_, _ShippingWidth_, _ShippingHeight_).
- _ProductShippingClass_ (Dropdown) - Standard, Oversized, Hazardous, Fragile, Refrigerated, Live Animal - To determine available shipping methods.
- _ProductShippingOriginLocation_ (Text or Content Item reference) - Warehouse or fulfillment center code (optional if all products ship from one location).
- _ProductShippingHandlingDays_ (Integer) - Depending on the products your store sells, include processing time before shipment.
- _ProductShippingRestrictions_ (Text area, Taxonomy collection, or Multiple choice) - Geographic restrictions (state, country, international) to include where you can or cannot ship the product.

**Integration Considerations**

If you are integrating with shipping carriers or e-commerce platforms, consider adding the following optional fields:

- _ProductShippingHSCode_ (Text) - Harmonized System code for international shipping that's required for customs clearance.
- _ProductShippingCountryOfOrigin_ (Text or Dropdown) - Manufacturing country, often required in customs documentation.
- _ProductShippingCarrierRestrictions_ (Multiple choice) - Store which carriers cannot handle this product.

> **Tip:** **Shipping and e-products**
>
> We [recommend](https://docs.kentico.com/guides/upgrade-to-xbyk/upgrade-from-kx13/upgrade-commerce-features-overview.md#products) creating a dedicated content type for **E-Product SKU** for online that require handling expiration, membership access, or tracking number of downloads and custom build the functionality. In cases, where you don't need this level of detail, consider creating a _requires no shipping flag_, for example, within the _product variant itself_. For example, _Pawsome Pets_ sell _Dog Care 101_ physical book and e-book. Selecting the flag indicates e-variant of the same product and developers can handle the delivery of each variant appropraiately in code.

Keep your content model simple unless business requirements demand complexity. The rule of thumb for shipping data: store it where it naturally belongs - on parent products when consistent across variants, on individual variants when it differs.
