> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dintero.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.dintero.com/feedback

```json
{
  "path": "/docs/checkout/shipping-options-multiple-shipments",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Multiple shipments in Checkout Express

> Configure Checkout Express orders that ship in multiple shipments using shipment_id, shipment_items, and a top-level shipping_option with multiple shipments.

For Checkout Express orders with multiple shipments there are some extra considerations to take into account.

Please read [the single shipment shipping option guide](/docs/checkout/shipping-options) before continuing the guide for handling multiple shipments.

Notable changes from the single shipment flow:

* The **express.shipping\_options** must include a **shipment\_id** that is used to group the shipping options per shipment.
* The **express.shipping\_options** must include **shipment\_items** that describes what items belong to a shipment.
* The **order.shipping\_option** is *a single top-level shipping option* that has multiple **shipments**.

### What it looks like

<img src="https://mintcdn.com/dintero-c3a7bfec/TiCvqt4VXcXnNQNe/docs/assets/checkout/checkout-shipping-option-multi-shipment.png?fit=max&auto=format&n=TiCvqt4VXcXnNQNe&q=85&s=2769cc8d4c52c7bbcb82e1ed9d6de446" alt="Checkout Express with multiple shipments" width="553" height="831" data-path="docs/assets/checkout/checkout-shipping-option-multi-shipment.png" />

### Express shipping options

For shipping options in **express.shipping\_options** and shipping options returned by the optional **express.shipping\_address\_callback\_url** endpoint.

When the order contains multiple shipments each shipping option has to contain a **shipment\_id** that is used for grouping the options for that shipment. The shipping options must also contain list of **shipment\_items** that specify the items (and optionally quantities) that are included in the shipment.
The **shipment\_items** list is used to determine which items are included in the shipment and is displayed in the checkout. All shipping options that share the same **shipment\_id** should have the same **shipment\_items** list.

Each multi shipment shipping option needs a minimum set of required declared properties:

```json theme={null}
{
    "id": "group-id-1",
    "line_id": "unique-shipping-id-1",
    "amount": 10000,
    "operator": "shipping-provider-name",
    "title": "Home delivery",
    "shipment_id": "shipment-1",
    "shipment_items": [
        {
            "line_id": "line-1",
            "quantity": 1
        },
        {
            "line_id": "line-2",
            "quantity": 2
        }
    ]
}
```

### The shipping option in the order object

The shipping option found in the **order.shipping\_option** is *a single top level shipping option* that contains multiple **shipments**. The shipment array must contain a single shipping option per **shipment\_id** found in **express.shipping\_options**. There must be two or more shipping options in the shipments array, if you only have a single shipment use [the single shipment flow instead](/docs/checkout/shipping-options).

Example top-level shipping option for an order with multiple shipments:

```json theme={null}
 {
    "id": "multi_shipment",
    "title": "Multiple shipments",
    "amount": 40000,
    "line_id": "multi_shipment",
    "operator": "",
    "shipments": [
        {
            "id": "group-id-1",
            "line_id": "unique-shipping-id-1",
            "amount": 10000,
            "operator": "Bring",
            "title": "Home delivery",
            "shipment_id": "shipment-1",
            "shipment_items": [
                {
                    "line_id": "line-1",
                    "quantity": 1
                },
                {
                    "line_id": "line-2",
                    "quantity": 2
                }
            ]
        },
        {
            "id": "group-id-2",
            "line_id": "unique-shipping-id-2",
            "amount": 30000,
            "operator": "DHL",
            "title": "Express delivery",
            "shipment_id": "shipment-2",
            "shipment_items": [
                {
                    "line_id": "line-3",
                    "quantity": 1
                }
            ]
        }
    ]
}
```

## After payment has been completed

The resulting transaction will contain the top-level multi shipment shipping option, but we will append a single item per shipment to the **order.items** in the resulting transaction so that the shipments can be captured and refunded separately.
