Logistik verwalten¶
Der Shop verfügt über ein integriertes Logistik-System für die Planung und Verwaltung von Lieferterminen.
Ort¶
Dashboard → Logistik
Komponenten-Übersicht¶
TimeSlot ←── Rule ←── Schedule ←── ShippingMethod
│
├── Kapazität (order_quota)
├── Status (blocked / bookable / plannable)
└── Bestellungen
| Komponente | Beschreibung |
|---|---|
| Zeitfenster (TimeSlots) | Konkrete Liefertermine mit Datum und Uhrzeit |
| Pläne (Schedules) | Wiederkehrende Zeitpläne mit Regeln |
| Regeln (Rules) | Wochentage, Uhrzeiten, Intervalle für die Generierung |
| Zonen (Zones) | Postleitzahl-Bereiche für regionale Zustellung |
Zeitfenster (TimeSlots)¶
Manuelles Zeitfenster anlegen¶
- Dashboard → Logistik → Zeitfenster
- Auf „Neues Zeitfenster“ klicken
- Ausfüllen:
| Feld | Beschreibung |
|---|---|
| Regel | Planungsregel, aus der der Termin stammt |
| Beginn / Ende | Datum und Uhrzeit der Lieferung |
| Gesperrt | Haken setzen, um Termin zu blockieren |
- Speichern
Automatische Generierung¶
Zeitfenster können aus Zeitplänen (Schedules) und Regeln automatisch generiert werden:
-
Zeitplan (Schedule) anlegen:
- Name, Beschreibung
- Gültigkeitszeitraum (von – bis)
- Vorlaufzeit (min_advance_days / min_advance_time)
- Annahmeschluss (cutoff_time)
-
Regel (Rule) definieren:
- Wochentage (Mehrfachauswahl: Mo, Di, Mi, …)
- Start- und Endzeit (z.B. 09:00–14:00)
- Intervall (z.B. alle 30 Minuten)
- Maximale Bestellungen pro Slot (order_quota)
-
Verknüpfung mit Versandmethode:
ScheduleShippingMethod: Welcher Zeitplan gilt für welche Versandmethode?- Aktivierungszeitraum (enabled_from – enabled_until)
Das System generiert dann automatisch Zeitfenster für den konfigurierten Zeitraum.
Virtuelle Zeitfenster¶
Wichtig
Der Checkout kann auch virtuelle Zeitfenster anzeigen, die nicht als
gespeicherte TimeSlot-Zeilen in der Datenbank existieren. Diese werden
live aus den Zeitplan-Regeln abgeleitet und haben is_from_db = False.
Sie sind kein Fehler, sondern ein bewusstes Feature der
Zeitfenster-Generierung.
Zeitfenster-Status¶
| Status | Bedeutung | Anzeige im Checkout |
|---|---|---|
blocked |
Gesperrt (Feiertag, Wartung) | Nein |
fully_booked |
Kapazität erschöpft | Nein |
bookable |
Gespeichert in DB, verfügbar | Ja |
plannable |
Virtuell, verfügbar | Ja |
Zonen & Postleitzahlen¶
Zonen ermöglichen die regionale Einschränkung von Liefergebieten:
- Zone anlegen (Name + Beschreibung)
- Postleitzahlen hinzufügen (einzelne PLZ oder Bereiche)
- Zone einem Zeitplan zuweisen
Ein Zeitplan gilt dann nur für die angegebenen Postleitzahlen. Im Checkout wird die passende Zone anhand der Lieferadresse ermittelt.
Eine PLZ in mehreren Zonen¶
Eine Postleitzahl kann mehreren Zonen gleichzeitig zugeordnet werden — etwa wenn ein Ort von der Standardlieferung und einer Express-Tour bedient wird. Die PLZ existiert dabei genau einmal und wird in jeder Zone wiederverwendet; die Zonentabelle zeigt sie mit dem Hinweis „mehrere Zonen“.
- Hinzufügen: „PLZ hinzufügen“ in der Zielzone. Existiert die PLZ schon, wird sie einfach der neuen Zone zugeordnet.
- Entfernen: Das Papierkorb-Symbol in einer Zone entfernt die PLZ nur aus dieser Zone. Gelöscht wird sie erst, wenn keine Zone sie mehr nutzt.
- Bearbeiten: Stadt/PLZ einer gemeinsam genutzten PLZ ändern sich für alle Zonen mit. Umbenennen auf eine bereits vorhandene PLZ wird abgewiesen.
Mehrere Zeitpläne: wer generiert wann Termine?¶
Alle aktiven Zeitpläne bleiben aktiv — keiner schaltet den anderen ab. Aber für jeden Zeitpunkt gilt genau ein Zeitplan: der mit dem spätesten Aktivierungszeitpunkt, dessen Aktivierungszeitraum diesen Zeitpunkt abdeckt. Er erbt die Terminvergabe für genau diese Zeitpunkte (und nur für sie).
Beispiel: Normalplan (ganzjährig) + Sommerplan (nur 1.6.–30.6.):
- Mai-Termine → Normalplan
- Juni-Termine → Sommerplan
- Juli-Termine → wieder Normalplan
Das gilt unabhängig vom Bestellzeitpunkt: Wer im Mai schon Juni-Termine bucht, sieht die Termine des Sommerplans. Und obwohl der Sommerplan im Juni aktiv ist, bleiben die Juli-Termine beim Normalplan („unter Umständen", nämlich wenn der Normalplan da noch selbst aktiv ist).
Details:
- Aktivierungszeitpunkt ist „Aktiviert von" der Zeitplan-Versandart-Verknüpfung.
- Bei gleichem Aktivierungszeitpunkt gewinnt der zuletzt angelegte Zeitplan.
- Der Aktivierungszeitraum begrenzt auch die Lieferzeitpunkte eines Zeitplans: außerhalb seines Zeitraums generiert er keine Termine.
- Für Zeitpunkte, die kein Zeitplan abdeckt, gibt es keine Termine.
Sperrzeiten & Blocker¶
Zeitfenster können aus verschiedenen Gründen gesperrt werden:
| Methode | Beschreibung |
|---|---|
| Manuell | Im Zeitfenster den Haken „Gesperrt“ setzen |
| Blocker | Datumsbezogene Sperren (Feiertage, Betriebsferien) |
| Kapazität | Automatisch bei Erreichen der order_quota |
Blocker anlegen¶
- Dashboard → Logistik → Sperrzeiten
- Datum + Beschreibung eingeben
- Optional: Auf bestimmte Postleitzahl einschränken
Typischer Arbeitsablauf¶
Neue Lieferung einrichten¶
- Zone definieren (PLZ-Bereich)
- Zeitplan (Schedule) mit Gültigkeit und Vorlaufzeit
- Regeln für Wochentage und Uhrzeiten
- ScheduleShippingMethod verknüpft Zeitplan mit Versandmethode
Liefertag vorbereiten¶
- Zeitfenster-Liste nach Datum filtern
- Ggf. Zeitfenster sperren oder Kapazität anpassen
Tipps & Tricks¶
- Kapazität = 0 bedeutet unbegrenzt (keine Buchungsgrenze)
- Vorlaufzeit verhindert Last-Minute-Buchungen (z.B. min. 1 Tag im Voraus)
- Enthält das Betriebsprofil für den laufenden Kalendertag ein Betriebszeitfenster, bleibt dieser Tag bis zum Annahmeschluss Tag 0 der Vorlaufzeit – unabhängig davon, ob das Betriebszeitfenster noch bevorsteht, gerade läuft oder bereits endete
- Annahmeschluss legt fest, bis wann eine Bestellung dem aktuellen Verarbeitungstag zugerechnet wird
- Betriebszeitfenster über Mitternacht sind für die Vorlauftagsberechnung derzeit nicht freigegeben; Nachtbetrieb wird mit getrennten Regeln je Kalendertag modelliert
- Änderungen an Regeln wirken sich nur auf neu generierte Zeitfenster aus, nicht auf bestehende