Delivery options

Updated May 29, 20263 min read

A Delivery Option is a named, merchant-configured choice presented to the customer at checkout. Each option declares its own pricing, estimated delivery time, the customer geographies it supports, the fulfillment locations it can ship from, and the delivery method (home delivery or customer collection).

The merchant builds this list once in the Dashboard. At checkout, the merchant calls Carriyo with the basket details and customer context. Carriyo returns the subset of options eligible for that specific checkout.

For raw rates per carrier account without curation, see Shipping rates.

What a delivery option carries

A delivery option is configured per merchant and includes:

  • Name and description. What the customer sees.
  • Delivery method. DELIVERY (home delivery) or COLLECTION (customer collection).
  • Carrier account. The underlying account that fulfills the option once it's selected.
  • Shipping fee. Flat, tiered, or free. The merchant controls the pricing model independently of the underlying carrier rate.
  • Estimated delivery time. Used to compute the date shown to the customer at checkout.
  • Fulfillment locations. The locations the option can ship from. For collection options, the customer collection locations the option can be picked up from.
  • Eligibility criteria. Used to filter which options are returned for a given checkout. Examples include customer geography, order value bands, weight thresholds, and payment type.

The exact criteria available are managed in the Dashboard and evolve over time.

Two delivery methods, one model

Each delivery option declares whether it's DELIVERY (home delivery to the customer's address) or COLLECTION (customer picks up at a configured location). A single checkout call can return both kinds in the same response, and the customer picks either one. See Click and collect for the specifics of the COLLECTION variant.

What the merchant sends at checkout

A typical request carries:

  • Merchant. Which merchant's configured options to evaluate.
  • Line items. The basket.
  • Customer address. Used to evaluate geographic eligibility.
  • Fulfillment locations. The locations the merchant has inventory for this basket. Carriyo intersects these with each option's configured fulfillment locations to decide which options can be honored.
  • Delivery methods (optional). Restrict the response to DELIVERY only, COLLECTION only, or both.

The response contains the eligible options, each with the computed shipping fee and estimated delivery date for this specific checkout.

The bridge to order allocation

When the customer picks a delivery option, persist the chosen option's code (or id) on the order. When the order is sent to Carriyo:

  • The chosen option is stored on the order.
  • If the merchant is using Carriyo's Order management with allocation, allocation restricts to the fulfillment locations attached to the option. The customer can't end up with a shipment booked from a location the option doesn't support.

The option's estimated delivery date is only achievable when the shipment ships from a location the option was configured for. Constraining allocation to those locations keeps the customer-facing promise intact.

The estimated delivery date becomes a promise

The estimated delivery date returned per option is what the customer sees at checkout as their expected delivery. When the order is placed, the date for the chosen option becomes the customer promise on the resulting shipment. Tracking against that promise is handled by Service levels once the shipment exists.

How it fits with other modules