docs: docs for next release (#13303)
* added draft order plugin docs * fix vale error * added note about draft order being optional * add new shipping option - shipping method link * update user guides * generate * fix github icon * changes to shipping option type * document logger * reorder list * fixes * fixes
This commit is contained in:
1 parent
94effdcda7
commit
d510639193
55 files changed
+1653
-182
No files matched your search
@@ -38,6 +38,20 @@ The Fulfillment Module has the following links to other modules:
|
||||
</Table.Row>
|
||||
</Table.Header>
|
||||
<Table.Body>
|
||||
<Table.Row>
|
||||
<Table.Cell>
|
||||
[ShippingMethod](/references/cart/models/ShippingMethod) in [Cart Module](../../cart/page.mdx)
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
[ShippingOption](/references/fulfillment/models/ShippingOption)
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
Read-only - has one
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
[Learn more](#cart-module)
|
||||
</Table.Cell>
|
||||
</Table.Row>
|
||||
<Table.Row>
|
||||
<Table.Cell>
|
||||
[Order](/references/order/models/Order) in [Order Module](../../order/page.mdx)
|
||||
@@ -127,6 +141,59 @@ The Fulfillment Module has the following links to other modules:
|
||||
|
||||
---
|
||||
|
||||
## Cart Module
|
||||
|
||||
Medusa defines a read-only link between the `ShippingMethod` data model of the [Cart Module](../../cart/page.mdx) and the `ShippingOption` data model. This means you can retrieve the details of a shipping method's shipping option, but you don't manage the links in a pivot table in the database. The shipping option of a shipping method is determined by the `shipping_option_id` property of the `ShippingMethod` data model.
|
||||
|
||||
This link allows you to retrieve the shipping option that a shipping method was created from.
|
||||
|
||||
<Note>
|
||||
|
||||
This read-only link was added in [Medusa v2.10.0](https://github.com/medusajs/medusa/releases/tag/v2.10.0)
|
||||
|
||||
</Note>
|
||||
|
||||
### Retrieve with Query
|
||||
|
||||
To retrieve the shipping option of a shipping method with [Query](!docs!/learn/fundamentals/module-links/query), pass `shipping_option.*` in `fields`:
|
||||
|
||||
<CodeTabs group="relation-query">
|
||||
<CodeTab label="query.graph" value="method">
|
||||
|
||||
```ts
|
||||
const { data: shippingMethods } = await query.graph({
|
||||
entity: "shipping_method",
|
||||
fields: [
|
||||
"shipping_option.*",
|
||||
],
|
||||
})
|
||||
|
||||
// shippingMethods[0].shipping_option
|
||||
```
|
||||
|
||||
</CodeTab>
|
||||
<CodeTab label="useQueryGraphStep" value="step">
|
||||
|
||||
```ts
|
||||
import { useQueryGraphStep } from "@medusajs/medusa/core-flows"
|
||||
|
||||
// ...
|
||||
|
||||
const { data: shippingMethods } = useQueryGraphStep({
|
||||
entity: "shipping_method",
|
||||
fields: [
|
||||
"shipping_option.*",
|
||||
],
|
||||
})
|
||||
|
||||
// shippingMethods[0].shipping_option
|
||||
```
|
||||
|
||||
</CodeTab>
|
||||
</CodeTabs>
|
||||
|
||||
---
|
||||
|
||||
## Order Module
|
||||
|
||||
The [Order Module](../../order/page.mdx) provides order-management functionalities.
|
||||
|
||||
@@ -6,11 +6,11 @@ export const metadata = {
|
||||
|
||||
In this document, you’ll learn about shipping options and their rules.
|
||||
|
||||
## What’s a Shipping Option?
|
||||
## What is a Shipping Option?
|
||||
|
||||
A shipping option is a way of shipping an item. Each fulfillment provider provides a set of shipping options. For example, a provider may provide a shipping option for express shipping and another for standard shipping.
|
||||
A shipping option is a way of shipping an item. Each fulfillment provider offers a set of shipping options. For example, a provider may offer a shipping option for express shipping and another for standard shipping.
|
||||
|
||||
When the customer places their order, they choose a shipping option to be used to fulfill their items.
|
||||
When the customer places an order, they choose a shipping option to fulfill their items.
|
||||
|
||||
A shipping option is represented by the [ShippingOption data model](/references/fulfillment/models/ShippingOption).
|
||||
|
||||
@@ -18,17 +18,17 @@ A shipping option is represented by the [ShippingOption data model](/references/
|
||||
|
||||
## Service Zone Restrictions
|
||||
|
||||
A shipping option is restricted by a service zone, limiting the locations a shipping option be used in.
|
||||
A shipping option is restricted by a service zone, which limits the locations where the shipping option can be used.
|
||||
|
||||
For example, a fulfillment provider may have a shipping option that can be used in the United States, and another in Canada.
|
||||
For example, a fulfillment provider may have a shipping option that can be used in the United States and another in Canada.
|
||||
|
||||

|
||||
|
||||
Service zones can be more restrictive, such as restricting to certain cities or province codes.
|
||||
Service zones can be more restrictive, such as limiting to certain cities or province codes.
|
||||
|
||||
<Note title="Tip">
|
||||
|
||||
The province code is always in lower-case and in [ISO 3166-2 format](https://en.wikipedia.org/wiki/ISO_3166-2).
|
||||
The province code is always in lowercase and in [ISO 3166-2 format](https://en.wikipedia.org/wiki/ISO_3166-2).
|
||||
|
||||
</Note>
|
||||
|
||||
@@ -38,15 +38,15 @@ The province code is always in lower-case and in [ISO 3166-2 format](https://en.
|
||||
|
||||
## Shipping Option Rules
|
||||
|
||||
You can restrict shipping options by custom rules, such as the item’s weight or the customer’s group.
|
||||
You can restrict shipping options by custom rules, such as the item’s weight or the customer group.
|
||||
|
||||
<Note title="Tip">
|
||||
|
||||
You can also restrict a shipping option's price based on specific conditions. For example, you can make a shipping option's price free based on the cart's total. Learn more in the Pricing Module's [Price Rules](../../pricing/price-rules/page.mdx#how-to-set-rules-on-a-price) guide.
|
||||
You can also restrict a shipping option's price based on specific conditions. For example, you can make a shipping option's price free based on the cart total. Learn more in the Pricing Module's [Price Rules](../../pricing/price-rules/page.mdx#how-to-set-rules-on-a-price) guide.
|
||||
|
||||
</Note>
|
||||
|
||||
These rules are represented by the [ShippingOptionRule data model](/references/fulfillment/models/ShippingOptionRule). Its properties define the custom rule:
|
||||
These rules are represented by the [ShippingOptionRule data model](/references/fulfillment/models/ShippingOptionRule). Its properties define the custom rules:
|
||||
|
||||
- `attribute`: The name of a property or table that the rule applies to. For example, `customer_group`.
|
||||
- `operator`: The operator used in the condition. For example:
|
||||
@@ -62,16 +62,18 @@ A shipping option can have multiple rules. For example, you can add rules to a s
|
||||
|
||||
---
|
||||
|
||||
## Shipping Profile and Types
|
||||
## Shipping Profiles and Types
|
||||
|
||||
A shipping option belongs to a type. For example, a shipping option’s type may be `express`, while another `standard`. The type is represented by the [ShippingOptionType data model](/references/fulfillment/models/ShippingOptionType).
|
||||
A shipping option belongs to a type and a profile.
|
||||
|
||||
A shipping option also belongs to a shipping profile, as each shipping profile defines the type of items to be shipped in a similar manner.
|
||||
A shipping option type defines a group of shipping options with shared shipping characteristics. For example, a shipping option’s type may be `express`, while another may be `standard`. The type is represented by the [ShippingOptionType data model](/references/fulfillment/models/ShippingOptionType).
|
||||
|
||||
A shipping profile defines a group of items (such as products) that are shipped in a similar manner. For example, the "Standard" shipping profile applies to all products, whereas the "Digital" shipping profile applies to digital products. Shipping profiles are represented by the [ShippingProfile data model](/references/fulfillment/models/ShippingProfile).
|
||||
|
||||
---
|
||||
|
||||
## data Property
|
||||
|
||||
When fulfilling an item, you might use a third-party fulfillment provider that requires additional custom data to be passed along from the checkout or order-creation process.
|
||||
When fulfilling an item, you might use a third-party fulfillment provider that requires additional custom data to be passed along from the checkout or order creation process.
|
||||
|
||||
The `ShippingOption` data model has a `data` property. It's an object that stores custom data relevant later when creating and processing a fulfillment.
|
||||
The `ShippingOption` data model has a `data` property. It's an object that stores custom data relevant for creating and processing a fulfillment later.
|
||||
Reference in new issue
Block a user