> For the complete documentation index, see [llms.txt](https://docs.pixeleyes.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pixeleyes.de/anleitungen-instructions/deutsch/dokumentation-unserer-shopware-6-plugins/vermietung-and-reservierungen-fur-shopware-6/wie-die-warenkorb-prufung-funktioniert.md).

# Wie die Warenkorb-Prüfung funktioniert

1. Basis-Voraussetzungen

* Der Artikel ist als Mietartikel konfiguriert (Reiter Spezifikationen → Miete).
* Relevante Plugin-Einstellungen (z. B. Netto/Brutto, Kalender, Öffnungszeiten) sind gesetzt.
* Danach ggf. Cache leeren.<br>

2. Beim Klick auf „In den Warenkorb“ prüft das Plugin in dieser Reihenfolge

A. Datumsüberlappung (immer, unabhängig von Parallel-Prüfung)

* Es wird geprüft, ob der gewünschte Zeitraum irgendeine vorhandene Reservierung überlappt.
* Wenn ja und keine parallelen Vermietungen erlaubt sind (bzw. Max. Parallel = 0/leer), wird das Hinzufügen abgelehnt.
* Fehlermeldung im Frontend (z. B. notAvailable).<br>

B. Parallele Vermietungen (nur wenn aktiviert)

* Ist „Prüfung paralleler Vermietungen“ am Produkt aktiv, ermittelt das Plugin:
  * bereits reservierte Menge im gewünschten Zeitraum (aus der Reservierungstabelle),
  * bereits im aktuellen Warenkorb liegende Menge dieses Produkts,
  * die aktuell angefragte Menge.
* Aus diesen drei Werten wird die Gesamt-Planmenge berechnet.
* Liegt die Gesamt-Planmenge über der im Produkt hinterlegten Grenze „Max. parallele Vermietungen“, wird das Hinzufügen abgelehnt.
* Die Fehlermeldung nennt die erlaubte Obergrenze (z. B. maxParallelDays).<br>

C. Mengen-Grenze pro Add-to-Cart

* Erhöht der Kunde die Menge (z. B. „30 Stück“), fließt genau diese Menge in die Gesamt-Planmenge ein.
* Auch ohne bereits vorhandene Warenkorb-Positionen wird der Vorgang blockiert, wenn die angefragte Menge + bestehende Reservierungen > Max. Parallel ist.

3. Beispiele

* Keine parallelen Vermietungen erlaubt

  Es existiert bereits eine Reservierung 22.–28.10.

  Wunsch: 21.–29.10. → überlappt → Abbruch (unabhängig von Menge).
* Parallele Vermietungen = 2

  Es existiert 1 Reservierung im Zeitraum; Kunde legt Menge 2 in den Warenkorb → Gesamt-Planmenge = 1+2 = 3 > 2 → Abbruch.

  Kunde legt Menge 1 → Gesamt-Planmenge = 1+1 = 2 → erlaubt.<br>

4. Hinweise zur Darstellung/Meldungen

* Alle Fehl- und Hinweistexte kommen aus Snippets (z. B. notAvailable, maxParallelDays, minDays, maxDays).
* Dadurch sind die Meldungen vollständig übersetzbar.<br>

5. Technischer Kurzüberblick (ohne Code)<br>

* Die Logik greift vor dem eigentlichen Add-to-Cart.
* Es werden Reservierungen im Zeitraum (Überlappung) sowie bereits im Warenkorb befindliche Mengen berücksichtigt.
* Erst wenn alle Prüfungen erfolgreich sind, wird die Position in den Warenkorb gelegt.

{% hint style="info" %}
Tipp für Tester:\
\
Bitte sicherstellen, dass der Artikel korrekt als Mietartikel konfiguriert ist (Preise/Min-/Max-Tage, Parallelen, etc.) und ggf. den Shop-Cache leeren, damit alle Snippets/Einstellungen greifen.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.pixeleyes.de/anleitungen-instructions/deutsch/dokumentation-unserer-shopware-6-plugins/vermietung-and-reservierungen-fur-shopware-6/wie-die-warenkorb-prufung-funktioniert.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
