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.

Screenshot 2024-08-22 at 3.46.33 PM.png

Screen has two main blocks

  1. Items contents items with parameters prises and modifiers. We show names and amounts as they are in the message.

  2. 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 x[you value]

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 x[you value]

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>