AvailableShippingMethod
A shipping method offered to the buyer for the current cart and destination — what to render in the shipping picker.
type AvailableShippingMethod {
carrier: ShippingCarrier
deliveryType: DeliveryType!
description: String
estimatedDelivery: DeliveryEstimate
freeShippingProgress: FreeShippingProgress
id: ID!
isFree: Boolean!
name: String!
pickupConfig: ShippingPickupConfig
price: Money!
sortOrder: Int!
unavailableReason: ShippingMethodUnavailableReason
}
Fields
AvailableShippingMethod.carrier ● ShippingCarrier object
Carrier behind the method. Null when the merchant configured a custom non-carrier method.
AvailableShippingMethod.deliveryType ● DeliveryType! non-null enum
Destination type — HOME (courier to the street address), PICKUP_POINT (staffed counter) or LOCKER (parcel locker). Drives whether the storefront must render a pickup-point picker for the method instead of inferring it from the method name.
AvailableShippingMethod.description ● String scalar
Optional method description shown under the name (e.g. "Saturday delivery available").
AvailableShippingMethod.estimatedDelivery ● DeliveryEstimate object
Estimated delivery window. Null when the merchant has not configured an estimate for this method.
AvailableShippingMethod.freeShippingProgress ● FreeShippingProgress object
Progress towards the free-shipping threshold for this method, when one is configured. Null otherwise.
AvailableShippingMethod.id ● ID! non-null scalar
Stable ID of the shipping method. Pass to cartSelectShippingMethod to select it.
AvailableShippingMethod.isFree ● Boolean! non-null scalar
True when the price is zero — the method is free for this cart (e.g. free-shipping threshold met).
AvailableShippingMethod.name ● String! non-null scalar
Display name of the method (e.g. "DPD Standard").
AvailableShippingMethod.pickupConfig ● ShippingPickupConfig object
Pickup-point selection config — present only for pickup methods (deliveryType LOCKER / PICKUP_POINT) whose carrier exposes a public pickup mechanism. Null for HOME delivery and when the merchant has not configured the carrier's public widget token. Carries only browser-safe data (e.g. the InPost Geowidget public token), never the carrier API secret.
AvailableShippingMethod.price ● Money! non-null object
Cost of the method for the current cart (in the buyer preferred currency).
AvailableShippingMethod.sortOrder ● Int! non-null scalar
Merchant-configured display position — lower values come first in the picker.
AvailableShippingMethod.unavailableReason ● ShippingMethodUnavailableReason enum
Null for every method the buyer can actually select — check this before rendering. A value means the method is configured and priced but cannot be carried through to an order (e.g. a locker method with no way to choose a point); hide it, or show it as unavailable with your own wording. Named after PaymentMethod.unavailableReason so both checkout steps read the same way; unlike payments there is no separate available flag, because null here already means "selectable" and a second field could only ever contradict it.