> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dmly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Take orders with AI

> Let an AI assistant help customers choose products, build an order and, if you allow it, confirm it and send a payment link, all in the chat.

An AI assistant can take orders in the chat: a restaurant taking food orders on WhatsApp, a shop
helping customers pick a size and colour on Instagram. It searches your products, answers
questions from what you've told DMLY, builds the order as the customer talks, works out the
total from your own prices and taxes, and then either hands the order to your team or, if you
allow it, confirms it and sends a payment link.

It uses your real [Products](/offerings/products) and [Orders](/finance/orders). There's no
separate menu or cart to maintain. The AI never invents a price, a tax, a fee or a delivery
area: when something isn't set up, the quote stays incomplete and your team takes over.

## How it fits together

<Steps>
  <Step title="Set up your products">
    Prices and taxes live on your products, as they do today. Each product you want the AI to
    sell also gets **ordering rules**: the unit it's sold in, allowed quantities, variants and
    add-ons.
  </Step>

  <Step title="Turn on AI ordering">
    **AI Ordering Settings** hold your currency, time zone, fees, fulfilment methods and how far
    the AI may take an order.
  </Step>

  <Step title="Add the assistant">
    Install the **AI Food Ordering Assistant** or **AI Shopping Assistant** template, pick an AI
    provider and model, and publish.
  </Step>
</Steps>

## Set up your products

