Order with Custom Services
Simple Custom Service use-case
Complex Custom Service user-case
Simple Custom Service Use Case
In this example we focus on custom services. For details regarding Ship-from-Store orders look at the Ship-from-Store use-case. Custom Services add services to orders or order lines which are executed after picking. This could be shortening of pants, an engraving of a watch or an appointment for an eye test at an optician.
Custom Service
In this use-case we choose the example of engraving a text to the backside of a watch. This service needs additional information to be completed:
the text you want to engrave
the font you want to engrave (font is optional)
The custom service must be created in the fulfillmenttools platform. You can think of the custom service resource as a blue print. In this blue print you can configure the additional information and orders can reference the custom service.
This example creates the custom service described above:
Some details on the example:
each created custom service has a
id
which is used in an order to reference the defined custom service.executionTimeInMin
: how long does the service take (we use the value for calculating target times)An item processed in a service with
itemsReturnable
set to true cannot be retured since it is comumed by the service.The
itemsRequired
attribute sets that this service must be used together with order line itemsThe
additionalInformation
configures the parameters we need to fulfill the service. These parameters can be optional or mandatory furthermore, you can specify thevalueType
e.gSTRING
,BOOLEAN
orDATE
. Furthermore, each additional information item has an id which is used for referencing the additional information when creating an order.The
customAttributes
field is a JSON object that carries information that might be relevant to the Custom Service. The form and content of this object is completely free, but its JSON serialized size is limited. Check out the Custom Attributes section for more details.
Ship-from-Store Order
Now that we have configured a custom service we can create an order which references the custom service. So we create an order containing the watch and references the custom service:
Some details on the example:
in
customServices
you can add multiple entries, each entry groups together different services and eachesthe engravement service needs
additionalInformation
which are referenced by aadditionalInformationRef
each article item can only be present once in the
customServices
customServices
can also be nested to represent service hierarchies / processing steps
Reference
Full specification of the orders endpoint in our fulfillmenttools API
Complex Custom Service Use Case
In the simple custom service order use-case we introduced custom services. Custom Services add services to orders or order lines which are executed after picking. This could be shortening of pants, an engraving of a watch or an appointment for an eye test at an optician. In this use-case we show how to combine multiple (dependent) custom services.
Custom Service
In this use-case we want to put an engraving to a watch and furthermore assembly an alternative wristband. Therefore, we need to Introduce two custom services to the fulfillmenttools platform.
Engraving Custom Service
Engraving a text to the backside of a watch needs additional information:
the text you want to engrave
the font you want to engrave (font is optional)
The custom service must be created in the fulfillmenttools platform. You can think of the custom service resource as a blue print. In this blue print you can configure the additional information and orders can reference the custom service.
This example creates the custom service described above:
Some details on the example:
each created custom service has a
id
which is used in an order to reference the defined custom service.executionTimeInMin
: how long does the service take (we use the value for calculating target times)An item processed in a service with
itemsReturnable
set to true cannot be retured since it is comumed by the service.The
itemsRequired
attribute sets that this service must be used together with order line itemsThe
additionalInformation
configures the parameters we need to fulfill the service. These parameters can be optional or mandatory furthermore, you can specify thevalueType
e.gSTRING
,BOOLEAN
orDATE
. Furthermore, each additional information item has an id which is used for referencing the additional information when creating an order.
Wristband Assembly Custom Service
Let's assume that we want to add the service assembling a wristband to a watch to the fulfillmenttools platform:
Some details on the example:
each created custom service has a
id
which is used in an order to reference the defined custom service.executionTimeInMin
: how long does the service take (we use the value for calculating target times)An item processed in a service with
itemsReturnable
set to true cannot be retured since it is comumed by the service.The
itemsRequired
attribute sets that this service must be used together with order line itemsWe don't have any
additionalInformation
for this custom service
Ship-from-Store Order
Now that we have configured the two custom services we can create an order which references the two services. So we create an order containing the watch, the wristband and references the custom services in a hierarchical manner. We want to first do the engraving and afterwards assembly the wristband. An request to create such an order with custom services could look like this:
Some details on the example:
in
customServices
you can add multiple entries, each entry groups together different services and eachesthe engravement service (
customServiceRef
f4eba7c2-21ce-4926-a862-230f57651ec3
) needsadditionalInformation
which are referenced by aadditionalInformationRef
the wristband assemply service (
customServiceRef
f4eba7c2-21ce-4926-a862-230f57651ec3
) takes the result of the engravement service and the wristband articleeach article item can only be present once in the
customServices
Reference
Full specification of the orders endpoint in our fulfillmenttools API
Last updated