Kostenpflichtige Angebote – DB- und Programm-Struktur

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kostenpflichtige Angebote – DB- und Programm-Struktur

    Hallo,

    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
    [COLOR=darkblue].: 1+1=23 :.[/COLOR]

  • #2
    Was vielleicht nochgesagt gehört: Die 'Inserate' sind als langfristige Einträge gedacht und verlängern sich automatisch sofern Sie nicht gekündigt werden.
    [COLOR=darkblue].: 1+1=23 :.[/COLOR]

    Kommentar


    • #3
      Du hast dir ja schon alles durchdacht.
      Wie wäre es vielleicht noch mit 1 bis 2 testwochen?

      Und wie willst du die Abrechnung machen?
      Gut geraten ist halb gewußt.

      Kommentar


      • #4
        Ich habe das am Montag eine ganze Nacht lang mit meinem Bruder besprochen. Wir machen das jetzt so:
        • Inserate laufen nur vom 1. bis zum letzten des Monats. Das ist zwar etwas unflexibel, wenn jemand z.B. sein Inserat schon am 3. aufgibt, dafür für uns wesentlich bequemer.
        • Bis Monatsende haben wir die Möglichkeit neue Inserate freizuschalten und Kundendaten zu kontrollieren.
        • Am 1. erstellen wir dann 'auf Knopfdruck' alle Rechnungen für Inserate die "freigeschaltet" sind und setzen ihren Status auf "aktiv" (d.h. online).
          Freigeschaltete Inserate sind also nicht automatisch online.
          Wir natürlich schalten schon frei, bevor die Rechnungen bezahlt wurden. (am 1.)
        • Jeder Kunde bekommt eine einzige Rechnung für alle seine Inserate.
        • Wird ein Inserat vorzeitig gekündigt, wird dem Kunden "Preis-Preis/Anz.Monatstage*aktuelles Datum" gutgeschrieben und dieser Betrag von der nächsten Rechnung abgezogen.
        • Das deaktiveren nicht bezahlter Inserate ist mit diesem System sehr einfach, v.a weil alle Inserate zur gleichen Zeit (bis zum 14.) bezahlt werden müssen und Großkunden nicht zig Rechnungen begleichn müssen.


        Abrechnung:
        • Bei allen Kunden, deren Rechnungen bis zum 14. nicht als bezahlt markiert wurden, nehmen wir entweder Kontakt auf oder deaktivieren gleich alle Inserate.

        so, das wars, so werde ich es wahrscheinlich umsetzen.

        Gruß,
        Syco
        Zuletzt geändert von syco23; 31.08.2005, 20:47.
        [COLOR=darkblue].: 1+1=23 :.[/COLOR]

        Kommentar


        • #5
          Ich bin gerade bei sowas ähnlichem bei.
          Will das aber anders lösen.

          Du siehst das alles aus deiner Sicht. Du möchtes das die Abrechnung und die Inserate für dich bequem und übersichtlich sind.
          Aber siehe es doch mal aus der Sicht des Benutzers!
          Die Benutzer wollen doch, wenn sie etwas machen oder Inserieren das es sofort passiert.

          Warum machst du das mit monats anfang und monat ende?

          Wenn deine Inseratslaufzeit zum Beispiel 4 Wochen beträgt, dann
          erfasse doch das datum beim inserieren.
          Und denn:


          PHP-Code:
          $nach_so_vielen_tagen_loeschen 28// 4 Wochen
          $altesdatum date("YmdHis", (time() - 86400 $nach_so_vielen_tagen_loeschen));
          $sql "DELETE FROM ".$tabelle." WHERE (  datum < ".$altesdatum."  ) "
          Oder wenn deine Inserate ebend 1 Monat gültig sind, kann man die sql abfrage doch auch nach monaten machen.
          Soweit würde ich das machen.

          Und denn könntest du dir doch 2 Tage im Monat für Rechnungen einrichten.
          Zum beispiel immer den 1. und den 15.
          Und an den Tagen kannst du denn die Rechnungen fertig machen, die bis dahin angefallen sind.

          (Ich stelle bei mir alle sofort rein, und will die neuen täglich einmal prüfen. Wenn was bei jemanden nicht stimmt, werden sie sofort deaktiviert)

          Abrechnung:



          Bei allen Kunden, deren Rechnungen bis zum 14. nicht als bezahlt markiert wurden, nehmen wir entweder Kontakt auf oder deaktivieren gleich alle Inserate.
          Wie willst du das mit der Bank ect. lösen? Mit einer HBCI Schnittstelle?
          Oder willst du alles über dem Post wege machen oder eine externe Firma einsetzten die online Überweisung zur verfügung stellt?

          Ich wollte dich per email kontaktieren, aber deine email addy ist nicht sichtbar... ?
          Gut geraten ist halb gewußt.

          Kommentar

          Lädt...
          X