www/apps/resources/app/commerce-modules/fulfillment/concepts/page.mdx
export const metadata = {
title: Fulfillment Concepts,
}
In this document, you’ll learn about some basic fulfillment concepts.
A fulfillment set is a general form or way of fulfillment. For example, shipping is a form of fulfillment, and pick-up is another form of fulfillment. Each of these can be created as fulfillment sets.
A fulfillment set is represented by the FulfillmentSet data model. All other configurations, options, and management features are related to a fulfillment set, in one way or another.
const fulfillmentSets = await fulfillmentModuleService.createFulfillmentSets(
[
{
name: "Shipping",
type: "shipping",
},
{
name: "Pick-up",
type: "pick-up",
},
]
)
A service zone is a collection of geographical zones or areas. It’s used to restrict available shipping options to a defined set of locations.
A service zone is represented by the ServiceZone data model. It’s associated with a fulfillment set, as each service zone is specific to a form of fulfillment. For example, if a customer chooses to pick up items, you can restrict the available shipping options based on their location.
A service zone can have multiple geographical zones, each represented by the GeoZone data model. It holds location-related details to narrow down supported areas, such as country, city, or province code.
<Note title="Tip">The province code is always in lower-case and in ISO 3166-2 format.
</Note>A shipping profile defines a type of items that are shipped in a similar manner. For example, a default shipping profile is used for all item types, but the digital shipping profile is used for digital items that aren’t shipped and delivered conventionally.
A shipping profile is represented by the ShippingProfile data model. It only defines the profile’s details, but it’s associated with the shipping options available for the item type.