Skip to content

Shipping Method

First-Pass Node Dossier

This page is an evidence-backed node dossier generated from the domain hierarchy and node questionnaire.

What It Is

ShippingMethod is the translatable method label and category that groups one or more shipping services into shopper-facing choices such as delivery, carrier pickup, or warehouse pickup.

Parent hierarchy:

  • Fulfillment & Shipping
  • Shipping Configuration And Eligibility
  • Shipping Method

Primary implementation paths:

  • packages/framework/src/Models/ShippingMethod.php
  • packages/framework/src/Http/Controllers/Api/Admin/ShippingMethodsController.php
  • packages/framework/src/Http/Resources/Storefront/ShippingMethodResource.php

What Users Can Do With It

Operators can:

  • list, create, update, and delete shipping methods through the admin API
  • define bilingual names and descriptions
  • set the shipping_type used by downstream logic and UI

Indirectly, shipping methods are used to:

  • label available shipping choices in storefront and admin order flows
  • group multiple shipping services under one shopper-facing method
  • control which pickup or carrier fields are shown in order-shipment selection based on shipping_type

Where It Is Managed

ChannelRoleNotes
Admin APIDirectMain CRUD surface
Storefront resourcesIndirectReturned with nested eligible services
Order > Shipments blockIndirectOperators see method labels when choosing a service
Excel shipping templatesIndirectServices reference methods by UUID

Sources:

  • packages/framework/src/Http/Controllers/Api/Admin/ShippingMethodsController.php
  • packages/framework/src/Http/Resources/Storefront/ShippingMethodResource.php
  • packages/admin/resources/views/components/order/shipments/block.blade.php
  • packages/framework/src/Actions/Exports/Shipping/Sheets/ShippingServicesSheet.php

Channel-Level Field Coverage

Admin API

The create and update endpoints require:

  • name.en
  • name.fr
  • description.en
  • description.fr
  • shipping_type

The index supports search and includes a shipping-services count.

Source:

  • packages/framework/src/Http/Controllers/Api/Admin/ShippingMethodsController.php

Storefront representation

The storefront resource returns the method and can include nested shipping services when they are loaded.

Source:

  • packages/framework/src/Http/Resources/Storefront/ShippingMethodResource.php

Configuration And Data Model

Key model characteristics:

  • translatable for name and description
  • searchable
  • soft-deletable
  • parent of many shipping services

Important field:

FieldPurpose
shipping_typedownstream behavior bucket such as warehouse pickup or carrier pickup

Source:

  • packages/framework/src/Models/ShippingMethod.php

Relationships

ShippingMethod directly relates to:

  • shippingServices()

Practical dependents:

  • order-shipment selection cards
  • storefront available-shipping-method responses
  • shipping-service naming and grouping

Rules And Downstream Effects

The method itself is simple, but shipping_type is not just metadata.

It changes:

  • which iconography and fields the order-shipment block renders
  • whether pickup-specific fields or carrier fields are shown
  • how services are explained to shoppers and staff

Source:

  • packages/admin/resources/views/components/order/shipments/block.blade.php

Integrations And Automation

Shipping methods are referenced from:

  • shipping-service import and export templates
  • storefront shipping-method resources
  • shipping-line and shipment selection flows

Sources:

  • packages/framework/src/Actions/Exports/Shipping/Sheets/ShippingServicesSheet.php
  • packages/framework/src/Http/Resources/Storefront/ShippingMethodResource.php

Where It Appears To End Users

ShippingMethod is more visible than most configuration records.

Shoppers and operators see:

  • the translated method name
  • delivery or pickup framing
  • the set of eligible services nested underneath that method

They do not normally manage it directly in the packaged UI inspected in this pass.

Current Documentation Takeaways

  1. ShippingMethod is the shopper-facing category label; ShippingService is the constrained priced instance underneath it.
  2. The base repo exposes method CRUD through the admin API, not through a dedicated packaged Livewire settings page.
  3. shipping_type materially affects downstream UX and validation behavior.

Open Questions

  • This pass did not find a packaged Livewire CRUD screen for shipping methods in packages/admin, even though the admin API is complete.