InhouseDelivery provides a delivery simulator (aka Robbo) as a simulated delivery service provider for testing purposes.
Robbo can be enabled at the location configuration level as a delivery service provider (DSP). Any delivery orders assigned to this DSP automatically transitions the order status based on a set interval. Using Robbo allows you to test webhooks triggered from IHD on each status change (e.g. pickup -> dropoff)
To enable Robbo, you will need to:
- Create a location
- Setup Delivery Config to enable IHD services for this location.
- Update Delivery Config and include
robboas aservice_provider
"service_provider": "robbo"
Once enabled, new delivery orders will be assigned to Robbo as the delivery provider.
Order status changes will go through the following states by default:
accepted -> pickup -> dropoff -> delivered
As well as testing the transition workflow for a successful delivery workflow, it is possible to simulate cancellations or returned deliveries. To achieve this, Robbo allows a JSON payload to be sent as in the delivery_instructions property when creating a new delivery
Supported options for workflow and transition interval changes are:
end_state
Optional property used for simulating cancelations or returns. When this value is not specified, Robbo will follow a succesful delivery workflow as described above. Valid values for this property are:
canceled: Simulates an order cancellation where the order will go through the workflow ofaccepted -> pickup -> canceled.returned: Simulates a returned delivery where the order will go through the workflow ofaccepted -> pickup -> dropoff -> returning -> returned.
Below is an example payload that can be passed in as the value for a new delivery order using the delivery_instructions property value.
Example JSON for simulating a cancellation
{
"end_state": "canceled"
}
Example JSON for simulating a return
{
"end_state": "returned"
}
