Skip to main content

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

Search Restaurants

  • Postal code-based restaurant search
  • Cuisine filter and rating criteria
  • Delivery time and minimum order amount filters
  • Availability and opening hours check

Retrieve Menus

  • Complete menu categories and prices
  • Popular dishes and recommendations
  • Allergen and additive information
  • Current deals and special offers

Place Orders

  • Full telephone order processing
  • Delivery address and payment method management
  • Special requests and delivery instructions
  • Automatic order confirmation

Configuration in the Famulor Interface

FieldValue
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 MethodGET
Timeout (ms)3000
Endpoint*https://api.lieferando.de/v1/restaurants/search
{
  "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

{
  "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

| 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 |

Parameter Schema

{
  "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

| Name* | Lieferando Bestellung aufgeben | | Function Name* | create_lieferando_order | | HTTP Method | POST | | Endpoint* | https://api.lieferando.de/v1/orders | | Timeout (ms) | 5000 |

Parameter Schema for Order

{
  "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}}€"