Custom services & bundled line items
Users can define custom services in the fulfillmenttools platform using the /api/customservices API. These services can then be used during order creation if a custom service connection for the target facility is available via the /api/facilities/{facilityId}/customservices API. A custom service in the order creates a service job in the operational process.
A custom service could be a shortening of pants, an engraving of a watch, or an appointment for an eye test at an optician. Furthermore, services can be combined so that one service must be executed after another in a sequence.
Create custom service
To create a custom service, use the POST /api/facilities/{facilityId}/customservices endpoint. The following example body creates an engraving service:
{
"status": "ENABLED",
"nameLocalized": {
"en_US": "Engraving Service"
},
"descriptionLocalized": {
"en_US": "This service engraves a given item with a required text and an optional font. The default font is Comic Sans if one is not specified."
},
"executionTimeInMin": 60,
"itemsReturnable": false,
"itemsRequired": "MANDATORY",
"additionalInformation": [
{
"nameLocalized": {
"en_US": "Text"
},
"descriptionLocalized": {
"en_US": "The text that should be used for the engraving."
},
"valueType": "STRING"
},
{
"nameLocalized": {
"en_US": "Font"
},
"descriptionLocalized": {
"en_US": "The font that should be used for the engraving."
},
"valueType": "STRING",
"isMandatory": false
}
]
}Custom service facility connection
To make a custom service available in a facility, use the POST /api/facilities/{facilityId}/customservices/{customServiceId} endpoint. The following body makes the custom service with the specified {customServiceId} available in the facility with {facilityId}:
Custom service example
This use case demonstrates how to add two sequential custom services to an order: one to engrave a watch and another to assemble an alternative wristband. This requires that the custom services and their facility connections are already available.
Below is the body of an order with two nested custom services that must be performed in sequence:
Key aspects of this structure:
The nested
custom servicewith theengraving-custom-service-refis executed first.The parent
custom servicewith thewristband-shortening-custom-service-refreceives the output of the nested engraving service.Each article item can only be assigned to one
custom servicewithin thecustomServicesarray.
Bundled items
To ensure that items are not split into different pick jobs or routed to different facilities, items can be bundled. An item bundle is created by adding multiple items to a custom service and setting the isBundled flag to true within the order. The line items that should be bundled must be part of the orderLineItems array within the order.
Last updated