Hallo,
Ich möchte auf einer Website kostenpflichtige Inserate anbieten.
Ich beschränke mich mal auf das wesentliche:
So, nun mein Ansatz um das umzusetzen:
(es ist auch berücksichtigt, dass später eventuell auch andere kostenpflichtigen Dienstleistungen angeboten werden)
Tabellen
Erklärungen:
‚art’ ist anfangs nur „inserat“. datensatz_id ist daher die ID des Inserats.
In das Feld ‚text’ wird die ganze Rechnung (PDF-File) zur Archivierungszwecken gespeichert (damit z.B. bei einer Adressänderung die alte Rechnung gleich bleibt)
Voraussetzung dafür ist, dass täglich die Kontobewegungen gecheckt werden und alle bezahlten Rechnungen als Bezahlt markiert werden. (d.h. es wird das aktuell Datum ins Feld ‚bezahlt’ eingesetzt).
Damit das ganze funktioniert nun noch ein Cronjob 1mal täglich:
So, das wäre mein Ansatz.
Was meint ihr? Wie würdet ihr das ganze lösen?
Gruß,
Syco
Ich möchte auf einer Website kostenpflichtige Inserate anbieten.
Ich beschränke mich mal auf das wesentliche:
- Kunde muss ich registrieren (Rechnungsanschrift angeben) und kann dann beliebig viele Inserate schalten.
Dazu werden die Tabellen tab_kunden und tab_inserate verwendet. - Es gibt verschiedene Pakete (je nach Paket wird das Inserat unterschiedlich dargestellt). Jedes Paket hat einen bestimmten Preis.
- Die Preise unterscheiden sich auch je nachdem welchen Abrechungszeitrum der Kunde gewählt hat (monatlich, alle 3 Monate, halbjährlich, jährlich)
- Inserate werden erst freigeschaltet, wenn die erste Rechnung bezahlt wurde und automatisch deaktiviert, sobald eine Rechnung überfällig ist.
So, nun mein Ansatz um das umzusetzen:
(es ist auch berücksichtigt, dass später eventuell auch andere kostenpflichtigen Dienstleistungen angeboten werden)
Tabellen
- in tab_inserate ein Feld bezahlt_bis (UNIX Timestamp)
- Neue Tabelle tag_rechnungen mit den Feldern:
id | datum | re_nr | kunde(id) | art | datensatz_id | dauer (Anz. Tage) | betrag (euro) | text | verlaengerung (0/1) | erstellt (Timestamp) | bezahlt (Timestamp)
Erklärungen:
‚art’ ist anfangs nur „inserat“. datensatz_id ist daher die ID des Inserats.
In das Feld ‚text’ wird die ganze Rechnung (PDF-File) zur Archivierungszwecken gespeichert (damit z.B. bei einer Adressänderung die alte Rechnung gleich bleibt)
Voraussetzung dafür ist, dass täglich die Kontobewegungen gecheckt werden und alle bezahlten Rechnungen als Bezahlt markiert werden. (d.h. es wird das aktuell Datum ins Feld ‚bezahlt’ eingesetzt).
Damit das ganze funktioniert nun noch ein Cronjob 1mal täglich:
- Für alle Inserate, die in genau 14 Tagen ablaufen, wird eine Rechung erstellt und gespeichert. Einige Kunden bekommen die Rechnung per Mail. Für Kunden die persönlich bezahlen oder keine Rechnungen per Mail möchten, wird die Rechnung im Admin-Bereich zum Ausdruck aufgelistet.
- Inserate die abgelaufen und nicht bezahlt werden deaktiviert (Feld ‚aktiv’ in tab_inserate => 0)
- Inserate, die abgelaufen und bezahlt => bezahlt bis um Abrechnungsperiode erhöhen.
So, das wäre mein Ansatz.
Was meint ihr? Wie würdet ihr das ganze lösen?
Gruß,
Syco
Kommentar