Hi,
I am looking to get a new module written that takes advantage of the features of Ubercart, to be used as an in-store till. Before I contact anyone for quotes etc, I would like to hammer down exactly what I require or have forgotten about.
Firstly, I have read a lot on the subject here and often the possibility of internet failure comes up. We're an IT shop serving up internet services from in store, so failure of our internet service would actually be a pretty bad thing anyway. We have fallback ADSL on two separate providers and a 3G dongle. That leaves our server which is a fully managed 1 hour SLA, so to be honest is probably better serviced and more reliable than our till! Its not a fast paced store, so we can deal with manually processing orders for a short time.
So, with the cons out the way, here is what I'm thinking:
Basics:
An admin page to setup defaults and any requirements.
A single page called "POS".
A new role "Cashier" which I assign to my various techs.
Workflow:
1. Cashier logs in and goes to POS page.
2. Customer comes in, we ask if they are a member (this can be at any point during the transaction).
- Yes, we add their username/email to form. Their discounts etc will be applied.
- No, we ask if they want to join (and enter their email). This will create an account for them with a default password etc.
- No, they don't want to join, it will default to a special user we created called "Cash".
3. Cashier scans barcodes (wedge scanner, using TAB to move onto next field) or looks up items, using ajax on the fly to make sure the items exists and is valid etc. A way to remove an item/update quantity.
4. Cashier gets to the bottom and the total is shown.
- At this point we could either use the Ubercart standard methods of payment (so paypal in-store!) or choose an offline method for speed which will be dealt with just like any other sale/till.
5. Once payment is made, a PDF invoice will be created (maybe the FillPDF module?) which will automatically be sent to the local printer. A copy will be attached to the users/cash account and normal end of shopping ubercart processes are done. A local store of the invoice for archiving would be great.
Notes / Possibles:
We can use the normal admin workflow for dealing with problems (refunds/errors etc).
Would be cool to have an option to upload a file to attach to the account (e.g. if we have done a service call).
A way to call up an existing cart or order would be useful for people who order online and come and pay in-store (and if thats possible, the other way around would be good - so we can 'layaway' a job halfway through).
I am really interested in hearing your thoughts. With my limited knowledge, I think this is quite doable and using mostly standard modules, just combining things in one nice simple place with a sprinkle of ajax.
Thanks,
Paul.
