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

# Zonal (Aztec)

> Verbinden Sie das Zonal Aztec POS mit storekit für Menü-Synchronisation, Order Injection mit Warenkorb-Validierung, Grundriss-Synchronisation für Dine-in und vollständige Pay-at-Table-Funktionalität.

Zonal (Aztec) ist eine der umfassendsten POS-Integrationen, die in storekit verfügbar sind. Sie bietet vollständige Menü-Synchronisation, automatische Order Injection mit Warenkorb-Validierung, Grundriss-Synchronisation für Dine-in und Unterstützung für Gänge, Größen und verschachtelte Modifikatoren.

## Voraussetzungen

Bevor Sie Zonal verbinden, stellen Sie sicher, dass Sie über Folgendes verfügen:

* Zonal Aztec POS mit iOrder-API-Zugriff
* iOrder Brand Token von Ihrem Zonal Account Manager
* iOrder User Device Identifier
* Admin-Zugriff auf Ihr storekit-Dashboard

<Note>
  Wenden Sie sich an Ihren Zonal Account Manager, um iOrder-API-Zugangsdaten anzufordern. Sie benötigen den Brand Token und den User Device Identifier für die Verbindung.
</Note>

## Verbindung einrichten

### Schritt 1: Zonal-Zugangsdaten eingeben

1. Gehen Sie in Ihrem storekit-Dashboard zu **Store-Einstellungen > Integrationen**
2. Suchen Sie **Zonal** und klicken Sie auf **Verbinden**
3. Geben Sie Ihre iOrder-Zugangsdaten ein:
   * **Brand Token** – Ihr iOrder-Brand-Authentifizierungstoken
   * **User Device Identifier** – Ihre eindeutige Gerätekennung
   * **Bundle Identifier** (optional) – Benutzerdefinierte Bundle-ID, falls bereitgestellt
4. Klicken Sie auf **Verbinden**

storekit verifiziert die Zugangsdaten mit Zonals `authCheck`-Endpunkt vor dem Speichern.

### Schritt 2: Venue auswählen

Nach der Authentifizierung:

1. storekit ruft verfügbare Venues aus Ihrem Zonal-Konto ab
2. Wählen Sie das Venue (Site), das zu diesem storekit-Store passt
3. Die Site ID des Venues wird für alle künftigen API-Aufrufe gespeichert

### Schritt 3: Menü synchronisieren

Sobald die Verbindung besteht, importieren Sie Ihr Menü aus Zonal:

1. Gehen Sie in Ihrem Dashboard zu **Menü**
2. Klicken Sie auf **Menü synchronisieren**
3. storekit ruft Menüs aus allen Sales Areas ab
4. Kategorien und Produkte werden mit vollständiger Modifikatorstruktur importiert

## Menü-Synchronisation

### Was synchronisiert wird

| Daten                         | Synchronisiert                 |
| ----------------------------- | ------------------------------ |
| Kategorien                    | Ja (aus Display Groups)        |
| Produkte                      | Ja                             |
| Preise                        | Ja (inklusive Portionspreise)  |
| Beschreibungen                | Ja (aus Display Records)       |
| Bilder                        | Ja (in CDN hochgeladen)        |
| Modifikatoren (Choice Groups) | Ja                             |
| Verschachtelte Modifikatoren  | Ja                             |
| Größen-/Portionsvarianten     | Ja (als Modifikatorgruppe)     |
| Gänge                         | Ja (optional, als Modifikator) |
| Produktionsanweisungen        | Ja                             |
| Allergene                     | Nur Alkohol-Flag               |
| Kalorien                      | Ja                             |
| Verfügbarkeit                 | Ja (Out-of-Stock-Status)       |

### Sync-Arten

**Full Sync:**
Importiert die vollständige Menüstruktur einschließlich Kategorien, Produkten, Modifikatoren und Bildern. Zu verwenden nach signifikanten Menüänderungen.

**Lightweight Sync:**
Aktualisiert nur Preise und Verfügbarkeit, ohne die vollständige Struktur neu zu importieren. Deutlich schneller – ideal für häufige Preisänderungen oder Bestandsaktualisierungen.

### Sync-Optionen

