Popular use cases

No robots are available to fulfill the order

If the service receives more orders than there are available robots, it assigns the performer_not_found status to the order when evaluating it.

In this case, there are two options:

Option 1 (default)

The order is immediately and automatically canceled and gets a cancelled status.

Option 2

You can leave the order in performer_not_found status and keep trying to find an available robot for a while. To do this, specify the time until which the search should continue when creating an order. You need to pass this parameter in the search_until field of the conditions section in the request body. This field should contain a datetime value indicating when the search should stop.

If no robot is found before the specified time, the order is automatically canceled and gets a cancelled status.

You can view the current order status when requesting the order information.

Selecting a robot for the order

The service usually finds and assigns a robot to the order, but you can also do this manually.

  1. Request a list of available robots: specify free in the shift_status_in request field. You can specify other statuses as well.

    Request
    POST /couriers/search
    
    {
        "filters": {
            "shift_status_in": "free"
        }
    }
    

    The response returns a list of robots, their statuses and coordinates. Select a robot and remember its VIN.

  2. Create an order, specifying the VIN of the selected robot in the vin parameter of the conditions section.

    Request
    POST /claims/create?idempotency_key=<your_idempotency_key>
    
    {
        "route_points": [
            {
            "address": {
                "coordinates": [
                    55.733989,
                    37.588116
                ]
            },
            "point_id": "0",
            "type": "source",
            "visit_order": 0
            },
            {
            "address": {
                "coordinates": [
                    55.735120,
                    37.642817
                ]
            },
            "point_id": "1",
            "type": "destination",
            "visit_order": 1
            }
        ],
        "external_order_id": "Order #1",
        "conditions": {
            "vin": "<your_selected_vin>"
        }
    }
    

A partner or customer canceled the order

You can cancel the order until the customer confirms that they received the cargo.

If the cargo isn't yet in the robot, the order status immediately changes to cancelled.

If the cargo is already in the robot, but delivery hasn't been confirmed, order cancellation triggers the cargo return to the loading point:

  1. Cancel the order.

  2. Check the order status:

    While the robot is delivering the cargo to the loading point, the order is in returning status.

    When the robot arrives at the loading point, the order status changes to return_arrived.

  3. Open the lid to pick up the cargo, and the order status will change to ready_for_return_confirmation.

  4. Confirm that you collected the cargo, and the order status will change to returned.

  5. After that, the order status automatically changes to cancelled.

The customer returned the order

If the robot delivered the cargo to the customer and the customer refused to pick it up, return the cargo to the loading point:

  1. If the customer has already closed the robot lid, they should open it again.

  2. The customer should put the cargo in and close the lid.

  3. Instead of confirming that the cargo was picked up, initiate order cancellation.

  4. Check the order status:

    While the robot is delivering the cargo to the loading point, the order is in returning status.

    When the robot arrives at the loading point, the order status changes to return_arrived.

  5. Open the lid to pick up the cargo, and the order status will change to ready_for_return_confirmation.

  6. Confirm that you collected the cargo, and the order status will change to returned. When confirmed, the robot lid closes automatically: you don't have to send a request.

  7. After that, the order status automatically changes to cancelled.

The customer didn't pick up the order

When the robot arrives at the delivery point, it waits for the customer to pick up the order. By default, the waiting time isn't limited.

If you want to limit the waiting time, specify it for a specific point in the waiting_time parameter (in seconds) when creating an order. If the customer doesn't pick up the order within the specified time, the order is automatically canceled and order return is initiated.

Delivery delay

The order delivery time may increase due to the current traffic conditions or a robot malfunction. While the order is being fulfilled, the service continuously recalculates the estimated tome of arrival (ETA). The order information request returns the actual time in the eta field.

The order can't be delivered

If a robot malfunction occurs and the order can't be delivered, the order is automatically canceled. The order information request returns a cancelled status in the response.

After that, you need to contact support and discuss possible solutions to the issue.

List of frequently used points

If you have a set of geopoints that are frequently used as loading or delivery points, you can add their coordinates to the list of available points.

You can provide this list to customers in the interface of your online service or mobile app to simplify and speed up order placement.

To add points to the list, please contact support.

If you didn't find the answer you were looking for, you can use the feedback form to submit your question. Please describe the problem in as much detail as possible. Attach a screenshot if possible.

Contact support
Previous