Order types

For more technical details, see the Orders API Reference.

Ship-from-Store

A Ship-from-Store (SfS) order is shipped from a facility to a customer's address. The Order.deliveryPreferences object identifies the order for shipping. Typically, a shipping label is required to send the parcels.

The following attributes in Order.deliveryPreferences mark an order as a shipping order:

  • preferredCarriers: Defines the logistics carrier chosen for delivery.

  • serviceLevel: Specifies the service level, which is either DELIVERY for standard shipping or SAMEDAY for same-day delivery.

  • desiredDeliveryTime: Contains the delivery time selected by the customer during checkout. This value, combined with the reservation preference mode, determines when fulfillmenttools checks for stock reservation.

  • reservationPreferences: Defines behavior for orders that cannot be fulfilled immediately after routing. This is relevant when a customer places an order for future delivery and the stock should not be reserved instantly (e.g., for items with a best-before date).

The fulfillmenttools platform calculates the targetTime attribute based on facility and carrier configurations; it is not set directly in the order.

The Order.consumer.email address is forwarded to the logistics carrier when a shipping label is requested. Customer consent is required to process this personal data; otherwise, a generic email address must be supplied.

Click-and-Collect

A Click-and-Collect order is picked up by the customer at a facility. The Order.deliveryPreferences object identifies the order for in-store collection.

The following attributes in Order.deliveryPreferences mark an order as a collect order:

  • paid: A boolean flag indicating if the customer has already paid for the order. This flag must be set to false for Click-and-Reserve orders.

  • provisioningTime: Represents the appointment time for customer pickup. This appointment time can be changed during the fulfillment process if the customer's plans change. Based on the provisioningTime, it is possible to configure an automatic cancellation timeframe if the customer does not arrive for pickup. For more information, see Order Expiry.

  • facilityRef: Specifies the pickup facility. This must be a valid facilityRef. For details on configuring facilities, see the guide on Add and Manage Facilities.

Locked orders

Some use cases require an order to be held for manual checks, such as customer verification or fraud detection, before it is released for fulfillment. Locked orders are routed to a facility but do not result in a pick job until they are unlocked.

An order can be locked at creation by setting its status to LOCKED. To unlock it, a request must be sent to the /api/orders/{orderId}/actions endpoint.

Last updated