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:

State diagram: Pickup

The meaning of the states is as follows:

StateMeaning
PENDINGThe pickup has not yet happend and the items are not yet prepared either. This is the initial state.
PREPAREDThe items have been prepared for pickup.
PICKED_UPThe items have been picked up. This is a final state.
CANCELEDThe 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.