Delivery simulator

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:

"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 of accepted -> pickup -> canceled.
  • returned: Simulates a returned delivery where the order will go through the workflow of accepted -> 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"
}