Das System bildet keinen klassischen E-Commerce-Checkout ab, sondern einen internen PSA-Anforderungsprozess mit direkter interner Weiterleitung nach dem Absenden.
index.php -> product.php -> cart.php -> checkout.phpdata/orders.jsonincludes/functions.phpadmin/orders.phpadmin/backorders.phpadmin/settings.phpHinweis:
config.php liefert Startwerte, wirksam im Betrieb sind die normalisierten Einstellungen aus data/settings.json (über getSystemSettings()).product.php in den Warenkorb gelegt (optional mit Größe).cart.php) enthält pro Produkt nur einen Eintrag; erneutes Hinzufügen aktualisiert ggf. die Größe statt eine Menge zu erhöhen.checkout.php) erfasst:
createOrder(...) erzeugt eine Bestellnummer (ORDER_PREFIX-JAHR-LFDNR, z. B. FWFS-2026-001) und speichert die Bestellung.order-success.php weitergeleitet.Eine Bestellung ist nur möglich, wenn die gewählte Organisation existiert und als aktiv markiert ist. Inaktive/ungültige Organisationen blockieren den Abschluss.
Es gibt keinen separaten Admin-Freigabeschritt vor dem Eingang einer Bestellung.
In admin/orders.php werden Bestellungen nach Status geführt und manuell bearbeitet:
open: keine Position bearbeitetpartial: mindestens eine Position bearbeitetprocessed: alle Positionen bearbeitetcancelled: Bestellung storniertRegeln:
admin_notified_at) wird gesetzt, wenn die Admin-Benachrichtigungsmail erfolgreich versendet wurde.Wenn Artikel nicht auf Lager sind, können Admins Positionen als Nachbestellung markieren. Der Vorgang ist nur im Admin-Bereich sichtbar, nicht im Frontend.
Jede Bestellposition kann optional folgende Felder haben:
backorder_status: "" (keine), to_be_backordered, orderedbackordered_at, ordered_at (Zeitstempel)to_be_backordered): Position ist als Nachbestellung markiert, externe Bestellung steht noch aus.ordered): Extern bestellt, Lieferung ausstehend.| Aktion | Ort | Wirkung |
|---|---|---|
| Als Nachbestellung markieren | admin/orders.php (pro Position) |
Setzt to_be_backordered |
| Nachbestellung aufheben | admin/orders.php |
Setzt backorder_status zurück auf "" (nur aus Zustand 1) |
| Als bestellt markieren | admin/backorders.php |
Verschiebt N Positionen von to_be_backordered nach ordered (FIFO) |
| Lieferung eingetroffen | admin/backorders.php |
Setzt N Positionen von ordered zurück auf "" (FIFO); Position bleibt offen zur normalen Abarbeitung |
In admin/backorders.php werden Positionen nach Produkt und Größe gruppiert. Die Spalten Nachzubestellen und Wartet auf Lieferung werden getrennt gezählt, damit neu markierte Artikel nicht mit bereits bestellten vermischt werden.
Positionen mit Nachbestell-Status (Nachzubestellen oder Wartet auf Lieferung) erscheinen nicht in Offene Positionen auf dem Dashboard; sie werden über Nachbestellungen verwaltet.
reservation.php und orders.php (Frontend) sowie admin/reservations.php leiten auf die Bestellverwaltung um.