Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Customer Display #1461

Open
lorenzadam opened this issue Aug 11, 2017 · 25 comments · May be fixed by #2482
Open

Customer Display #1461

lorenzadam opened this issue Aug 11, 2017 · 25 comments · May be fixed by #2482
Assignees
Milestone

Comments

@lorenzadam
Copy link

lorenzadam commented Aug 11, 2017

New Feature / Enhacement

i think it would be great if ospos have customer display features. The computer are using two monitors, so customer can see the items (and prices) they have bough while in the chasier.

@daN4cat
Copy link
Collaborator

daN4cat commented Aug 13, 2017

Once somebody suggested a solution: use a Raspberry Pi with a screen and a node.js server listening to a SocketIO connection. Add to OSPOS the capability to post over SocketIO the values connecting to the Raspberry PI. SocketIO client is a javascript running on your web browser, in that way it can connect to the locally installed RaspberryPI. Of course you would need to add the IP configuration of your RaspberryPI to the OSPOS configuration and ensure your SocketIO client reads the configuration at startup time (can be injected from PHP code at page loading time).

Quite some work, so if you want to see it done you'd better learn coding and help here contributing that feature.

@lorenzadam
Copy link
Author

Do you mean to use one computer and a raspberry pi?
Because not every one in their business are using easpberry pi

@daN4cat
Copy link
Collaborator

daN4cat commented Aug 15, 2017

It's an option that was discussed a while back, not suggesting is the solution.

@lorenzadam
Copy link
Author

lorenzadam commented Aug 15, 2017

@daN4cat Is there a big risk if using auto refresh every n seconds with pure php and html?
To get the data from database and show it to the different window browser

@SteveIreland
Copy link
Collaborator

Someone can correct me on this, but I believe the real problem is session control. The active order is stored in a session and not persisted to disk until it's saved. Another browser would instantiate another session To enable a feature such as this then I believe it would be required to persist each change to disk and then the auto-refresh option might have a chance of working.

@daN4cat
Copy link
Collaborator

daN4cat commented Aug 15, 2017

Indeed, the data is stored in a session associated with the browser. So everything needs to be controlled from the browser client dealing with the transaction.

@lorenzadam
Copy link
Author

lorenzadam commented Aug 16, 2017

@daN4cat I try to make a sale and enter the items then open a new browser window and open the sales module, the list of items that have been included still appear.

Maybe an auto refresh solution with html can be done, by creating another user interface but retrieving data from the same source.

cuplikan layar dari 2017-08-16 09-28-23

one window for employees, another window for customer display with different monitor.

@daN4cat
Copy link
Collaborator

daN4cat commented Aug 16, 2017

Yes the some browser can duplicate the view and retain the same session.
So what you could do is to add some java script in the register view that allows opening a second window automatically and via an ajax call read the total from the sale register controller.
It should not be too difficult.
A problem would be the fact that the register pages refreshes completely every time you add an item.

@SteveIreland
Copy link
Collaborator

A different use case (in the same problem space) that I was asked to provide a solution for was the ability to have a monitor on the counter where the clerk could select an item and show product details to confirm that it was the item they wanted to order.

@lorenzadam
Copy link
Author

lorenzadam commented Aug 16, 2017

I do not really understand the program code (especially in CI), but I understand at least a little bit. We might be able to make auto refresh it's only one part of the html tags only. For example only on the "< table >" tag. Thus no need to refresh the whole page.

And with this maybe the @SteveIreland problem that has been delivered can also be solved.

@SteveIreland
Copy link
Collaborator

Sorry ... I didn't mean to imply that I had delivered a solution to the problem. I was asked to provide a solution for it. This was back when they were brain-storming things to keep me busy. But reality has bitten back pretty hard and this is no longer a priority for them. I think it would be a fun project, but it will have to wait awhile longer.

@lorenzadam
Copy link
Author

Im sorry misunderstood.

So, maybe we can make another interface (with same design), but remove all the input form field and changed to a label for the customer display

@daN4cat
Copy link
Collaborator

daN4cat commented Aug 17, 2017

@lorenzadam yes we could just refresh table and panel on the right indeed. Maybe that could be an intermediate option to a full rewrite of the whole page code.

@daN4cat
Copy link
Collaborator

daN4cat commented Aug 17, 2017

Probably the first step would be to replace variables with controller method calls. And then add the js to make it dynamic on part refreshes.

@daN4cat
Copy link
Collaborator

daN4cat commented Aug 17, 2017

Mhhh the problem is then we fire too many calls to the Web server. It should be one to get all the data for each panel.

@nvk1990
Copy link

nvk1990 commented Sep 22, 2017

I know I am going to sound like a noob here.. but can't we use the windows OS feature to duplicate the display..?

@lorenzadam
Copy link
Author

can you describe which feature that can we use for this?

@Talkyn
Copy link

Talkyn commented Nov 5, 2017

Step 1. Plug in a second monitor
Step 2. Press "Windows Key" + P
Step 3. ??????
Step 4. Profit

All modern PC OS's support multiple monitors, but the exact setup will depend on your hardware and OS. In Windows, you can configure multiple displays by right-clicking on the desktop and selecting "Screen Resolution."

When you want to switch between modes, such as duplicating the display or extending the desktop, you can use the keyboard shortcuts I mentioned above. This might be important if you want to use the same hardware for receiving, creating items, etc, since your customer will be able to see everything you can see (including your costs). But, for just the sales window, I don't see why it wouldn't be at least a temporary solution.

I notice that even the fancy POS systems out there from Vend and Shopify do not include customer-facing displays. I am pretty naive, but I think this isn't a trivial problem to solve for any web-based POS, since the browser only has so much authority over the system it is running on, and probably cannot directly and separately control a second display like a locally run binary can.

An even more basic solution to this problem is to use a tablet or monitor on a swivel stand, and rotate it to show the customer the "cart" before finalizing the sale.

@Talkyn
Copy link

Talkyn commented Nov 5, 2017

How difficult would it be to have a pop-up window open via a button on the "Sales" page?

This window would repeat a limited set of the information present on the cashier's sales window. It could be moved over to the "Extended Desktop," and then be visible on the second display for the customer. It would only show the cart contents, along with the pricing info, and would automatically update when the parent page updates.

I admit I'm stabbing in the dark here, but would this be feasible?

@xmariodiaz
Copy link

any solution yet???

@daN4cat
Copy link
Collaborator

daN4cat commented Jun 5, 2019

No if nobody implements and contributes a solution.

@satanogo
Copy link

Well I want To check if my solution could be the one that you guys are looking for.

#2411 This is the Page where you can see a second display developed by me, includes a button to open the second display, Let me know if this works for ya

I hope that this works for y'all

@WebShells
Copy link
Member

Guys if you're looking for windows second display i guess this will be a good option along with a checkbox to disable or enable the feature.
If the needed is VFD which is connected through a com port, this isnt the solution... Ill try to add this and check what will be the feedback... We can have both anyway

@satanogo
Copy link

satanogo commented Jul 2, 2019

Okay, I guess that you are right in the checkbox feature to enable and disable the Second Display, Once i finished the work im doing right now, i will start working on it

@WebShells
Copy link
Member

Pull request submitted PR #2482, also added the configuration section for enabling and disabling the Customer Display... One step closer for future enhancements regarding this...

@WebShells WebShells linked a pull request Jul 2, 2019 that will close this issue
@objecttothis objecttothis added this to the 3.4.0 milestone Jun 24, 2020
@objecttothis objecttothis linked a pull request Jun 24, 2020 that will close this issue
@objecttothis objecttothis modified the milestones: 3.4.0, 3.5.0 Dec 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants