Pickup
A Pickup
represents the process of a customer (or someone on behalf of the customer) to pick up one or multiple items from a service location.
Pickups are created based on the SalesOrderDraftPickup
objects configured during the draft phase.
A pickup is always performed at a specific location (pickup_location
) and may be scheduled to occur during a specific time frame (pickup_time_range
).
There may be information about the collector (collector_information
), but that isn't a requirement if the business has some other way to ensure items can only be picked up by the right person (e.g., by using a pager or checking the barcode on the pickup slip).
A pickup follows a simple state machine:
The meaning of the states is as follows:
State | Meaning |
---|---|
PENDING | The pickup has not yet happend and the items are not yet prepared either. This is the initial state. |
PREPARED | The items have been prepared for pickup. |
PICKED_UP | The items have been picked up. This is a final state. |
CANCELED | The pickup has been canceled. Items may or may not have been prepared before the cancelation. This is a final state. |
Note that a pickups's status can be modified via the API (via PUT /org/{org-id}/fulfillments/pickups/{pickup-id}/status
) but that it cannot be set to CANCELED
that way. A pickup only get's canceled when the sales order that it belongs to gets canceled.