Problem
The fulfillment extension defines shipping methods, destinations, and options at checkout time. The order capability defines fulfillment events (shipped, delivered, etc.) after purchase. But there's no connection between the two.
At checkout, the buyer picks "Express Shipping" (fulfillment option express). After purchase, the order gets a fulfillment event saying "shipped." Nothing ties the event back to the option that was selected. The agent can't tell the buyer "your express order shipped" vs "your standard order shipped" because the event doesn't reference the fulfillment group or option.
What's missing
- Fulfillment events should reference the fulfillment method/group/option from checkout
- A "where is my order" query that returns fulfillment progress against what was promised
- Carrier and tracking info as structured fields on fulfillment events (not just free text)
- Estimated delivery window updates -- if "2-3 business days" changes to "5-7 days," the platform should know
Suggestion
Link order fulfillment events to checkout fulfillment selections:
{
"fulfillment_events": [
{
"id": "evt_1",
"type": "shipped",
"fulfillment_method_id": "shipping_1",
"fulfillment_option_id": "express",
"line_item_ids": ["li_1", "li_2"],
"carrier": "UPS",
"tracking_number": "1Z999AA10123456784",
"tracking_url": "https://ups.com/track?num=1Z999AA10123456784",
"estimated_delivery": {
"earliest": "2026-04-11T00:00:00Z",
"latest": "2026-04-12T00:00:00Z"
},
"timestamp": "2026-04-09T14:30:00Z"
}
]
}
The fulfillment_method_id and fulfillment_option_id tie back to checkout. Carrier and tracking are structured, not buried in free text. Delivery estimates are a range, not a single date.
Problem
The fulfillment extension defines shipping methods, destinations, and options at checkout time. The order capability defines fulfillment events (shipped, delivered, etc.) after purchase. But there's no connection between the two.
At checkout, the buyer picks "Express Shipping" (fulfillment option
express). After purchase, the order gets a fulfillment event saying "shipped." Nothing ties the event back to the option that was selected. The agent can't tell the buyer "your express order shipped" vs "your standard order shipped" because the event doesn't reference the fulfillment group or option.What's missing
Suggestion
Link order fulfillment events to checkout fulfillment selections:
{ "fulfillment_events": [ { "id": "evt_1", "type": "shipped", "fulfillment_method_id": "shipping_1", "fulfillment_option_id": "express", "line_item_ids": ["li_1", "li_2"], "carrier": "UPS", "tracking_number": "1Z999AA10123456784", "tracking_url": "https://ups.com/track?num=1Z999AA10123456784", "estimated_delivery": { "earliest": "2026-04-11T00:00:00Z", "latest": "2026-04-12T00:00:00Z" }, "timestamp": "2026-04-09T14:30:00Z" } ] }The
fulfillment_method_idandfulfillment_option_idtie back to checkout. Carrier and tracking are structured, not buried in free text. Delivery estimates are a range, not a single date.