Add your products in **Offerings → Products** with their price, currency and tax. To add many at
once, use the [AI Catalogue Builder](/offerings/products#ai-catalogue-builder).

Then give each product its ordering rules. In **Finance**, select **AI Ordering Settings**,
scroll to **Product ordering rules** and choose a product. The rules don't change its catalogue
price.

| Setting | What it's for |
| - | - |
| Unit | What customers order in: item, portion, g or kg. |
| Price basis | How much of that unit the catalogue price covers. For a price per 100 grams, set the unit to `g` and the price basis to `100`. |
| Quantity step, minimum and maximum | For example a step of `50` with unit `g` allows 50 g, 100 g, 150 g and so on. |
| Available quantity | A limit the quote checks, not a stock count that updates itself. |
| Preparation time | Minutes needed before the requested time. Leave it blank if you don't know; enter 0 only if nothing needs preparing. |
| **Variants** | Sizes, colours or cuts, each with its own **Price per selling basis**. |
| **Options and modifiers** | Groups of add-ons such as "Extra cheese" or "Choice of protein", with minimum and maximum selections and an **Added price** charged **Once per line** or **Per selling basis**. |
| **Product page URL (optional)** | Adds a **View product** button. It doesn't create a checkout. |
| **Product tags** and **Related products (optional)** | Used for related-product suggestions. |

<Note>
  **Blank means unknown, and unknown is never treated as zero.** A missing price, tax or add-on
  price leaves the quote incomplete, so the order goes to your team rather than out at a wrong
  total. Enter 0 only when something really is free.
</Note>

## Turn on AI ordering

In **Finance**, select **AI Ordering Settings** and turn on **Enable AI ordering**. Then set:

* **Currency** and **Time zone**. Requested times are read in your time zone.
* **Service fee**, **Fallback flat delivery fee** and **Tax on fees (%)**. Leave a fee blank if
  you haven't decided; enter 0 if there isn't one.
* **Fulfilment and required information**: which of pickup, delivery and dine-in you offer,
  and what the AI must collect for each. For example a delivery address and landmark, a table
  number, or a requested time.
* **Delivery areas** for delivery, or **Delivery zones** for different fees by area (see below).
* **Response language** and **Conversation tone**, if you want them fixed.
* **Product presentation**: **Text only**, or **Allow cards and carousels**.
* **Merge identical products with identical selections**. Leave it off to keep separate requests
  on separate lines, for example two portions for two people.
* **Handoff tags**, added to the conversation when an order goes to your team.

Select **Save ordering settings**.

### Delivery zones

A zone has a name, its areas, optional postal codes, a **Delivery fee**, an optional **Minimum
order** and an optional **Free delivery from** amount. When you set zones, exactly one must
match the customer's area (and postal code, if you listed any), and its fee replaces the flat
delivery fee. If no zone matches, or more than one does, the AI asks the customer to clarify.
Matching is by name only: DMLY doesn't look up maps or measure distance.

## Add the assistant

Go to [Start from a template](/automation/templates) and install **AI Food Ordering Assistant**
or **AI Shopping Assistant**. Both answer every message, and both arrive with a detailed prompt
and the ordering tools switched on.

Before you publish:

1. Open the **AI Reply** step and choose an AI provider and model.
2. Read the prompt and adjust it for your business.
3. Check the tools on the **Built-in Tools** tab. See
   [AI agent tools](/automation/ai-agent-tools#commerce-tools) for what each one does.

The templates deliberately leave the confirmation and payment tools off, so out of the box every
order goes to your team for confirmation.

Keep **Hand over to a human** ticked. **Submit for staff confirmation** hands the order over, and
it refuses to run without it.

## What happens to an order

As soon as the customer adds the first item, a **draft order** appears in **Finance → Orders**,
and each change the AI makes updates that same order. Its number links to the order's own page,
where your team can check each line, the fulfilment details and anything the quote is missing,
and edit it. While a quote is missing something, the Orders list shows **Incomplete quote**
instead of a total. Staff who can view Finance also see the order from the Inbox and the
contact's profile.

The AI then finishes the order one of two ways, set under **Order completion**.

### Capture for staff review (the default)

The AI submits the draft for your team. It pauses the bot, adds your **Handoff tags**, and leaves
a note on the conversation that links to the order. If nobody can be assigned, the conversation
waits in the unassigned queue. The order page reads *Captured draft awaiting staff confirmation.
Stock is not reserved and no payment has been requested.*

Nothing else happens until your team acts: no stock is taken, no invoice is created and no
payment is requested.

### Let the AI confirm the order

Choose **Allow order confirmation**, and on the AI Reply step tick **Confirm customer-approved
order**. The AI can then confirm an order itself, but only after showing the customer the full
quote from DMLY and getting a clear yes. If anything changes afterwards, it has to quote again
and ask again.

Confirming checks every rule once more and takes tracked stock. Products whose stock is tracked
by weight, or that use **Available quantity**, still go to your team.

To let the AI send a payment link too:

1. Turn on **Allow payment links for confirmed orders** and choose a **Connected payment
   provider**.
2. On the AI Reply step, tick **Create order payment link**, and **Check recorded payment
   status** if the AI should be able to tell the customer whether their payment arrived.

DMLY raises an invoice for the confirmed order and sends a link from your provider. An order
only counts as paid when the payment is recorded in Finance. A screenshot, or a customer saying
they've paid, doesn't count.

## Cards and carousels

With **Allow cards and carousels** on, and **Show product cards**, **Show product carousels** or
**Show collection cards** ticked on the AI Reply step, the AI can show products as cards instead
of text. What the customer sees depends on the channel:

| Channel | What they see |
| - | - |
| Facebook, Instagram | Cards and carousels |
| Live Chat | Cards and carousels |
| WhatsApp | One product with a photo as an image with a caption; several products as a numbered list |
| Telegram, SMS | A numbered list |

A card only shows products; it doesn't add anything to the order. Set **Presentation mode** on
the AI Reply step to **Always use text only** to turn cards off for one assistant.

## Limits worth knowing

* **The AI can't give discounts.** Any discount or coupon goes to your team.
* **A quote is an estimate at that moment.** Showing a quote doesn't hold stock or lock the price.
* **Allergies and dietary needs are handed over** when your product details don't answer them.
  The food template never promises that something is allergen-free.
* **Changes to a confirmed order, cancellations and refunds go to your team.**
* **If a teammate takes over the conversation**, the AI stops changing the order.
