IN DEVELOPMENT
This requests shows items form register on terminal screen and uses terminal as the second screen.
Specification:
The request works one way from register to terminal as Printer request. Register does not validate the response and send a new request when users adds information on register side.
Terminal shows items on the screen during 60 seconds then returns back to SPIn IDLE screen.
Terminal should be able to get another request while it shows items on the screen. For example register may send Sale request. Terminal should not return “Busy” on nay other request when it shows items on the screen
SPIn Cancel command should clean the screen and return to IDLE screen for SPIn mode
List of items should support scroll. Our recommendation add a new items when we update list of ite,s with a new request on the top of the scree. This will hide items that were added before.
Total section stays in the same place.
Terminal UI
Example how to represent information on terminal screen see on the images below.
Screen has two main blocks
Itemscontents items with parameters prises and modifiers. We show names and amounts as they are in the message.Amounts. Totals may show any set of lines that register will send. Total will be presented on the bottom in big font. Others are in smaller fond in order as register sends them.
Tags
Tags | Details | Comment |
|---|---|---|
AuthKey | Mandatory | AuthKey to verify request |
TPN | Mandatory | Possible use RegisterID instead of TPN |
PosID | Optional | This is recommended field to track which register sent the request if a few registers use the same terminal |
Cart | Mandatory | General Tag that declares time of the request |
Amounts | Mandatory | Section that specify total amounts. Displayed on the bottom of the screen |
Amount | Optional | One line that will be shown in Amounts section |
Name | Optional | Text for line with amount |
Value | Optional | Recommended using decimal with to two dots after decimal point of use integer values. Possible use minuses |
<Total /> | Optional | Highlights which line need to show in big font as the final total value |
Items | Mandatory | Section that shows items |
Item | Mandatory | Information about one item |
Name | Mandatory | Item name. Terminal shows in regular font |
Price | Optional | Item price. Recommended using decimal with to two dots after decimal point of use integer values |
Quantity | Optional | Quantity for item. Will be shows in line with Item name as |
Modifiers | Optional | Section that shows additional details for item |
Modifier | Optional | Information about one modifier |
Name | Optional | Modifier name. |
Options | Optional | Section that contents additional information about item that need to show on the screen |
Option | Optional | Information about one option |
Name | Optional | Option name shows in small fond under Item name |
Price | Optional | Price for option. Recommended using decimal with to two dots after decimal point of use integer values. Possible use minuses |
Quantity | Optional | Integer or decimal will be shows in line with option as |
Request Example
<request>
<AuthKey>f9eGebRfss</AuthKey>
<TPN>z11devtest03</TPN>
<PosID>2122</PosID>
<Cart>
<Amounts>
<Amount>
<Name>Discounts</Name>
<Value>1141</Value>
</Amount>
<Amount>
<Name>Subtotal</Name>
<Value>2154</Value>
</Amount>
<Amount>
<Name>Taxes</Name>
<Value>599</Value>
</Amount>
<Amount>
<Name>Total</Name>
<Value>2753</Value>
<Total />
</Amount>
</Amounts>
<Items>
<Item>
<Name>Lunch 4</Name>
<Price>807</Price>
<Quantity>1</Quantity>
<Modifiers>
<Modifier>
<Name>Modifier 3</Name>
<Options>
<Option>
<Name>Value 2</Name>
<Price>233</Price>
<Quantity>1</Quantity>
</Option>
</Options>
</Modifier>
<Modifier>
<Name></Name>
<Options>
<Option>
<Name>Business Lunch</Name>
<Price>-208</Price>
<Quantity>1</Quantity>
</Option>
</Options>
</Modifier>
<Modifier>
<Name></Name>
<Options>
<Option>
<Name>AutoDisc10</Name>
<Price>-104</Price>
<Quantity>1</Quantity>
</Option>
</Options>
</Modifier>
</Modifiers>
</Item>
<Item>
<Name>Borsch</Name>
<Price>723</Price>
<Quantity>1</Quantity>
<Modifiers>
<Modifier>
<Name>Mix</Name>
<Options>
<Option>
<Name>Third</Name>
<Price>350</Price>
<Quantity>1</Quantity>
</Option>
</Options>
</Modifier>
<Modifier>
<Name>Mikhail Test</Name>
<Options></Options>
</Modifier>
<Modifier>
<Name>Fat</Name>
<Options>
<Option>
<Name>Low fat</Name>
<Price>1167</Price>
<Quantity>1</Quantity>
</Option>
</Options>
</Modifier>
<Modifier>
<Name></Name>
<Options>
<Option>
<Name>Glass</Name>
<Price>15</Price>
<Quantity>1</Quantity>
</Option>
</Options>
</Modifier>
<Modifier>
<Name></Name>
<Options>
<Option>
<Name>Business Lunch</Name>
<Price>-403</Price>
<Quantity>1</Quantity>
</Option>
</Options>
</Modifier>
<Modifier>
<Name></Name>
<Options>
<Option>
<Name>AutoDisc10</Name>
<Price>-202</Price>
<Quantity>1</Quantity>
</Option>
</Options>
</Modifier>
<Modifier>
<Name></Name>
<Options>
<Option>
<Name>Changed</Name>
<Price>-224</Price>
<Quantity>1</Quantity>
</Option>
</Options>
</Modifier>
</Modifiers>
</Item>
</Items>
</Cart>
</request>