| Einstellung                      | Beschreibung                                                                |
| -------------------------------- | --------------------------------------------------------------------------- |
| **Enable Coursing**              | Gangoptionen als Modifikatorgruppe bei entsprechenden Produkten importieren |
| **Enable Category Merge**        | Kategorien mit demselben Namen aus verschiedenen Sales Areas zusammenführen |
| **Subscreens as Categories**     | Zonal-Subscreens als separate Top-Level-Kategorien behandeln                |
| **Import Choices With No Price** | Modifikator-Optionen ohne Aufpreis einbeziehen                              |

<Note>
  Produktionsanweisungen (Artikel mit `divisionId` von 0 oder `isInstruction`-Flag) werden automatisch als kostenlose Modifikatoren importiert, auch wenn sie keinen Aufpreis haben. Dies ermöglicht Kunden das Hinzufügen spezieller Zubereitungsanweisungen wie „Kein Eis" oder „Extra heiß" zu ihren Bestellungen.
</Note>

### Sales-Area-Einschränkungen

Zonal-Menüs sind nach Sales Areas organisiert. Während des Syncs macht storekit Folgendes:

1. Ruft Menüs aus allen Sales Areas ab
2. Führt identische Menüs über die Bereiche hinweg zusammen
3. Erstellt Bereichseinschränkungen auf Kategorieebene

Das bedeutet, dass Produkte in einigen Bereichen verfügbar sein können, in anderen nicht (z. B. unterschiedliche Menüs für Bar vs. Restaurant).

### Portionen (Größen)

Wenn ein Produkt in Zonal mehrere Portionen hat, erstellt storekit eine „Size"-Modifikatorgruppe:

* Der Grundpreis des Produkts wird auf 0 £ gesetzt
* Jede Portion wird zu einem Modifikator mit ihrem Preis
* Kunden müssen eine Größe auswählen, um den Artikel hinzuzufügen

## Order Injection

Wenn ein Kunde eine Bestellung aufgibt, sendet storekit sie über die Methode `placePaidOrder` an Zonal.

### Bestellablauf

1. **Warenkorb-Validierung** – storekit ruft `checkBasket` auf, um Artikel zu validieren
2. **Zahlung verarbeitet** – Kunde zahlt über storekit
3. **Bestellung versendet** – Bestellung mit Basket ID an Zonal gesendet
4. **Bestätigung** – Zonal gibt Receipt ID zurück, Bestellung als angenommen markiert

### Service-Typen

| Erfüllung | Zonal Service ID | Anmerkungen                             |
| --------- | ---------------- | --------------------------------------- |
| Vor Ort   | 1                | Inklusive Tischnummer                   |
| Abholung  | 2                | Inklusive Zeitfenster und Abholcode     |
| Lieferung | 5                | Inklusive Lieferadresse und Zeitfenster |

### Versand von Vorbestellungen

Bei Vorbestellungen berechnet storekit den optimalen Versandzeitpunkt:

* **Bestellungen am selben Tag**: Sofort versendet
* **Zukünftige Bestellungen**: Am Bestelltag um 6 Uhr morgens versendet

Dies verhindert, dass Bestellungen Ihre POS-Warteschlange tagelang im Voraus überlasten.

### Was Zonal empfängt

Jede Bestellung enthält:

* Kundenname, E-Mail, Telefon
* Alle Artikel mit Ingredient IDs, Display Record IDs und Portionstyp
* Modifikatoren als Choice Lines mit verschachtelter Struktur
* Gangzuweisungen (falls konfiguriert)
* Removal-Modifikatoren (für entfernte Standardartikel)
* Rabattpositionen (Prozentsatz oder Festbetrag)
* Trinkgeldbetrag
* Lieferadresse (bei Lieferbestellungen)
* Zeitfenster (bei Abholung/Lieferung)
* Abholcode (8 Zeichen)
* Benutzerdefinierte Bestellnotizen (über Order-Note-Produkt)

### Bestellnotizen

