Our current system flow on closing a transaction day is by showing a yes-no message box that informs the user if it will close a particular transaction day. But still some users made mistakes and confuse about the flow. Here is the message using the UI wireframe.


download bmml source – Wireframes created with Balsamiq Mockups

Should I make double messagebox to ask the user if they are really sure? Use a bigger fontsize? Or a new sequence of steps.

  • 3
    I'm surprised that no one else mentioned it but the buttons feel like they're in the wrong order as well. Otherwise I agree with both msparer and Lukzen. Nov 20, 2014 at 13:28
  • 1
    @MiniRagnarok Button order convention is highly platform dependent. Nov 20, 2014 at 23:32
  • @JoshuaBarron Yeah, that's why I didn't give it as an answer. In this case we're talking about a POS machine so I don't think you can just rely on platform guidelines. I would let user testing decide. Nov 21, 2014 at 14:02

4 Answers 4


As msparer suggested, Stating the main action first and then offering context/side effects is a very good step to take.

The other thing I'd definitely do is to label your buttons descriptively.

It could look something like this:

Are you sure you want to close all transactions on terminal x? 
Closing will also print the transactions of 11/20/2014.

┌──────────┐    ┌───────────────────────────────┐
│  Cancel  │    │  Close and print transactions │
└──────────┘    └───────────────────────────────┘

This makes a big difference for users, as they're no longer required to read all that long text. They just need to make sure the button they click will give them the desired result.

  • 2
    This is a great point. The "go forward" action should always be more prominent than the "nevermind" action. If colors are available on the terminal, use a whiter background on the cancel button and a more vivid color (as seen in Facebook) as the call to action button.
    – phyrfox
    Nov 20, 2014 at 16:09

A problem I see there is that the initial action has an implied consequence that might confuse your users. According to your mockup, the transaction day gets closed as soon as the data gets printed.

It seems like "Printing" is the main action and closing the transaction day is the side-effect. It really should be the other way round.

Name the CTA "Close Transaction Day" and ask

Are you sure you want to close all transactions on terminal x? Closing will also print the transaction of 11/20/2014

Or, if possible, try to split the flow into two actions (print and close) that can be triggered separately.

  • Yes the transaction will close for the particular day as the data gets printed. The term on it is ZReading. It's the rule here in the philippines so I cannot separate the two actions. Ok I understand but do I need to make the fontsize larger?
    – reggie
    Nov 20, 2014 at 9:35
  • 3
    @reggie_jimac IMHO the font size isn't the problem here. Is the CTA really "ZReading"? What's on the button that leads to the confirm dialog?
    – msp
    Nov 20, 2014 at 9:58

If this choice is something that cannot be undone and would cause difficulty to a user to make the wrong choice, it would be more worthwhile making them type in a pin or a password for example. Users get a bit 'trigger happy' with options and may not understand the consequences of an incorrect decision. Facebook are a good example of this - they don't really want you to deactivate your account so they make you think about the task:

enter image description here

It would also be worth making your text a bit clearer, have a think about how to convey your message in a more understandable way. As someone who does not have an idea of the system I do not know what this message means so I would not be entirely sure how to offer suggestion for changes.

  • 5
    That is a bit long-winded though. Deleting your facebook account is a one-time only thing, but closing down a transaction day is something that happens every day. Not to mention this would have to happen on each terminal that needs shutting down - some retail stores have close to 100 terminals / tills. This would be quite a PITA for the store manager to have to go through each time.
    – JonW
    Nov 20, 2014 at 14:03
  • A very good point, my reasoning behind this is if the action is something that cannot be undone and may cause the user additional issues to rectify any mistakes. From previous experience in retail managers had the ability to close tills remotely and so this would have been a good solution. In reality closing down multiple tills individually is a drawn out process in itself, adding in a precaution to prevent mistakes would be advisable. But you have raised a valid point.
    – 80gm2
    Nov 20, 2014 at 14:19

I'd just make the message less "chatty" (pardon the ASCII art)


A schematic and to-the-point message is in my experience easier to grasp (they can check the data with a single glance and click the big button on the bottom to get their printouts).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.