Fulfillment & Shipping
Fulfillment & Shipping is the domain that turns shipping configuration into real shopper choices, order shipment selection, delivery scheduling, fulfillment coordination, and final shipped records.
This first pass treats the domain as two connected halves:
- shipping configuration that decides which methods and services are available
- fulfillment planning and execution that turns order items into confirmed and fulfilled deliveries
Status
- [x] Domain overview written
- [x] Subdomains reviewed
- [x] Technical node pages linked
- [x] End-user concept pages linked
- [x] Task guides linked
Responsibility
This domain is responsible for:
- defining reusable shipping methods, services, zones, classes, and geographic constraints
- calculating which shipping services are available for a shipment, product offer, cart, or order item
- validating pickup and delivery dates through calendar rules
- grouping order items into shipments and calculating order shipping lines
- planning, confirming, and fulfilling fulfillment requests
- producing delivery documents, pickup details, invoices, and customer-facing fulfillment status
Subdomains
Shipping Configuration And EligibilityShippingMethodShippingServiceShippingZoneShippingClassShippingPostalCodeShippingOption
Order Shipment Selection And Shipping LinesOrderShipmentOrderShippingLine
Fulfillment Planning And CoordinationFulfillmentRequestFulfillmentRequestItemTransferLocationDeliveryTimingIssueFulfillmentServiceFulfillmentServiceRequest
Fulfillment ExecutionFulfillmentFulfillmentItem
Scheduling ConstraintsCalendarRuleCalendarRuleCondition
Classification Decisions
Standalone technical pages
Standalone end-user pages
Standalone task guides
- How to export and import shipping configuration
- How to choose a shipping service on an order
- How to review a fulfillment request
- How to manage shipping date calendar rules
Folded into parent pages for now
ShippingClass- folded into
Shipping Servicebecause the main first-pass question is how classes restrict service availability
- folded into
ShippingPostalCode- folded into
Shipping ZoneandShipping Servicebecause postal-code management is mainly a supporting geographic substrate
- folded into
ShippingOption- folded into
Shipping Serviceand the order-shipment task guide
- folded into
OrderShipment- folded into
Shipping Serviceand the task guides as the shared admin and storefront shipment-selection record created from order-item grouping
- folded into
OrderShippingLine- folded into
Shipping ServiceandFulfillment Requestas the priced commercial result of shipment selection
- folded into
TransferLocation- folded into
Fulfillment Request
- folded into
FulfillmentRequestItem- folded into
Fulfillment Request
- folded into
FulfillmentItem- folded into
Fulfillment
- folded into
DeliveryTimingIssue- folded into
Fulfillment Request
- folded into
FulfillmentServiceandFulfillmentServiceRequest- folded into
Fulfillment Requestbecause they matter mostly as send/request plumbing around a request
- folded into
Explicitly not getting standalone end-user concept pages in this pass
Shipping MethodFulfillment
ShippingMethod is a lower-level configuration container under Shipping Service, and Fulfillment is mainly a downstream output that shoppers and operators consume indirectly through order history, documents, and status.
OrderShipment is intentionally folded rather than omitted. The codebase treats it as a real shared workflow record across storefront cart editing and admin order editing, but this first pass keeps it inside the shipping-service and task-guide pages to avoid splitting the batch into too many overlapping operational pages.
Evidence Highlights
Framework ownership
packages/framework/src/Models/ShippingService.phppackages/framework/src/Models/ShippingMethod.phppackages/framework/src/Models/ShippingZone.phppackages/framework/src/Models/FulfillmentRequest.phppackages/framework/src/Models/Fulfillment.phppackages/framework/src/Models/CalendarRule.php
Admin and operations surfaces
packages/framework/routes/admin.phppackages/admin/src/Livewire/Admin/Order/Shipmentspackages/admin/src/Livewire/Admin/Order/FinancialDetailspackages/admin/src/Livewire/Admin/Settings/CalendarRulespackages/admin/src/Livewire/Admin/Settings/CalendarRulepackages/admin/src/Livewire/Admin/Tools/Excel
Storefront and customer-facing surfaces
packages/framework/routes/storefront.phppackages/framework/src/Http/Controllers/Api/Storefront/ShippingController.phppackages/framework/src/Http/Controllers/Api/Storefront/CartShipmentsController.phppackages/framework/src/Http/Controllers/Api/Storefront/OrdersController.phppackages/framework/src/Http/Resources/Storefront/ShippingServiceResource.phppackages/framework/src/Http/Resources/Storefront/FulfillmentResource.php
Core behavior and automation
packages/framework/src/Actions/ShippingService/GetAvailableShippingServices.phppackages/framework/src/Actions/Order/CalculateShipments.phppackages/framework/src/Actions/Order/CalculateShippingLines.phppackages/framework/src/Actions/FulfillmentRequest/ConfirmFulfillmentRequestItems.phppackages/framework/src/Actions/FulfillmentRequest/FulfillFulfillmentRequestItems.phppackages/framework/src/Actions/Fulfillment/CreateFulfillmentFromFulfillmentRequest.phppackages/framework/src/Rules/CalendarRuleValidation.php
Navigation Notes
ShippingMethodis the shopper-facing label bucket such as delivery or pickup, whileShippingServiceis the priced and constrained operational instance tied to a location.ShippingZoneis not the same thing asShippingPostalCode. Zones group or derive postal-code coverage; postal codes are the underlying data source.OrderShipmentis an operational grouping record created from order items and inventory locations. It is not the same thing as a finalFulfillment.FulfillmentRequestis the planning and coordination record.Fulfillmentis the executed result after items are actually fulfilled.CalendarRuleis a supporting configuration node, but it is included in this first pass because the packaged admin exposes it directly and it materially changes pickup and delivery date validation.
Priority Technical Pages
Priority End-User Pages
Priority Task Guides
- How to export and import shipping configuration
- How to choose a shipping service on an order
- How to review a fulfillment request
- How to manage shipping date calendar rules
- How to troubleshoot why a shipping service is not available