Draft a delivery order
draft_delivery_orderPrices a food/drink DELIVERY order from the venue's menu (choices and sides included), finds the delivery address and quotes the delivery fee, without placing anything. Returns the items, delivery fee, total, distance and estimated delivery time, and a draftId that confirm_delivery_order places (place_delivery_order does both steps and follows the connection's permission setting). Requires the connected WaitApp account. Item ids and each item's optionGroups come from list_menu_items; chosen choices go in selectedOptions (group name and choice name), and a group with required=true must be chosen. Give the fullest address available (street or estate, area, city), or a savedLocationId. Fails with a clear message if the venue is closed, doesn't deliver, or the address is outside its delivery area. payment: pay_on_delivery (the guest pays the venue or rider on delivery) or online (the guest pays the meal on WaitApp's payment page after the order is placed; this tool and the assistant send and approve no payment). The delivery fee is always paid to the rider on delivery.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"restaurantId": "<restaurantId>",
"items": "<items>",
"guestName": "<guestName>",
"guestPhone": "<guestPhone>"
},
"name": "draft_delivery_order"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| payment | No | How the guest pays for the meal. pay_on_delivery: nothing is charged here; they pay the venue/rider on delivery (default where the venue allows it). mobile_money: when the order is confirmed, a payment prompt is sent to mobileMoneyNumber and the guest approves it on their own phone. Some venues require mobile_money. The delivery fee is always paid to the rider on delivery. | |
| guestName | Yes | ||
| guestPhone | Yes | The recipient's phone; the rider calls it on arrival | |
| restaurantId | Yes | ||
| deliveryAddress | No | Full delivery address, e.g. 'Plot 12, Foxtale Court, Kawanda Road, Rhodes Park, Lusaka'. Not needed when savedLocationId is given | |
| savedLocationId | No | The id of one of the person's saved locations (see list_saved_locations), used instead of deliveryAddress |