Friday, June 24, 2011

A Challenger Appears

Because what is life without a little variety? But mostly because so much of what I love about programming is puzzle solving. Here is the newest puzzle:

A close friend needs to keep track of:
  • The clients who enter his business
  • The employees with which each of these clients interact - one or more
  • The way in which each of these clients interact with these employees - one or more
  • And at client check-out, be able to summon up all of these things, along with the charges associated with any of these interactions, with a tip function, to come up with the client's total charge.
The current way of doing this is, I kid you not, pencil and paper. Needless to say, it works exactly as well as you might think it works. Solution - maybe? Air app with php scripts to talk with an on-site database. Having never worked with databases before, or php ostensibly, here is my general understanding of the undertaking.

  • Each employee will have a login. There will be an additional login for the front desk.
  • When the client arrives, they will be 'checked in' by the front desk, and their name added to a list of 'current clients,' ie clients currently in the establishment.
  • Upon each interaction and/or service provided by each employee, they will be able to add the information to the client's record the service provided, and that it was provided by them.
    • This is particularly important in that it will be the employee's responsibility, as at the moment this is where the breakdown in communication occurs. A client may come in for service A, but in the end receives an additional service B from the same or different employee, of which the front desk has no record. Thus, the client is not charged for service B, although the employee expects to be paid for rendering service B. The front desk needs an exhaustive list of services provided at checkout.
  • At said check out, the front desk needs to summon up a total, and give the client the option of tipping individual employees. The client will then be removed from the 'current clients' listing, as they are leaving and can no longer receive services. A record of this transaction will then be stored, ideally to be --
  • Exported at the end of the day, into some sort of permanent record of transactions, leaving the database blank of clients for the start of the next business day.

Why an Air app? Because how classy would it turn out to be for each employee, currently using Acer netbooks, to be able to administer their accounts on iPads? Xoom tablets? (which, buy the way, I am in love with.) Even more importantly is the windows/mac cross-platform debate, should the equipment ever need to be upgraded. But bottom line: Flash will always just work. Every time. There is nothing else I have that kind of confidence in.

So folks, this is the new undertaking. I'll try and keep my progress updated =)

No comments:

Post a Comment