Order types
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 eitherDELIVERYfor standard shipping orSAMEDAYfor same-day delivery.desiredDeliveryTime: Contains the delivery time selected by the customer during checkout. This value, combined with the reservation preference mode, determines whenfulfillmenttoolschecks 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 tofalsefor 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 theprovisioningTime, 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 validfacilityRef. 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