Receive delivery requests from your customers and respond to them.
Deliveries and returns
There are two types of deliveries, indicated by the type field:
"DELIVERY": Customer requests products to be delivered."RETURN": Customer requests products to be picked up for return.
Updates and responses
Once a customer requested either type of delivery, they cannot make any changes. To change a delivery, they have to cancel and make a new request.
Suppliers can add responses to deliveries until the user either cancels or receives the delivery. Responses may be sent to accept or reject a delivery, update the reference, schedule date, product availability or the actual unit price.
Status
The state of a delivery is indicated by the status field:
"REQUESTED": The customer requested the delivery. This is the initial state."CANCELLED": The customer cancelled the delivery."ACCEPTED": The supplier accepted the delivery."REJECTED": The supplier rejected the delivery."DELIVERED": Customer received the delivery.
Possible state transitions:
| From | To |
|---|---|
"REQUESTED" |
"CANCELLED", "ACCEPTED", "REJECTED", "DELIVERED" |
"ACCEPTED" |
"CANCELLED", "REJECTED", "DELIVERED" |
"CANCELLED" |
Final state |
"REJECTED" |
Final state |
"DELIVERED" |
Final state |
Delivery address, company name and cost center
The customer and request objects both have company and address fields.
The request also has a cost_center field that can be used to identify a
customer within the same organization.
customer.companyspecifies the customers default company name.request.companyspecifies the receiving company name for the delivery. This may be different from thecustomer.company.customer.addressspecifies the customers default address.request.addressspecifies the effective delivery address. This may be different from thecustomer.address.request.cost_centerspecifies a cost center, if configured. You may want to agree on an identifier with the customer.