Zonal akzeptiert Kundennotizen nur als Position, daher muss eine **Order Note Product ID** konfiguriert werden, bevor Notizen auf Zonal-Tickets erscheinen können. Gehen Sie zu **Stores** → \[Ihr Store] → **Einstellungen** → **Integrationen** → **Zonal** und setzen Sie **Order Note Product ID** auf die Zonal Product ID, die Ihr Zonal Account Manager für Bestellnotizen bereitstellt. storekit fügt dann eine Position mit diesem Produkt und der formatierten Notiz hinzu.

<Warning>
  Ohne eine gesetzte **Order Note Product ID** sendet storekit überhaupt keine Notizposition – die Notiz des Kunden wird zwar in der storekit-Bestellung gespeichert, erreicht aber weder Zonal noch die Küchen-/Bartickets, die dort gedruckt werden. Dies ist die übliche Ursache für „Notizen sind aktiviert, aber die Küche bekommt sie nicht" bei Zonal-Standorten.
</Warning>

Notizen werden großgeschrieben, um Zeichen bereinigt, die Zonal nicht anzeigen kann, und bei 840 Zeichen abgeschnitten. Verwenden Sie **Order Note Template**, um die Zusammenstellung der Notiz zu steuern.

Zwei storekit-Einstellungen müssen die Notiz ebenfalls durchlassen:

