Bestellung nach Eingang in Datenbank auf "on hold" setzen

Hallo,

für einen speziellen Kunden müssen wir eine besondere Handhabung von Bestellungen durchführen: Nach der Bestellung muss diese programmatisch auf den Status “on hold” gesetzt werden, da von externer Seite eine Prüfung durchgeführt werden muss (diese muss uns nicht kümmern). Erst wenn diese Prüfung positiv ausgefallen ist, darf die Bestellung auf final gesetzt und damit bearbeitet werden.

Nun meine Frage: Gibt es einen solchen Mechanismus, um Bestellungen auf versch. Zustände setzen zu können in der Datenbank (eigentlich eine Art Zustandsmaschine), und wenn nicht, wie könnten wir das optimal und einfach lösen?

Ich danke für Eure Meinungen dazu!

Die Anforderungsbeschreibung ist etwas dürftig. Wer soll hier wann und wie (direkt im Backend per hand oder z. B. per API) einen Status setzen? Wie genau erfolgt die Übermittelung, ob eine Prüfung positiv ausgefallen ist, z. B. telefonisch, mündlich oder irgend wie automatisch in ein Drittsystem?

Wir müssen wohl einen Hook schreiben, welcher nach dem Submit der Bestellung diese in der Datenbank auf „on hold“ setzen soll.

Die Prüfung der Bestellung liegt nicht in unserer Hand, jedoch muss meiner Meinung nach ein neuer API Call angeboten werden, um Shopware den positiven Bescheid der Prüfung mitteilen zu können und damit auch den Status der Bestellung auf „ok“ zu setzen.

Der Status kann via der Shopware Standard API geändert werden, da muss eigentlich nichts entwickelt werden.

Warum allerdings ein zusätzlicher Status “on hold” benötigt wird, ergibt sich aus Deiner ungenauen Anforderung immer noch nicht. Wo wäre der Unterschied zwischen “offen” und “on hold”. Eine Differenzierung ist m. E. doch nur dann sinnvoll, wenn “on hold” z.B. bedeuten würde, dass der Auftrag an die externe Stelle zur Überprüfung übermittelt wurde und “offen” würde bedeuten, dass dies eben noch nicht erfolgt ist; dann wäre es aber auch nicht notwendig/sinnvoll, den Status direkt beim Auftragseingang automatisch auf “on hold” zu setzen. Dazu hast Du aber überhaupt nichts geschrieben. 

1 „Gefällt mir“

Ich denke, dass die Kombination “Bestellung des speziellen Kunden” und Status “offen” dann ausreichen sollte, um die externe Prüfung zu signalisieren.

Danke für Deine Hinweise dazu!