[thelist] Schema for "Rollover Minutes"

Matt Warden mwarden at gmail.com
Thu Feb 26 20:40:15 CST 2009


Hi Bill,

On Thu, Feb 26, 2009 at 7:18 PM, Bill Moseley <moseley at hank.org> wrote:
> I was thinking of using a ledger that tracks purchases and then
> individual transactions.
>
>    Description            | minutes | SMS messages
>   ------------------------+---------+---------------
>    1/1/09 Purchase plan A |   1000  | 200
>    2/1/09 SMS             |         |  -1
>    2/1/09 Called 555-1234 |    -12  |
>    3/1/09 Called 555-3212 |    -44  |
>    3/1/09 SMS             |         |  -1
>
> So the ledger recorded a purchase and a number of transactions.

This is basically what I suggested, except you don't have anything
representing an account state in your data model, and you've mixed
"credits" and usage, which I don't agree with. You have transaction
history and you must derive the account state. I don't agree that
doing otherwise would be "managing totals" anymore than tracking an x
month subscription to a service is managing totals. You have an
account credit against which you are drawing down through usage.

> But, I can see two problems.  First, the expires date is tracked
> elsewhere.  So, say the plan says if you do not renew by the expires
> date then you lose your minutes.
...
> Hum, that's not very pretty.  For one thing, "active" is a
> de-normalized value (because an inactive account is one where the
> expires date has past.

I would define an inactive account as an account which has no
un-expired minutes. You track minute lots separately, each lot with
its expiration date (which can be updated based on your renewal
business logic).

> And the other issue is what if mid way through "Plan A" where
> minutes are counted individually they purchase "Plan B" where each
> call has a minimum of 5 minutes even if you talk for just one minute?
> Do we have to finish out Plan A until it expires or do we start
> counting by Plan B as soon as they sign up even if half way through
> Plan A?

I don't see how this has any impact on how you structure the "account
state" data. This only has impact on how you track usage.

Of course, if you mix the two...


-- 
Matt Warden
Cincinnati, OH, USA
http://mattwarden.com


This email proudly and graciously contributes to entropy.



More information about the thelist mailing list