Delivery options
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) orCOLLECTION(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
DELIVERYonly,COLLECTIONonly, 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
- Checkout. The parent page.
- Shipping rates. The raw alternative.
- Orders → allocation engine. Where the chosen option constrains location selection.
- Locations. Fulfillment locations and customer collection locations are configured here.
- Carrier configuration. The underlying carrier accounts the option points at.