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

# Lieferando Integration

> Complete Lieferando integration for restaurant search, menu query, and order placement directly during phone calls

# Lieferando Integration Template

Integrate Germany’s leading food delivery platform Lieferando into your Mid-call Actions with three powerful features: restaurant search, menu retrieval, and full order processing during the call.

## Overview & Features

<CardGroup cols={3}>
  <Card title="Search Restaurants" icon="map-pin">
    * Postal code-based restaurant search
    * Cuisine filter and rating criteria
    * Delivery time and minimum order amount filters
    * Availability and opening hours check
  </Card>

  <Card title="Retrieve Menus" icon="list">
    * Complete menu categories and prices
    * Popular dishes and recommendations
    * Allergen and additive information
    * Current deals and special offers
  </Card>

  <Card title="Place Orders" icon="shopping-cart">
    * Full telephone order processing
    * Delivery address and payment method management
    * Special requests and delivery instructions
    * Automatic order confirmation
  </Card>
</CardGroup>

## Tool 1: Restaurant Search

### Configuration in the Famulor Interface

<Tabs>
  <Tab title="Tool Details">
    | Field                      | Value                                                                                                                                      |
    | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
    | **Name**\*                 | `Lieferando Restaurants suchen`                                                                                                            |
    | **Description**            | "Searches for available restaurants near the customer based on postal code and preferences"                                                |
    | **Function Name**\*        | `search_lieferando_restaurants`                                                                                                            |
    | **Function Description**\* | "Searches restaurants based on postal code and preferences. Use this when a customer asks for available restaurants or specific cuisines." |
    | **HTTP Method**            | `GET`                                                                                                                                      |
    | **Timeout (ms)**           | `3000`                                                                                                                                     |
    | **Endpoint**\*             | `https://api.lieferando.de/v1/restaurants/search`                                                                                          |
  </Tab>

  <Tab title="Query Parameters">
    ```json theme={null}
    {
      "postalCode": "{postal_code}",
      "cuisine": "{cuisine_type}",
      "minRating": "{min_rating}",
      "maxDeliveryTime": "{max_delivery_time}"
    }
    ```
  </Tab>
</Tabs>

### Parameter Schema for Restaurant Search

```json theme={null}
{
  "type": "object",
  "properties": {
    "postal_code": {
      "type": "string",
      "description": "Postal code of the delivery location",
      "pattern": "^[0-9]{5}$"
    },
    "cuisine_type": {
      "type": "string",
      "enum": ["pizza", "burger", "sushi", "indian", "chinese", "italian", "german", "thai", "mexican", "vietnamese"],
      "description": "Preferred cuisine style"
    },
    "min_rating": {
      "type": "number",
      "description": "Minimum rating (1.0-5.0)",
      "minimum": 1.0,
      "maximum": 5.0,
      "default": 3.5
    },
    "max_delivery_time": {
      "type": "integer",
      "description": "Maximum delivery time in minutes",
      "minimum": 15,
      "maximum": 120,
      "default": 45
    }
  },
  "required": ["postal_code"]
}
```

### Response Mapping

```json theme={null}
{
  "restaurants": "data.restaurants",
  "count": "data.total"
}
```

**Agent Message**: `"I am searching for suitable restaurants in {{postal_code}}..."`

**Success Template**: `"I found {{count}} restaurants. The top options are: {{restaurants[0].name}} with a rating of {{restaurants[0].rating}} stars, delivery time {{restaurants[0].deliveryTime}} minutes."`

## Tool 2: Retrieve Menu

### Configuration in the Famulor Interface

<Tabs>
  <Tab title="Tool Details">
    \| **Name**\* | `Lieferando Speisekarte abrufen` |
    \| **Function Name**\* | `get_lieferando_menu` |
    \| **HTTP Method** | `GET` |
    \| **Endpoint**\* | `https://api.lieferando.de/v1/restaurants/{restaurant_id}/menu` |
    \| **Timeout (ms)** | `3000` |
  </Tab>
</Tabs>

### Parameter Schema

```json theme={null}
{
  "type": "object",
  "properties": {
    "restaurant_id": {
      "type": "string",
      "description": "Restaurant ID from previous search"
    }
  },
  "required": ["restaurant_id"]
}
```

**Success Template**: `"The menu has {{categories.length}} categories. Popular dishes include: {{popularItems[0].name}} for {{popularItems[0].price}}€."`

## Tool 3: Place Order

### Configuration in the Famulor Interface

<Tabs>
  <Tab title="Tool Details">
    \| **Name**\* | `Lieferando Bestellung aufgeben` |
    \| **Function Name**\* | `create_lieferando_order` |
    \| **HTTP Method** | `POST` |
    \| **Endpoint**\* | `https://api.lieferando.de/v1/orders` |
    \| **Timeout (ms)** | `5000` |
  </Tab>

  <Tab title="Request Body">
    ```json theme={null}
    {
      "restaurantId": "{restaurant_id}",
      "customer": {
        "name": "{customer_name}",
        "phone": "{customer_phone}",
        "email": "{customer_email}"
      },
      "deliveryAddress": {
        "street": "{street}",
        "houseNumber": "{house_number}",
        "postalCode": "{postal_code}",
        "city": "{city}",
        "additionalInfo": "{additional_info}"
      },
      "items": "{order_items}",
      "paymentMethod": "{payment_method}"
    }
    ```
  </Tab>
</Tabs>

### Parameter Schema for Order

```json theme={null}
{
  "type": "object",
  "properties": {
    "restaurant_id": {
      "type": "string",
      "description": "Restaurant ID"
    },
    "customer_name": {
      "type": "string", 
      "description": "Customer name"
    },
    "customer_phone": {
      "type": "string",
      "description": "Phone number"
    },
    "customer_email": {
      "type": "string",
      "description": "Email address"
    },
    "street": {
      "type": "string",
      "description": "Street"
    },
    "house_number": {
      "type": "string",
      "description": "House number"
    },
    "postal_code": {
      "type": "string",
      "description": "Postal code"
    },
    "city": {
      "type": "string",
      "description": "City"
    },
    "order_items": {
      "type": "array",
      "description": "Ordered items with quantities"
    },
    "payment_method": {
      "type": "string",
      "enum": ["cash", "paypal", "creditcard", "sofort"],
      "description": "Payment method"
    }
  },
  "required": ["restaurant_id", "customer_name", "customer_phone", "street", "house_number", "postal_code", "city", "order_items", "payment_method"]
}
```

**Success Template**: `"Order successful! Order number: {{orderId}}. Delivery time: {{estimatedDeliveryTime}}. Total amount: {{totalAmount}}€"`

***

<Tip>
  Related pages: [Introduction](/en/automation-platform/introduction) and [Building Flows](/en/automation-platform/building-flows), and [Debugging Runs](/en/automation-platform/debugging-runs).
</Tip>

<Tip>
  Need a whole toolset instead of building HTTP actions one by one? Connect an external **MCP server** — tools are discovered automatically. See [MCP Servers](/en/platform/mcp-servers).
</Tip>
