Anmerkung-setzen
ChatGPTNachricht an das Restaurant für die GANZE Bestellung („bitte klingeln“, „ohne Besteck“). Für einen Hinweis zu einem einzelnen Gericht stattdessen note bei Gericht-hinzufuegen bzw. Zeile-aendern. Leerer note löscht die Anmerkung. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Bestellart-setzen
ChatGPTLegt fest, ob geliefert (DELIVER) oder abgeholt (PICKUP) wird — im normalen Ablauf, bevor eine Übersicht im Chat steht. Die Wahl des Nutzers übernehmen; nur fragen, wenn sie unklar ist. Bis dahin sind alle Preise der Antworten Abholpreise und werden dem Nutzer nicht genannt. Steht schon eine Übersicht im Chat, stattdessen Bestellart-waehlen: das setzt die Bestellart und liefert die neue Übersicht samt Kassen-Link. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Bestellart-waehlen
ChatGPTSetzt Lieferung oder Abholung und/oder die Liefer- bzw. Abholzeit und liefert danach dieselbe Bestellübersicht wie Bestellung-pruefen — Positionen, Summe, checkoutUrl und die Karte mit der Schaltfläche „Bestellung auf restablo.de abschließen“. Dafür gedacht, dass der Nutzer Bestellart oder Zeit ändert, NACHDEM eine Übersicht im Chat steht („dann doch Abholung“, „dann um 12:15“, Vorbestellung bei geschlossenem Restaurant): ein Aufruf statt Bestellart-setzen bzw. Lieferzeit-setzen und Bestellung-pruefen hintereinander, damit die Karte nicht mit altem Stand und ohne Kassen-Link stehen bleibt. time: 'sofort' oder ein Slot aus Lieferzeiten bzw. aus der Übersicht; ist die Zeit nicht wählbar, kommen stattdessen die buchbaren Zeiten zurück. orderType weglassen = Bestellart bleibt. Im normalen Ablauf, vor der ersten Übersicht, genügt Bestellart-setzen bzw. Lieferzeit-setzen. Prüft zugleich, ob die Bestellart überhaupt geht (Liefergebiet, Öffnung) und sagt es, wenn nicht. Ist der Warenkorb noch leer, setzt es nur Bestellart und Zeit, ohne Übersicht.
Bestellstatus
ChatGPTPrüft, ob der Warenkorb dieses Restaurants in der Kasse auf restablo.de tatsächlich bestellt wurde, und liefert den Status-Link. Der passende Schritt für „ist meine Bestellung durch?“. Ein leerer Korb mit entsprechendem Hinweis in agentHints bedeutet: bestellt — dann nichts erneut hinzufügen.
Bestellung-pruefen
ChatGPTBestellübersicht zum Warenkorb eines Restaurants: Positionen, Bestellart, Summe, aktuelle Liefergebühr, offene Punkte (missingForOrder) und checkoutUrl, der Link zur Kasse auf restablo.de. Das Werkzeug legt keine Bestellung an. Für den Wunsch zu bestellen ist das der passende Schritt: er führt zur Kasse. Dort sieht der Nutzer dieselbe Übersicht, wählt die Zahlart und gibt die Bestellung selbst auf; einen Bestellvorgang im Chat gibt es nicht. Die Karte zur Antwort enthält alle Positionen und die Schaltfläche „Bestellung auf restablo.de abschließen“; daneben genügt ein Satz mit Restaurant und Summe. Kommt der agentHint, dass dieser Chat keine Karte zeigt, stattdessen die vollständige Übersicht in Worten und checkoutUrl nennen. readyToOrder ist false, solange die Bestellart fehlt. Wechselt der Nutzer am Ende die Bestellart oder die Zeit („dann Abholung“, „dann um 12:15“), NICHT hier und nicht über Bestellart-setzen, sondern mit dem Werkzeug Bestellart-waehlen (orderType und/oder time): das setzt sie und liefert dieselbe Übersicht in einem Aufruf. Sonst bleibt im Chat die Karte mit dem alten Stand stehen. Mindestbestellwert: allein minOrderReached gilt, gezählt wird minOrderValue (Warenwert) — NICHT total, NICHT die Liefergebühr; nie selbst nachrechnen. Summen wörtlich aus der Antwort.
Bestellungen
ChatGPTDie letzten Bestellungen des verbundenen Kontos, optional auf ein Restaurant eingegrenzt. Die orderNumber daraus geht an Nochmal-bestellen, wenn der Nutzer „wie letztes Mal“ möchte.
Bild-laden
ChatGPTIntern für die restablo-Karte (MCP App): lädt ein Bild der restablo-CDN verkleinert als Bild-Block, wenn der Host das direkte Laden blockiert. Nicht vom Modell aufrufen; für Bilder action=restaurant-bild / action=gericht-bild nutzen.
Bonus-optionen
ChatGPTBonusangebote eines Restaurants mit ihren Gruppen und Regeln; je Gruppe die rule beachten. Gewählt wird anschließend mit Bonus-waehlen (promoId, groupId, itemIds).
Bonus-waehlen
ChatGPTWählt die Gratis-Artikel eines Bonus-Angebots (promoId, groupId, itemIds aus Bonus-optionen). Dieselbe itemId mehrfach = Menge; itemIds leer = Auswahl entfernen. Die Gratis-Artikel erscheinen als 0-Euro-Zeilen im Korb. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Empfaenger-setzen
ChatGPTName und/oder Telefonnummer der Person, an die DIESE Bestellung geht — etwa bei Lieferung an jemand anderen oder an eine andere als die gespeicherte Adresse. Gilt nur für diese Bestellung, das Profil bleibt unverändert; die Kasse übernimmt es vorausgefüllt. Alle Felder leer = Empfänger entfernen. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Gericht-angaben
ChatGPTAllergene, Zusatzstoffe, Hinweise, Zutaten und Nährwerte zu einem Gericht (mealId) oder einem Extra (optionId). Bei JEDER Frage nach Allergien, Unverträglichkeiten, Zusatzstoffen oder Kalorien AUSSCHLIESSLICH hierüber antworten — nie aus Name oder Beschreibung ableiten. Sind keine Angaben hinterlegt, genau das sagen. Den Haftungshinweis der Antwort mitgeben. Zeichnet nichts im Chat; für eine Karte Zeigen action=gericht-angaben nehmen.
Gericht-hinzufuegen
ChatGPTLegt ein oder mehrere Gerichte in den Warenkorb des Nutzers bei einem Restaurant. Ein Gericht: mealId (id „m_…“ aus Speisekarte, bei Größen die der Variation), quantity, toppingIds („o_…“ aus Gericht-optionen), note (Hinweis an die Küche für diese Zeile). Mehrere Gerichte gehören in EINEN Aufruf: items=[{mealId,quantity,toppingIds,note}, …], bis zu 10 je Aufruf; mehr auf mehrere Aufrufe verteilen. Nur in den Korb legen, was der Nutzer genannt oder ausdrücklich bestätigt hat — nie eigenmächtig ergänzen, auch nicht um einen Mindestbestellwert zu erreichen; fehlt Warenwert, den Fehlbetrag nennen und wählen lassen. Mindestbestellwert: allein minOrderReached gilt, gezählt wird minOrderValue (Warenwert) — NICHT total, NICHT die Liefergebühr. Preise und Summen kommen aus der Antwort, nie selbst rechnen. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Gericht-optionen
ChatGPTExtras, Beilagen und Pflichtauswahlen zu einem Gericht — nötig, bevor ein Gericht mit hasToppings in den Korb geht. Gruppen mit minItems>0 sind Pflicht und müssen dem Nutzer zur Wahl gestellt werden; Gruppen mit isCrossSell sind optional („Dazu passt“) und werden höchstens einmal angeboten. Die ids „o_…“ gehen als toppingIds an Gericht-hinzufuegen. Zeichnet nichts im Chat; für „zeig mir die Extras“ Zeigen action=gericht-optionen nehmen.
Gutschein-einloesen
ChatGPTLöst einen Gutscheincode für diesen Warenkorb ein. Ob er gilt (Restaurant, Mindestbestellwert, Zeitraum), sagt die Antwort. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Gutschein-entfernen
ChatGPTNimmt den eingelösten Gutschein wieder aus dem Warenkorb. Nur auf Wunsch des Nutzers. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Lieferadresse-setzen
ChatGPTSetzt die Lieferadresse dieser Bestellung. Hat der Nutzer im Gespräch eine Lieferadresse genannt, IMMER genau diese setzen, auch wenn im Profil eine andere steht. Ohne Felder = Standardadresse aus dem Profil — nur, wenn der Nutzer keine genannt hat. Prüft zugleich das Liefergebiet des Restaurants. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Lieferzeit-setzen
ChatGPTSetzt die Liefer- bzw. Abholzeit: 'sofort' oder ein Slot aus Lieferzeiten. Ist die Zeit nicht wählbar, kommen stattdessen die buchbaren Zeiten zurück. Steht schon eine Übersicht im Chat, stattdessen Bestellart-waehlen mit time: das setzt die Zeit und liefert die neue Übersicht samt Kassen-Link. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Lieferzeiten
ChatGPTMögliche Liefer- bzw. Abholzeiten eines Restaurants; mit time eine Wunschzeit prüfen (z. B. '18:21'). Der passende Schritt, wenn der Nutzer „später“ sagt oder eine Uhrzeit nennt. Der gewählte Slot geht anschließend mit Lieferzeit-setzen in den Korb — steht schon eine Übersicht im Chat, mit Bestellart-waehlen time=…: das setzt ihn und liefert die neue Übersicht samt Kassen-Link in einem Aufruf.
Mein-profil
ChatGPTKontaktdaten und gespeicherte Adressen des verbundenen Kontos, dazu — sofern freigeschaltet — pointsBalance, der Stand der restablo-Punkte. Antwortet dieses Werkzeug normal, ist das Konto verbunden und es steht nichts mehr dazwischen — dann ist vor Änderungen am Warenkorb kein weiterer Schritt nötig. Fehlt die Verbindung, sagt der Server das.
Nochmal-bestellen
ChatGPT„Wie letztes Mal“: legt die Positionen einer früheren Bestellung in den Warenkorb (orderNumber aus Bestellungen, ohne = die neueste; mit restaurant die neueste dort). Was es nicht mehr gibt, nennt die Antwort in notes — dem Nutzer sagen. Die Bestellart danach mit Bestellart-setzen bestätigen. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Restaurant-details
ChatGPTDie Stammdaten eines Restaurants: je Bestellart Öffnungsstatus und heutige Zeiten, Liefergebühr, Mindestbestellwert, Anschrift, akzeptierte Zahlarten, laufende Angebote und Vorbestellzeiten — also die Angaben, die für eine Bestellung dort zählen. Nur mit address wird geprüft, ob diese Anschrift im Liefergebiet liegt (inArea) — ohne address entfällt die Prüfung. Anders als bei Restaurants-finden wird hier KEINE Profiladresse eingesetzt: die Anschrift muss vollständig mitgegeben werden. Zeichnet nichts im Chat. Für „zeig mir das Restaurant“ Zeigen action=restaurant-details nehmen; das liefert dieselben Daten als Karte, mit Kopfbild und Logo.
Restaurants-finden
ChatGPTRestaurants bei restablo.de finden — der Einstieg in jede Bestellung. Hat der Nutzer eine Lieferadresse genannt (auch nebenbei, „… an die Mönckebergstraße 7“), IMMER diese als address übergeben — sie schlägt die Profiladresse, sonst liefert die Suche Filialen, Preise und Liefergebiet für den falschen Ort. Nur ohne genannte Adresse SOFORT ohne address/city aufrufen: bei verbundenem Konto nimmt der Server die Profiladresse und nennt sie in der ersten Zeile. Kennt die Antwort keine Adresse, GENAU EINE Rückfrage stellen (Lieferadresse „Straße Nr, PLZ Ort“, für Abholung PLZ). Nicht nach Küche, Budget oder Bestellart fragen. query = Restaurantname oder Küche; dish = Gericht oder Zutat („Pizza mit Oliven“), solche Treffer bringen meals mit; offer = Aktion, z. B. „Mittagsangebot“. limit/offset blättern, und nur mit Adresse oder PLZ gibt es total. Ein Ortsname allein ersetzt keine Adresse — dann fehlen Liefergebiet und Liefergebühr. Zeichnet nichts im Chat; will der Nutzer die Liste SEHEN, Zeigen action=restaurants-finden nehmen. Ist der slug bereits bekannt, direkt weiterarbeiten — dieses Werkzeug dient dem FINDEN und wiederholt sich nicht vor jedem Schritt.
Speisekarte
ChatGPTDie Speisekarte eines Restaurants mit Preisen, Größen und Angeboten. Eingrenzen mit category (Kategoriename) oder query (Volltext in den Gerichten), diet (eine Kennzeichnung des Restaurants wie vegan, vegetarisch, scharf, glutenfrei), maxPrice (Budget je Gericht) und orderType (DELIVER/PICKUP, bestimmt Liefer- oder Abholpreise). Hat ein Gericht variations, gehört deren id in den Warenkorb, nicht die des Gerichts. NUR Gerichte mit hasToppings brauchen vorher Gericht-optionen; alle anderen gehen direkt mit Gericht-hinzufuegen, und je Gericht genügt ein Aufruf. Fehlen Gerichte, gezielt mit category oder query nachladen statt denselben Aufruf zu wiederholen. Zeichnet nichts im Chat; für „zeig mir die Karte“ Zeigen action=speisekarte nehmen.
Warenkorb-ansehen
ChatGPTDer aktuelle Warenkorb eines Restaurants als Text: Positionen, Mengen, Preise, Summen und Hinweise. Setzt ein verbundenes Konto voraus; fehlt es, sagt der Server das. Nach einer Änderung am Korb (Gericht-hinzufuegen, Zeile-aendern …) NICHT nötig — jede Änderung liefert den vollständigen Korb bereits mit. Für die Karte im Chat Zeigen action=warenkorb, für die Übersicht samt Kassen-Link Bestellung-pruefen. Summen wörtlich aus der Antwort, nie selbst rechnen.
Warenkorb-leeren
ChatGPTEntfernt alle Positionen aus dem Warenkorb bei diesem Restaurant. Nur auf ausdrücklichen Wunsch des Nutzers: der Korb ist mit restablo.de-Website und -App geteilt, in einem geteilten Korb liegen auch die Gerichte anderer. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Zeigen
ChatGPTZeichnet EINE Karte im Chat. Nur auf ausdrücklichen Wunsch des Nutzers aufrufen („zeig mir …“, „wie sieht … aus“, „was gibt es dort“) — für den Bestellablauf selbst genügen die lesenden Werkzeuge, die dieselben Daten als Text liefern. Nicht zusätzlich zum lesenden Werkzeug für denselben Inhalt: entweder lesen oder zeigen, nicht beides. Inhalt ist der aktuelle Stand bei restablo.de: was dort heute bestellbar ist, zu welchen Konditionen und zu welchem Preis. restaurants-finden (Trefferliste mit Logos; address/city/query/dish/offer/limit/offset wie bei Restaurants-finden); restaurant-details (restaurant) beantwortet „zeig mir das Restaurant“: Kopfbild und Logo, je Bestellart Öffnungsstatus und heutige Zeiten, Liefergebühr, Mindestbestellwert, Anschrift, akzeptierte Zahlarten, laufende Angebote und Vorbestellzeiten — die Angaben, die für eine Bestellung dort zählen; speisekarte (restaurant; category/query/diet/maxPrice/orderType); gericht-optionen (restaurant, mealId); lieferzeiten, bonus-optionen, mein-profil, bestellungen und bestellstatus gibt es hier NICHT — die liefern die gleichnamigen Werkzeuge als Text; gericht-angaben (restaurant, mealId oder optionId): Allergene, Zusatzstoffe, Zutaten, Nährwerte; restaurant-bild (restaurant, kind=header|logo), gericht-bild (restaurant, mealId); warenkorb (restaurant): der aktuelle Korb als Karte — „zeig mir den Warenkorb“; ohne Kassen-Link, den liefert Bestellung-pruefen. Ob das Konto verbunden ist, beantwortet Mein-profil. Die Bestellübersicht am Ende kommt von Bestellung-pruefen, nicht von hier.
Zeile-aendern
ChatGPTÄndert eine Zeile, die schon im Warenkorb liegt: Menge, Extras und/oder den Küchenhinweis dieser Zeile. toppingIds ist die VOLLSTÄNDIGE neue Liste („doch ohne Zwiebeln“, „lieber mit Stäbchen“; leer = ohne Extras), weggelassen bleiben die bisherigen. Nie dafür entfernen und neu hinzufügen — das verliert das Gericht, wenn der zweite Schritt ausbleibt. Menge 1–20; zum Herausnehmen Zeile-entfernen. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).
Zeile-entfernen
ChatGPTNimmt eine oder mehrere Zeilen aus dem Warenkorb: lineId für eine, lineIds für mehrere in einem Aufruf. Nur Zeilen entfernen, die der Nutzer nicht mehr will. Die Antwort enthält den vollständigen Korb mit Preisen und Hinweisen; kein Warenkorb-ansehen danach. Bestellt wird nicht hier, sondern in der Kasse auf restablo.de (Übersicht und Kassen-Link: Bestellung-pruefen).