Sellsius - Ski Resort POS


(Chadhuntley) #1

After months of hard work this application is finally being deployed. Here are some of the features:

-Customized Point-of-Sale system for a ski resort

-Touch screen optimized design

-Scanner to process passes

-Accepts cash, checks, and credit card payments

-Prints tickets, passes, and receipts after sale completion

—Passes have barcodes generated on them

—Print process goes through an ajax jQuery queue (fast and efficient)

-Customer profiles

—keep track of when they use their passes

—emergency contact information

-Item section with categories

—set "price adjustments" ahead of time for price changes

-Sale History

—void/refund transactions, print receipts

-Nice ajax reporting for cash flow and customers at the resort

There is much more to it than just listed there, it is a full-featured point of sale system that completely replaces their current system. Their main machine will be running a TurnKey Linux virtual machine, and the network will be configured to allow certain machines to connect to it. So instead of them purchasing additional licenses and installing software on other computers, they just connect to an URL.


(Tyohan) #2

nice job, could you share more detail how to handle the report and print it?


(Chadhuntley) #3

The report is just a single action controlled by a form at the top. The form has a dropdown, that when selecting different options it loads a different view in the div VIA ajax. Printing that is just a simple print button with a print.css stylesheet.

Now printing the actual sale (tickets, receipt) is much more complicated. Here is how that works:

-A single action is used for building the print queue.

-Using a method I find all the models that need to be printed

-Then using a foreach I loop through each model, and build up a jQuery queue (http://api.jquery.com/queue/)

You have to build up a queue because printers will not allow you to send a ton of requests at the exact same time, you need to go in order. Using the jsPrintSetup extension below you can use a request listener to check when the progress bar hits 100% on processing a print item, which you can then fire the next item in the queue.

-Each item in the queue loads content into a div VIA ajax, then prints. The user sees the content flash as this processes, it all happens quickly.

-Because this is a contained environment I require Firefox to be used with this print extension (http://jsprintsetup.mozdev.org/)

This extension allows you to setup print properties with javascript, and also avoid a dialog box popping up to select a printer (I define the specific printers in the main config file, then reference them in the javascript).

Then finally, the last item in the queue is always a redirect back to my page of choice.


(Jo) #4

Nice job!


(Ivica Nedeljkovic) #5

Seems that you did hard job on this project. Congrats!


(Chadhuntley) #6

I’ve been working with the ski resort making all sorts of updates to the system. The latest one is worth posting about:

Now multiple split payments are available. Before, when the person at the register closed a sale, they could either complete it with cash, check, or credit card. Now the system has a "payment builder" that allows an unlimited amount of payment types to be accepted to close out the sale.

This dialog utilizes the built in JUIDialog, as well as ajax links and form submission so the entire process remains very smooth.


(Arun Maskey) #7

How do you handle the code security on your program. Like if that linux is maintained by customer then your code is open to them.


(Chadhuntley) #8

No code security, they are free to modify any aspect of it. The license is valid for only the organization that purchased it.


(Logos010) #9

Hi, It’s seem a long time job :D,

I have a problem, about the print function? But it’s not axactly like you (print via Html).

Becasue I have a excel file, and it containted header information (just like a excel template), so I just is loop each result into excel file when user click the action link (it done :) ), and I encountering a problem that is, how can I print a file excel by a click Print Button on web page? (Particular , I must fill data into excel file and then connect to printer to print out thí report. Can I do thí job in Yii)

Thanks.