私たちは、顧客にサブスクリプションを提供する Web アプリの計画段階にあります。サブスクリプション期間はさまざまで、お客様によって無期限に延長できますが、常に少なくとも 1 か月 (30 日) です。
顧客がサインアップすると、顧客情報 (請求先住所、電話番号など) がcustomers
テーブルに格納され、サブスクリプションがテーブルに作成されsubscriptions
ます。
id | start_date | end_date | customer_id
--------------------------------------------------------
1 | 2010-12-31 | 2011-01-31 | 1
毎月subscriptions
テーブルをループし (できれば cronjob)、過去のサブスクリプション期間の請求書を作成します。これは独自のテーブルに格納されます - invoices
. 顧客によっては、請求書を手動で印刷して郵送するか、単に電子メールで顧客に送信します。
お客様と製品の性質上、電信送金やカード支払いなど、さまざまな支払い方法を提供する必要があるため、一部の請求書は手動で処理し、スタッフが支払い済みとして登録する必要がある場合があります.
毎月 15 日にinvoices
テーブルがループされ、実際の請求書に対して支払いがマークされていない場合、それに応じたサブスクリプションが削除されます。支払いが登録されている場合end_date
、subscriptions
表の はさらに 30 日 (または顧客が選択した期間) 増加します。
無料の顧客を処理し、サブスクリプションを延長するために、日付を前後にインクリメントすることで頭痛の種を見ていますか? 顧客がサブスクリプションを延長する際に、新しいサブスクリプションを追加したほうがよいでしょうか?