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.

  1. 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).

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

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.

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

  1. Hinweise zur Darstellung/Meldungen

  • Alle Fehl- und Hinweistexte kommen aus Snippets (z. B. notAvailable, maxParallelDays, minDays, maxDays).

  • Dadurch sind die Meldungen vollständig übersetzbar.

  1. Technischer Kurzüberblick (ohne Code)

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

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.

Last updated