* **Stores** → \[Ihr Store] → **Einstellungen** → **Betrieb** → **Bestellnotizen** muss auf **Optional** oder **Verpflichtend** gesetzt sein (nicht **Ausgeblendet**), da Kunden sonst kein Notizfeld erhalten
* Wenn Sie Order Batching verwenden, muss **Bestellnotizen einbeziehen** aktiviert sein, sonst werden Notizen aus der zusammengeführten Bestellung entfernt, bevor sie an Zonal gesendet wird – siehe [Kundennotizen bei gebündelten Tickets](/docs/de/guides/orders/advanced/order-batching#customer-notes-on-batched-tickets)

Das für Bestellnotizen verwendete Produkt wird vom Menü-Sync ausgeschlossen, sodass es nie in Ihrem storekit-Menü erscheint.

## Warenkorb-Validierung & Rabatte

Die Zonal-Integration validiert Bestellungen beim Checkout über die `checkBasket`-API.

### Funktionsweise

1. Kunde geht zum Checkout
2. storekit sendet den Warenkorb mit allen Artikeln und Modifikatoren an Zonal
3. Zonal validiert die Verfügbarkeit und berechnet etwaige Rabatte
4. Der Rabattbetrag wird zurückgegeben und auf die Bestellsumme angewendet
5. Die Basket ID wird gespeichert und bei der Bestellaufgabe verwendet

### Rabattkonfiguration

| Einstellung                | Beschreibung                            |
| -------------------------- | --------------------------------------- |
| **Discount Percentage ID** | Zonal-Rabatt-ID für prozentuale Rabatte |
| **Discount Currency ID**   | Zonal-Rabatt-ID für Festbetragsrabatte  |

<Info>
  Die Warenkorb-Validierung erkennt nicht verfügbare Artikel vor der Zahlung. Wenn ein Artikel ausverkauft ist, wird der Kunde sofort benachrichtigt.
</Info>

### Auto-Snooze bei Fehlern

Wenn `checkBasket` einen Ausverkauft-Fehler (Code -216) zurückgibt, macht storekit automatisch Folgendes:

1. Identifiziert den nicht verfügbaren Artikel
2. Pausiert (snoozed) ihn für 6 Stunden
3. Leert den Menü-Cache
4. Gibt die Artikelinformationen an den Kunden zurück

## Grundriss-Synchronisation

Synchronisieren Sie Ihr Tischlayout aus Zonal für Dine-in-Bestellungen:

1. Gehen Sie zu **Stores** → \[Ihr Store] → **Einstellungen** → **Integrationen** → **Zonal**
2. Klicken Sie auf **Tische synchronisieren**
3. Bereiche (Sales Areas) und Tische werden importiert

### Was synchronisiert wird

* Sales Areas als Venue-Bereiche
* Tischgruppen innerhalb von Bereichen
* Einzelne Tische mit Nummern und Namen
* Tischkapazität

Änderungen in Zonal synchronisieren sich automatisch – neue Tische werden hinzugefügt, entfernte Tische werden archiviert.

## Integrationseinstellungen

| Einstellung                      | Beschreibung                                                   |
| -------------------------------- | -------------------------------------------------------------- |
| **Payment Method ID**            | Zonal-Zahlungsmethode für Online-Bestellungen                  |
| **Order Note Product ID**        | Product ID, die für Bestellnotizen auf Tickets verwendet wird  |
| **Order Note Template**          | Benutzerdefinierte Vorlage zur Formatierung von Bestellnotizen |
| **Discount Percentage ID**       | Rabatt-ID für prozentuale Rabatte                              |
| **Discount Currency ID**         | Rabatt-ID für Festbetragsrabatte                               |
| **Enable Coursing**              | Gangauswahl bei entsprechenden Produkten erlauben              |
| **Enable Category Merge**        | Kategorien mit gleichem Namen zusammenführen                   |
| **Import Choices With No Price** | Modifikatoren ohne Aufpreis einbeziehen                        |

### Sales-Area-IDs für Abholung und Lieferung

Standardmäßig verwendet storekit die Sales Area ID `1` für Abhol- und Lieferbestellungen. Wenn Ihre Zonal-Konfiguration eine bestimmte Sales Area für diese Erfüllungsmethoden erfordert, konfigurieren Sie diese mit den Sales-Area-ID-Einstellungen für Erfüllung:

| Einstellung                              | Beschreibung                                         |
| ---------------------------------------- | ---------------------------------------------------- |
| **Fulfillment Sales Area ID – Pickup**   | Zonal-Sales-Area-ID für Click & Collect-Bestellungen |
| **Fulfillment Sales Area ID – Delivery** | Zonal-Sales-Area-ID für Lieferbestellungen           |

<Note>
  Dine-in-Bestellungen verwenden immer die Sales Area ID aus dem Venue-Bereich des Tischs (über Grundriss synchronisiert). Die Erfüllungs-Sales-Area-ID-Einstellungen gelten nur für Abhol- und Lieferbestellungen ohne zugewiesenen Tisch.
</Note>

## Integration testen

### Checkliste vor dem Start

1. **Menü-Sync**
   * [ ] Kategorien aus allen Sales Areas importiert
   * [ ] Produkte haben korrekte Preise (inklusive Portionsvarianten)
   * [ ] Modifikatoren erscheinen korrekt
   * [ ] Verschachtelte Modifikatoren funktionieren
   * [ ] Bilder werden angezeigt

2. **Bestellablauf**
   * [ ] Warenkorb wird erfolgreich validiert
   * [ ] Bestellung erscheint im Zonal-POS
   * [ ] Artikel, Modifikatoren und Gänge sind korrekt
   * [ ] Abholcode/Zeitfenster erscheint

3. **Rabatte** (falls konfiguriert)
   * [ ] Rabattcode anwenden
   * [ ] Betrag stimmt mit der Zonal-Berechnung überein

4. **Grundriss** (bei Dine-in)
   * [ ] Tische korrekt synchronisiert
   * [ ] Bestellungen werden an die richtigen Tische geleitet

## Fehlerbehebung

### Verbindung fehlgeschlagen

* Prüfen Sie, ob Brand Token und User Device Identifier korrekt sind
* Prüfen Sie, ob die Zugangsdaten nicht abgelaufen sind
* Wenden Sie sich an den Zonal-Support, um den iOrder-API-Zugriff zu bestätigen

### Menü synchronisiert nicht

* Stellen Sie sicher, dass Menüs in Zonal veröffentlicht sind
* Prüfen Sie, ob Produkte den Display Groups zugewiesen sind
* Prüfen Sie, ob Sales Areas konfiguriert sind
* Prüfen Sie auf Sync-Fehler im Dashboard

### Bestellungen scheitern

* **„Missing basket ID"**: Warenkorb-Validierung ist möglicherweise fehlgeschlagen – Artikelverfügbarkeit prüfen
* **Fehler -238**: Warenkorb abgelaufen – storekit versucht es mit einem frischen Warenkorb erneut
* **Fehler -216**: Artikel ausverkauft – Artikel wird automatisch pausiert

### Modifikatoren erscheinen nicht

* Prüfen Sie, ob Choice Groups auf Produkten konfiguriert sind
* Prüfen Sie, ob Modifikatoren Aufpreise haben (oder „Import Choices With No Price" aktivieren)
* Menü nach Zonal-Änderungen erneut synchronisieren

### Bestellnotizen erscheinen nicht

* Prüfen Sie, ob **Order Note Product ID** in den Zonal-Integrationseinstellungen gesetzt ist – ohne diese wird keine Notizposition gesendet
* Prüfen Sie, ob **Bestellnotizen** unter **Betrieb** auf **Optional** oder **Verpflichtend** gesetzt ist, nicht auf **Ausgeblendet**
* Wenn Order Batching aktiviert ist, prüfen Sie, ob **Bestellnotizen einbeziehen** aktiviert ist
* Bestätigen Sie, dass die Notiz-Product-ID in Zonal gültig ist – Zonal lehnt die Bestellposition ab, wenn das Produkt nicht existiert

### Falsche Preise

* Prüfen Sie die Portionskonfiguration in Zonal
* Überprüfen Sie, ob die richtige Portion als Standard gesetzt ist
* Bei Multi-Portion-Produkten: Prüfen Sie die Preise der Größen-Modifikatoren

Für weitere Unterstützung [kontaktieren Sie den Support](/docs/de/getting-started/contact-support).

## Unterstützte Funktionen

<AccordionGroup>
  <Accordion title="Menü-Synchronisation">
    | Funktion                                 | Unterstützt |
    | ---------------------------------------- | :---------: |
    | Automatische Menü-Synchronisation        |      ✓      |
    | Lightweight-Synchronisation (nur Preise) |      ✓      |
    | Produktbilder                            |      ✓      |
    | Allergene                                |      ✗      |
    | Kalorien                                 |      ✓      |
    | Verschachtelte Modifikatoren             |      ✓      |
    | Unterkategorien                          |      ✗      |
    | Kategorieverfügbarkeitszeiten            |      ✗      |
    | Portionen / Größen                       |      ✓      |
    | Gänge                                    |      ✓      |
    | Sales-Area-Einschränkungen               |      ✓      |
    | Bestandsstatus                           |      ✓      |
  </Accordion>

  <Accordion title="Bestellungen">
    | Funktion                          | Unterstützt |
    | --------------------------------- | :---------: |
    | Order Injection                   |      ✓      |
    | Vorbestellungen                   |      ✓      |
    | Order Buffering                   |      ✗      |
    | Warenkorb-Validierung             |      ✓      |
    | Auto-Snooze ausverkaufter Artikel |      ✓      |
    | Rabatte                           |      ✓      |
    | Trinkgelder                       |      ✗      |
    | Servicegebühr                     |      ✗      |
    | Benutzerdefinierte Bestellnotizen |      ✓      |
    | Lieferdetails                     |      ✓      |
  </Accordion>

  <Accordion title="Pay at Table">
    | Funktion                            | Unterstützt |
    | ----------------------------------- | :---------: |
    | Live-Rechnungssynchronisation       |      ✗      |
    | Zahlungen auf Rechnung anwenden     |      ✗      |
    | Split Payments                      |      ✗      |
    | Zahlungen am POS-Terminal verfolgen |      ✗      |
    | Zu bestehender Rechnung hinzufügen  |      ✗      |
  </Accordion>

  <Accordion title="Venue-Einrichtung">
    | Funktion                          | Unterstützt |
    | --------------------------------- | :---------: |
    | Grundriss-Synchronisation         |      ✓      |
    | Echtzeit-Bestandsaktualisierungen |      ✗      |
    | Multi-Standort-Unterstützung      |      ✓      |
  </Accordion>
</AccordionGroup>


## Related topics

- [Gang-Zuweisungen](/docs/de/guides/menu/course-assignments.md)
- [Entfernungs-Modifier](/docs/de/guides/menu/removal-modifiers.md)
- [Kostenlose Modifier](/docs/de/guides/menu/free-modifiers.md)
- [Integrationen – Übersicht](/docs/de/guides/integrations/overview.md)
- [Verschachtelte Modifier: Einrichtung und POS-Unterstützung](/docs/de/guides/menu/nested-modifiers.md)
