Hi Leute,
ich habe folgendes Problem:
Kurz vorab, ich entwickle gerade eine Online Bestellplattform und habe den Kunden nun davon überzeugt, dass er seinen "treuen" Kunden Gutscheine zur Verfügung stellen soll.
Nun steh ich vor der Frage wie ich dieses System am besten angehe. Ich schwanke zwischen zwei Wegen.
Vorweg ein paar Informationen zu den Gutscheinen:
- Jede Bestellung liefert einen Gutschein mit
- Jeder Gutschein verliert seine Gültigkeit nach einem bestimmten Zeitraum
- Jeder Gutschein entspricht einer, immer gleichen, prozentualen Vergünstigung
- Jeder Gutschein kann nur Online bei einer erneuten Bestellung eingelöst werden
- Gutscheine sind Personengebunden
Kurz gesagt man muss bei jedem Gutschein eigentlich "nur" das Erstellungsdatum und die zugehörige Person, den "Besitzer", feststellen können. Alles andere ist bei allen Gutscheinen gleich.
Nun zu meinen Vorstellungen:
1. Ich könnte einen Gutscheincode bei jeder Bestellung generieren, dem Kunden senden und in einer DB Tabelle speichern, und darin eine Referenz zur jeweiligen Kunden ID hinzufügen und eine weitere Spalte mit Erstellungsdatum/Ablaufsdatum füllen.
Bei erneuter Bestellung würde einfach nur geprüft werden ob dieser Satz vorhanden und noch gültig ist oder nicht und dem entsprechend gehandelt. Des weiteren können die Codes "simpel" bleiben.
2. Ich könnte mir einen Algorithmus überlegen, der sowohl Kundendaten ( id / name / email / etc) als auch das Datum in einen Code umwandelt, der aber wieder aufzulösen wäre. Diesen Code dem Kunden senden, müsste ihn nicht speichern und würde bei erneuter Bestellung einfach den Code checken.
Welche Variante würdet ihr, aus welchen Gründen, wählen? Ich weiß, dass ich das ganze theoretisch auch komplett einfach lösen könnte indem das System checkt, wann der Kunde X, der gerade bestellt, das letzte mal bestellt hat und somit entweder voll abrechnet oder den "Gutschein" automatisch abzieht, möchte ich aber nicht, da ich den Gutschein in Codeform doch aus verschiedenen Gründen bevorzuge.
Vielleicht bin ich gerade auch zu fixiert auf diese beiden Möglichkeiten und übersehe eine leichtere dritte Möglichkeit...
ich habe folgendes Problem:
Kurz vorab, ich entwickle gerade eine Online Bestellplattform und habe den Kunden nun davon überzeugt, dass er seinen "treuen" Kunden Gutscheine zur Verfügung stellen soll.
Nun steh ich vor der Frage wie ich dieses System am besten angehe. Ich schwanke zwischen zwei Wegen.
Vorweg ein paar Informationen zu den Gutscheinen:
- Jede Bestellung liefert einen Gutschein mit
- Jeder Gutschein verliert seine Gültigkeit nach einem bestimmten Zeitraum
- Jeder Gutschein entspricht einer, immer gleichen, prozentualen Vergünstigung
- Jeder Gutschein kann nur Online bei einer erneuten Bestellung eingelöst werden
- Gutscheine sind Personengebunden
Kurz gesagt man muss bei jedem Gutschein eigentlich "nur" das Erstellungsdatum und die zugehörige Person, den "Besitzer", feststellen können. Alles andere ist bei allen Gutscheinen gleich.
Nun zu meinen Vorstellungen:
1. Ich könnte einen Gutscheincode bei jeder Bestellung generieren, dem Kunden senden und in einer DB Tabelle speichern, und darin eine Referenz zur jeweiligen Kunden ID hinzufügen und eine weitere Spalte mit Erstellungsdatum/Ablaufsdatum füllen.
Bei erneuter Bestellung würde einfach nur geprüft werden ob dieser Satz vorhanden und noch gültig ist oder nicht und dem entsprechend gehandelt. Des weiteren können die Codes "simpel" bleiben.
2. Ich könnte mir einen Algorithmus überlegen, der sowohl Kundendaten ( id / name / email / etc) als auch das Datum in einen Code umwandelt, der aber wieder aufzulösen wäre. Diesen Code dem Kunden senden, müsste ihn nicht speichern und würde bei erneuter Bestellung einfach den Code checken.
Welche Variante würdet ihr, aus welchen Gründen, wählen? Ich weiß, dass ich das ganze theoretisch auch komplett einfach lösen könnte indem das System checkt, wann der Kunde X, der gerade bestellt, das letzte mal bestellt hat und somit entweder voll abrechnet oder den "Gutschein" automatisch abzieht, möchte ich aber nicht, da ich den Gutschein in Codeform doch aus verschiedenen Gründen bevorzuge.
Vielleicht bin ich gerade auch zu fixiert auf diese beiden Möglichkeiten und übersehe eine leichtere dritte Möglichkeit...
Kommentar