order
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Description
name: android-order description: >- Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment). version: 1.0.0 user-invocable: true
metadata: openclaw: capabilities: ["order"] commands: - name: order.getGoods description: Get the menu / goods list (id, name, price). params: [] - name: order.getSelectedGoods description: Get current cart / selected items. params: [] - name: order.addGoods description: Add a product to the cart by id or name (fuzzy). Default quantity 1. params: - name: id type: string description: Goods ID from the menu (e.g. "1"). - name: name type: string description: Goods name, supports fuzzy match (e.g. "拿铁", "美式"). - name: quantity type: string description: Quantity, default "1". - name: order.removeGoods description: Remove a product from the cart by id or name. params: - name: id type: string description: Goods ID. - name: name type: string description: Goods name (fuzzy). - name: quantity type: string description: Quantity to remove, default "1". - name: order.clearGoods description: Clear all items in the cart. params: [] - name: order.submitOrder description: Submit the current cart as an order (demo; no real payment). params: [] - name: order.batchAddGoods description: Add multiple items at once. list is JSON array [{"id":"1","quantity":2},...]. params: - name: list type: string description: JSON array of objects with id and quantity.
Android Order Skill (点餐)
This skill uses the paired Android device (OpenClaw SMS Demo app with order capability) to manage an in-app menu and cart: get menu, add/remove items, view cart, submit order. Inspired by EdgeOSToolService (MEOW PAY); implementation is in-memory on the device (demo, no real POS backend).
When to use this skill
- User asks to order food/drinks, view menu, add to cart, or submit an order on the paired Android device: use the
order.*commands below.
Commands overview
| Command | Description |
|---|---|
order.getGoods |
Return menu (id, name, priceCents, price). |
order.getSelectedGoods |
Return current cart with quantities and subtotals. |
order.addGoods |
Add by id or name (and optional quantity). |
order.removeGoods |
Remove by id or name (and optional quantity). |
order.clearGoods |
Clear cart. |
order.submitOrder |
Submit cart as order; returns summary (demo only). |
order.batchAddGoods |
Add multiple items: list = [{"id":"1","quantity":2},...]. |
How to call the underlying commands
Invoke via the OpenClaw gateway node invoke API:
- command: one of
order.getGoods,order.getSelectedGoods,order.addGoods,order.removeGoods,order.clearGoods,order.submitOrder,order.batchAddGoods. - paramsJSON: JSON object string, or
nullfor no-param commands.
order.getGoods
command:"order.getGoods"paramsJSON:nullor"{}"- Success: payload is a JSON array of
{ "id", "name", "priceCents", "price" }.
order.getSelectedGoods
command:"order.getSelectedGoods"paramsJSON:nullor"{}"- Success: payload is a JSON array of cart items with
id,name,quantity,priceCents,subtotalCents.
order.addGoods
-
command:"order.addGoods" -
paramsJSON: provide id or name (or both); optional quantity (default 1).{ "id": "1", "quantity": "2" }or
{ "name": "拿铁", "quantity": "1" } -
Success: payload includes
success: trueandmessage(e.g. "已添加 拿铁 x1").
order.removeGoods
command:"order.removeGoods"paramsJSON: same shape as addGoods (idorname, optionalquantity).
order.clearGoods
command:"order.clearGoods"paramsJSON:nullor"{}".
order.submitOrder
command:"order.submitOrder"paramsJSON:nullor"{}".- Success: payload includes
success,message,totalCents,items. Cart is cleared after submit. - Error:
CART_EMPTYif cart is empty.
order.batchAddGoods
command:"order.batchAddGoods"paramsJSON:{ "list": "[{\"id\":\"1\",\"quantity\":2},{\"id\":\"2\",\"quantity\":1}]" }- Success: payload includes
successandmessage(e.g. "已批量添加 2 项").
Error handling
- GOODS_NOT_FOUND: No menu item matched the given id or name. Suggest calling
order.getGoodsto see the menu. - NOT_IN_CART: Item not in cart when removing.
- CART_EMPTY: Cannot submit when cart is empty.
- INVALID_REQUEST: Missing or malformed params (e.g. empty
listfor batchAddGoods).
Demo menu (default on device)
The in-app menu includes items such as: 拿铁, 美式, 卡布奇诺, 三明治, 沙拉, 蛋糕 (with ids "1"–"6"). Use order.getGoods to get the current list and prices.
Safety notes
- This is a demo flow: submit order does not charge or send to a real POS. Do not expose as real payment.
- Prefer confirming with the user before submitting an order (e.g. read back cart and total).
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!