POSRequest Actions
DATABASE
The DATABASE action returns the current database for the site. Errors are not possible for this request.
Note
This request may take up to six (6) minutes to process.
DATABASE Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="DATABASE" terminal="50" vendor="Kiosk"> </POSRequest>
DATABASE Elements
The POSResponse element for a DATABASE action includes following elements:
Products
Summary
The Products element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The product number |
| 13 character limit | The product name |
| number | The product price in cents |
| number | The product category number used to group and validate items, for meals and substitution items. Category 60 is reserved for non-food items such as promotional items or toys. |
| bitmap field | The available options are as follows:
|
| number | The value of qualifiers needed before an item can be included in the order. The item amount/limit 2 qualifiers must be included with this item to equal this value. For example, an 8 piece chicken needs 2 small sides. The |
| number | The default qualifier value |
| number | The price look up (PLU) number of the associated value meal. Allows a selected item to be made into a specific meal. For example, make it a meal. |
| number, 1-500 | The recipe number linked to item. A recipe may link to other recipes. |
| 30 character limit | The alternate product name |
| 20 character limit | The kiosk name. The default |
| number, 0 or 1 | The available options are as follows:
|
| number, 0 or 1 | The available options are as follows:
|
Product Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse Type="DATABASE" POSVersion="3.01" time="1141155423"> <DataBase> <Products> <Product plu="1164" name="SM CHZ TATER" price="179" category="30" misc_flag="0" qualifier_requirements="0" qualifier_value="0" reference1="0" recipe="43" long_name="SM CHEESE TATER TOT" kiosk_name="" unavailable="0" has_button="1"/> <Product plu="1180" name="COOKED WIENER" price="50" category="1" misc_flag="0" qualifier_requirements="0" qualifier_value="0" reference1="0" recipe="48" long_name="" kiosk_name="" unavailable="0" has_button="1"/> ... </Products>
Qualifiers
Summary
The Qualifiers element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The product number |
| 13 character limit | The product name |
| number | The product price in cents |
| number | The product category number used to group and validate items, for meals and substitution items. Category 60 is reserved for non-food items such as promotional items or toys. |
| bitmap field |
|
| number | For more information, see qualifier_type |
| number | The default qualifier value |
| number | The price look up (PLU) number of the associated value meal. Allows a selected item to be made into a specific meal. For example, make it a meal. |
| 30 character limit | The alternate product name |
| 20 character limit | The kiosk name. The default |
| number, 0 or 1 | The available options are as follows:
|
| number, 0 or 1 | The available options are as follows:
|
qualifier_type
Type | Description |
|---|---|
20 | Non-inventory |
21 | Plain |
22 | Only |
23 | No/Minus |
24 | Light |
25 | Light All |
26 | Heavy/Extra |
27 | Heavy All |
28 | Plus/With/Extra |
32 | Only (Recipe) |
33 | No (Recipe) |
34 | Light (Recipe) |
36 | Heavy/Extra (Recipe) |
38 | Plus/With (Recipe) |
Qualifiers Example
. . . <Qualifiers> <Qualifier plu="9025200" name=" xtra salt" price="0" category="55" misc_flag="0" qualifier_type="0" qualifier_value="0" reference1="274" long_name="" kiosk_name="" unavailable="0" has_button="1"/> <Qualifier plu="9000000" name=" plain" price="0" category="55" misc_flag="0" qualifier_type="0" qualifier_value="0" reference1="0" long_name="" kiosk_name="" unavailable="0" has_button="1"/> . . . </Qualifiers>
Discounts
Summary
The Discounts element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The product number |
| 13 character limit | The discount name |
| number | The product price in cents |
| bitmap field | Bit4. The point-of-sale (POS) device prints the receipt if the item is included. |
| number | Type 15 (cents off discount) discounts. The maximum amount in United States (US) dollars. |
| number | Type 15 (cents off discount) discounts. The minimum amount in US dollars. |
| number | Indicates the type of discount. The valid types are as follows:
|
| 30 character limit | The alternate product name |
| 20 character limit | The kiosk name. The default |
| number, 0 or 1 | The available options are as follows:
|
| number, 0 or 1 | The available options are as follows:
|
Discounts Example
<Discounts> <Discount plu="30000002" name="SENIOR 10%" price="10" misc_flag="0" upper_limit="0" lower_limit="0" discount_type="0" long_name="" kiosk_name=" " unavailable="0" has_button="1"/> <Discount plu="30000011" name="PROMO" price="100" misc_flag="0" upper_limit="0" lower_limit="0" discount_type="0" long_name="" kiosk_name=" " unavailable="0" has_button="1"/> <Discount plu="30000005" name="50% CREW" price="50" misc_flag="0" upper_limit="0" lower_limit="0" discount_type="0" long_name="" kiosk_name=" " unavailable="0" has_button="1"/> . . . </Discounts>
OrderPercentDiscounts
Summary
The OrderPercentDiscounts element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The product number |
| 13 character limit | The order percent discount name |
| number | The percentage (%) discount to apply |
| bitmap field | Bit4. The point-of-sale (POS) device prints the receipt if the item is included. |
| 30 character limit | The alternate product name |
| 20 character limit | The kiosk name. The default |
| number, 0 or 1 | The available options are as follows:
|
| number, 0 or 1 | The available options are as follows:
|
OrderPercentDiscounts Example
<OrderPercentDiscounts> <OrderPercentDiscount plu="30000006" name="100% MANAGER" value="100" misc_flag="0" long_name="" kiosk_name="" unavailable="0" has_button="1"/> . . . </OrderPercentDiscounts>
Tenders
Summary
The Tenders element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The product number |
| 13 character limit | The product name |
| number | The percentage (%) discount to apply |
| Not used | |
| number | The price look up (PLU) number of tender from which to give change. For example, the order is $3.50 and $5.00 is tendered in cash. If giving cash as change, the PLU for cash would be in this field. If the same order is paid with a credit card (and cash back is permitted), the PLU for cash would also be in this field. $5.00 would go into the credit bucket and $1.50 would be removed from the cash bucket. |
| 30 character limit | The alternate product name |
| 20 character limit | The kiosk name. The default |
Tenders Example
<Tenders> <Tender plu="30000000" name="CASH" value="0" reference="0" class_code="1" long_name="" kiosk_name=""/> <Tender plu="30004000" name="Credit" value="0" reference="48" class_code="15" long_name="Credit Card (SICOM)" kiosk_name=""/> <Tender plu="30004002" name="MasterCard" value="0" reference="0" class_code="0" long_name="MasterCard" kiosk_name=""/> <Tender plu="30000030" name="Credit Card" value="0" reference="0" class_code="15" long_name="" kiosk_name=""/> <Tender plu="30000003" name="Gift Cert Red" value="1" reference="0" class_code="4" long_name="" kiosk_name=""/> <Tender plu="30004001" name="Visa" value="0" class_code="0" long_name="Visa" kiosk_name=""/> <Tender plu="30004003" name="Discover" value="0" reference="0" class_code="0" long_name="Discover" kiosk_name=""/> <Tender plu="30004004" name="American Expr" value="0" reference="0" class_code="0" long_name="American Express kiosk_name=""/> <Tender plu="40001000" name="GC CASHOUT" value="0" reference="0" class_code="4" long_name="" kiosk_name=""/> <Tender plu="40001001" name="GC ISSUE" value="0" reference="0" class_code="10" long_name="" kiosk_name=""/> <Tender plu="40001002" name="GC REDEEM" value="0" reference="0" class_code="4" long_name="" kiosk_name=""/> <Tender plu="40001003" name="GC RECHARGE" value="0" reference="0" class_code="10" long_name="" kiosk_name=""/> </Tenders>
Destinations
Summary
The Destinations element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| 13 character limit | The destination name |
| 2 character limit | The destination's abbreviated name |
| number | The destination number, which is used when placing an order |
| number | The product number |
Destinations Example
<Destinations> <Destination name="EAT IN" abbreviation="EI" number="1" plu="20000002"/> <Destination name="TAKE OUT" abbreviation="TO" number="2" plu="20000003"/> <Destination name="DRIVE THRU" abbreviation="DT" number="3" plu="20000004"/> <Destination name="DELIVERY" abbreviation="DL" number="4" plu="19999998"/> <Destination name="MOBILE PICK UP" abbreviation="PU" number="5" plu="19999997"/> </Destinations>
ValueMeals
Summary
The ValueMeals element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| 13 character limit | The value meal name |
| number | The amount of the meal with included items |
| number | The value meal category number |
| number, 0 or 1 | If 1, a coupon is required to obtain this meal |
| Not used | |
| 30 character limit | The alternate product name |
| 20 character limit | The kiosk name. The default |
| number, 0 or 1 | The available options are as follows:
|
| number, 0 or 1 | The available options are as follows:
|
| number | The quantity of the price look up (PLU) to include in the meal |
| number | For more information, see substitution_flag |
| number | If 1, the substitution cannot be any item priced more than the PLU listed. A substitution may be permissible with an item at a lower price. |
| number | The product number of item included in the meal |
substitution_flag
Type | Description |
|---|---|
0 | Item can be substituted |
1 | Item may not be substituted. It must be the PLU listed below |
2/8 | The item must be substituted. For example, the item may be "select drink." It is a placeholder for the meal but must be replaced with an item in the same sales category. |
3 | Optional side, suppress if not substituted |
4 | Allow substitution, cannot be upsized |
5/9 | Must substitute, cannot be upsized |
6 | Allow substitution, can be upsized only if the whole meal is upsized |
7/10 | Must substitute, can be upsized only if the whole meal is upsized |
ValueMeals Example
<ValueMeals> <ValueMeal plu="30001078" name="COMBO-KID CHI" price="299" category="18" coupon_required="0" class_code="0" long_name="" kiosk_name"" unavailable="0" has_button="1"> <ValueMealItem qty="1" substitution_flag="1" substitution_restriction="0" plu="1078"/> <ValueMealItem qty="1" substitution_flag="1" substitution_restriction="1" plu="1500"/> <ValueMealItem qty="1" substitution_flag="0" substitution_restriction="1" plu="70500"/> </ValueMeal> <ValueMeal plu="30001127" name="#4 LARGE" price="568" category="18" coupon_required="0" class_code="0" long_name="#4 LARGE WJUMBO ALL BEEF" kiosk_name"" unavailable="0" has_button="1"> <ValueMealItem qty="1" substitution_flag="1" substitution_restriction="0" plu="1005"/> <ValueMealItem qty="1" substitution_flag="0" substitution_restriction="0" plu="1502"/> <ValueMealItem qty="1" substitution_flag="0"substitution_restriction="0" plu="70503"/> </ValueMeal> </ValueMeals>
TaxPLUs
Summary
It is important to scan for Tax PLUs. For each Tax PLU, look up the tax_bucket[x] it references. The accumulated value of the bucket is run against the referenced tax_table.
The TaxPLUs element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The product number |
| 13 character limit | The tax name |
| number | Not used |
| number | The bucket on which to calculate the tax |
| number | The tax table algorithm to use. |
| number | If 1 and the destination is 2 or 3, use tax bucket 1. If 98 and the destination is 2 or 3, do not calculate tax. If 99 and the destination is 1, do not calculate tax. |
| 30 character limit | The alternate product name |
| 20 character limit | The kiosk name. The default |
TaxPLUs Example
<TaxPLUs> <Tax plu="20000006" name="TAX" value="0" tax_bucket="0" tax_table="1" special_instructions="0" long_name="" kiosk_name=""/> </TaxPLUs>
TaxTables
Summary
The TaxTables element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The table data (1-3) |
| number | The dollar amount difference between repeating increments |
| number | Also known as the sales rate. Used in conjunction with the repeat amount. This is the amount of tax to be applied to the repeat amount. It shows how much tax per dollars is defined in the repeat amount. |
| number | The number of tax table elements or brackets until, but not including, the beginning of the repeat |
| number | 0-98 sequential listing of elements or brackets |
| number | The amount of sale in this bracket subject to tax |
| number | The amount of tax to apply |
TaxTables Example
<TaxTables> <TaxTable table="1" repeat="100" percent="6000" non_repeat="1"> <Bracket number="0" increment="8" amount="0"/> <Bracket number="1" increment="16" amount="1"/> <Bracket number="2" increment="17" amount="1"/> <Bracket number="3" increment="17" amount="1"/> <Bracket number="4" increment="17" amount="1"/> <Bracket number="5" increment="17" amount="1"/> <Bracket number="6" increment="16" amount="1"/> <Bracket number="7" increment="0" amount="0"/> <Bracket number="8" increment="0" amount="0"/> . . . </TaxTable> . . . </TaxTables>
Categories
Summary
The Categories element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The category number |
| 13 character limit | The category description |
Categories Example
<Categories> <Category number="1" name="BURGERS"/> <Category number="2" name="CHICKEN"/> <Category number="21" name="LG DRINKS"/> . . . </Categories>
Lists
Summary
The Lists element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| The list type. For more information, see List Types. | |
| 13 character limit | The list description |
| number | The list number |
| The list items | |
| number | The product number |
| number | The upcharge amount, if required |
List Types
Type | Description |
|---|---|
0 | Substitution |
1 | Discountable |
2 | Non-discountable |
3 | Condiments |
4 | Qualifiers |
5 | Categories |
6 | Card BIN ranges |
7 | Nouns |
8 | Adjectives |
9 | Taxing items |
10 | Sizes |
11 | Fractions |
12 | Automatic combo exceptions |
13 | Discount whitelist |
14 | Labor shifts |
15 | Miscellaneous surcharges |
16 | Aggregate list |
Lists Example
<Lists> <List type="0" name="Burger Substitution" number="1"> <ListItem plu="20100" value="0"/> <ListItem plu="20200" value="0"/> <List/> <List type="0" name="Drink Substitution" number="2"> <ListItem plu="851010" value="25"/> <ListItem plu="871230" value="30"/> <List/> . . . </Lists>
Inventory
Summary
The Inventory element's attributes are listed in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The inventory number |
| 13 character limit | The inventory description |
Inventory Example
<Inventory> <Ingredient number="1" name="CHICKEN STRIPS"/> <Ingredient number="2" name="HONEY DIJON SAUCE"/> <Ingredient number="21" name="WEINER - JALAPENO"/> . . . </Inventory>
Recipes
Summary
The Recipes element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The inventory number of the recipe item. This can also be a recipe number as recipes can be included in |
| number | The quantity of the ingredient. Four (4 ) decimal places are assumed. |
| number | The mode details how each inventory item is handled. The valid modes are 0-10. For more information, see Mode Types. |
Mode Types
Type | Description |
|---|---|
0 | Not Used |
1 | Permanent |
2 | Optional |
3 | Opt/No Heavy |
4 | Not Standard |
5 | Included Items |
6 | Plain/Only no effect |
7 | Plain/Only effect |
8 | Non-standard 5 |
9 | Non-standard 6 |
10 | Non-standard 7 |
Recipes Example
<Recipes> <Recipe number="1"> <Ingredient number="260" qty="2000" mode="2"/> <Ingredient number="261" qty="5000" mode="2"/> <Ingredient number="212" qty="10000" mode="1"/> <Ingredient number="296" qty="10000" mode="1"/> <Ingredient number="225" qty="13300" mode="1"/> </Recipe> <Recipe number="2"> <Ingredient number="212" qty="10000" mode="1"/> <Recipe number="3" qty="10000" mode="5"/> </Recipe> <Recipe number="3"> <Ingredient number="260" qty="2000" mode="2"/> <Ingredient number="221" qty="5000" mode="2"/> <Ingredient number="261" qty="5000" mode="2"/> <Ingredient number="296" qty="10000" mode="1"/> <Ingredient number="225" qty="13300" mode="2"/> </Recipe> . . . </Recipes>
Users
Summary
The Users element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| 24 character limit | The user name |
| number | The user identifier number |
| number | The user access level |
| The user password |
Users Example
<Users> <User name="Manager" id="101" access_level="1" pospassword="1234"/> <User name="Assist Manager" id="102" access_level="1" pospassword="1234"/> <User name="Training Manager" id="103" access_level="1" pospassword="1234"/> . . . </Users>
Kiosks
Summary
The Kiosks element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The terminal number |
| number | The employee number |
Kiosks Example
The Kiosks element returns the terminals that have been designated on the point-of-sale (POS) system as kiosks.
Note
Each kiosk in the system must be set up on the POS system with a unique employee number.
<Kiosks> <Kiosk terminal="50" employee="198"/> <Kiosk terminal="51" employee="199"/> . . . </Kiosks>
Preferences
Summary
The Preferences element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| 24-hour time | The time of day that the device should perform a logoff automatically for reconciliation with the day’s sales. If necessary, it may log back on, acquiring a new insert number in the process. However, it is usually expected that the third-party device will be balanced out at this time. |
| number | The maximum number of any individual item that may be ordered |
| number | The number of special preparation instructions for an item. For example, extra pickle, cut, hot, no lettuce. |
| number | The number of different gift cards that can be included in a sale. This is either for a sale or redemption. In addition, it is possible to have one credit and one cash payment for a total of five. |
| number | The number of items in an order. An item here is a top-level entry in the
|
| number | The amount charged to have an order delivered |
| number | The minimum order amount required for a delivery order |
| Yes/No |
|
Preferences Example
<Preferences> <Preference name="AutoLogOffTime">15:45</Preference> <Preference name="MaxQuantity">99</Preference> <Preference name="MaxQualifiers">32</Preference> <Preference name="MaxGiftCards">30</Preference> <Preference name="MaxItems">150</Preference> <Preference name="DeliveryFee">500</Preference> <Preference name="MinDeliveryAmt">1500</Preference> <Preference name="ZipCodes">Yes</Preference> </Preferences>
Zipcodes
The Zipcodes element's attribute is described in the table below.
Field Name | Size/Format | Description |
|---|---|---|
| number | The zip code number available for delivery |
Zipcodes Example
<Zipcodes> <Zip code="18901"/> <Zip code="18902"/> . . </Zipcodes>
ColombiaConfigs
Summary
The ColombiaConfigs element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The terminal number |
| number | The fiscal resolution number |
| date | The fiscal invoice starting date. Example: |
| date | The fiscal invoice ending date. Example: |
| The fiscal invoice prefix for receipts. Example: | |
| number | The fiscal invoice starting number |
| number | The fiscal invoice ending number |
| number | The fiscal invoice next available number |
| number | The fiscal void invoice starting number |
| number | The fiscal void invoice ending number |
| number | The fiscal void invoice next available number |
ColombiaConfigs Example
<ColombiaConfigs> <Config terminal="0" resolution_number="18764041596308" start_date="2022-12-20" end_date="2023-12-20" prefix="RES1" order_start_invoice="1" order_end_invoice="10000000" order_next_invoice="6028" void_start_invoice="1" void_end_invoice="10000000" void_next_invoice="14" /> <Config terminal="50" resolution_number="18764041596308" start_date="2023-06-01" end_date="2024-06-30" prefix="KIOSK1" order_start_invoice="1" order_end_invoice="123232312" order_next_invoice="0" void_start_invoice="1" void_end_invoice="12323123" void_next_invoice="0" /> </ColombiaConfigs>
CALCULATETAX
Summary
The CALCULATETAX action checks the syntax and calculation of an order prepared from a third-party device. It is always suggested that the order be validated prior to payment acceptance.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | Specifies the kiosk terminal requesting the action |
|
| The name of the third-party device sending the packet |
| number | The sales insert assigned when the third-party device was logged on |
| number | Used for tracking orders using a different order number than the one the POS server provides |
CALCULATETAX Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="CALCULATETAX" terminal="50" vendor="Kiosk" insert="16" reference="123456"> <Order destination="3"> <MainOrder> <ProductDetail> <!-- cheese burger --> <Product price="149" qty="1" plu="20600" item_uuid="" reward_id=""/> </ProductDetail> </MainOrder> <SubTotal value="149"/> </Order> </POSRequest>
CALCULATETAX Elements
A POSResponse element for a CALCULATETAX action includes the following elements:
Order
Summary
The Order element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The numerical destination, such as eat in or take out, matching the destination from the database |
Product
Summary
The Product element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The price of a single product, which must be greater than or equal to zero. If the price is set to zero, the point-of-sale (POS) server returns the current price of the product and calculates the tax and subtotal amount. |
| number | The quantity of the product being ordered |
| number | The price look up (PLU) number of the product |
| An optional universal unique identifier (UUID) that is generated on the kiosk | |
| An optional reward identifier generally associated with a loyalty reward program |
Subtotal
Summary
The Subtotal element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | An optional total value of items ordered without the tax amount |
CALCULATETAX Response
The result returned when the above order is processed when using a United States taxing method is shown below:
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse type="CALCULATETAX" POSVersion="6.44.2" time="1666740117" last_update_time="1666739848" terminal="50" update_needed="false" sync_checksum="9281f9be7e764c55e399ab59e1e8a7e7259afaa4"> <Order> <MainOrder> <ProductDetail> <Product plu="20100" qty="1" price="529" name="WHOP" poll_id="10" item_uuid="10101_uuid_10101"/> </ProductDetail> </MainOrder> <Subtotal value="529"/> <Taxes> <Tax plu="20000005" value="37" long_name="7% Sales TAX" externally_collected="false"/> <Tax plu="20000006" value="0" long_name="UNUSED TAX" externally_collected="false"/> <Tax plu="20000007" value="0" long_name="UNUSED TAX" externally_collected="false"/> </Taxes> <Total value="566"/> </Order> </POSResponse>
This is the result returned when the above order is processed using VAT taxing method and the VAT option “Do Not Adjust Menu Price" is not enabled:
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse type="CALCULATETAX" POSVersion="5.06c" time="1286890606" last_update_time="1286890546" terminal="50"> <MainOrder> <ProductDetail> <Product plu="20600" price="149"/> </ProductDetail> </MainOrder> <SubTotal value="149"/> <Taxes> <Tax plu="20000005" value="8"/> <Tax plu="20000006" value="0"/> </Taxes> <Total value="157"/> </POSResponse>
Available starting on Versions 6.47.0 and 7.31.0, this is the result returned when the above order is processed using VAT taxing method and the VAT option “Distribute VAT Proportionally in Value Meals" is enabled:
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse type="CALCULATETAX" POSVersion="6.47.0" time="1684797337" last_update_time="1684795905" terminal="50" update_needed="false" sync_checksum="d2bcc57a546f253f162880e14677a96d6ec0904d"> <Order> <MainOrder> <ProductDetail> <Product plu="20600" qty="1" price="190" name="CHS BRG" poll_id="189" item_uuid="8eab56d8-930f-4d70-9d6a-fd9dcb030ca4" tax_id="1" tax_rate="10000" item_tax="17"/> </ProductDetail> </MainOrder> <Subtotal value="190"/> <Taxes> <Tax plu="20000005" value="17" long_name="VAT1 TAX - iva 10%" externally_collected="false"/> <Tax plu="20000006" value="0" long_name="VAT2 TAX - iva 22 %" externally_collected="false"/> <Tax plu="20000007" value="0" long_name="VAT3 TAX - *UNUSED*" externally_collected="false"/> </Taxes> <Total value="190"/> </Order> </POSResponse>
ORDERVALIDATE
Use the ORDERVALIDATE action to check for proper syntax, structure, and calculation of an order.
Note
It is recommended that the order always be validated prior to payment acceptance.
ORDERVALIDATE includes the following element options:
Simple Order
Summary
A simple order is one of the options using the ORDERVALIDATE action.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
|
| |
| number | Specifies the terminal requesting the action |
| The name of the third-party device sending the packet | |
| number | The sales insert assigned when the third-party device was logged on |
| number | Used for tracking orders using a different order number than the one the POS server provides |
Simple Order Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pos > <POSRequest action="ORDERVALIDATE" terminal="50" vendor="Kiosk" insert="2"> <Order destination="1"> <MainOrder> <ProductDetail> <Product price="529" qty="1" plu="20100"/> </ProductDetail> </MainOrder> <SubTotal value="529"/> <Taxes> <Tax plu="20000005" value="37"/> </Taxes> <Payments> <Payment plu="30000000" value="566"/> </Payments> <Change value="0" /> <Total value="566"/> </Order> </POSRequest>
Simple Order Elements
The POSResponse element for a simple order using an ORDERVALIDATE action includes the following elements:
Order
Summary
The Order element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The numerical destination, such as eat in or take out, matching the destination from the database |
| The optional paid status of the order. The valid statuses are as follows:
|
Product
Summary
The Product element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The price of a single product, which must be greater than or equal to zero |
| number | The quantity of the product being ordered |
| number | The price look up (PLU) number of the product |
Subtotal
Summary
The Subtotal element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The total value of the items ordered without tax |
Tax
Summary
The Tax element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The tax price look up (PLU) number used in the order. There may be multiple tax PLUs used in an order. |
| number | The amount of tax collected on the tax PLU |
Payment
Summary
The Payment element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The payment price look up (PLU) number used in the order. There may be multiple payment PLUs used in the order. |
| number | The payment amount |
Change
Summary
The Change element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The amount of change to be given to the customer |
Total
Summary
The Total element's attributes is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The total amount of the order including tax |
Simple Order Response
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse type="ORDERVALIDATE" POSVersion="6.44.2" time="1666740474" last_update_time="1666739848" terminal="50" update_needed="false" sync_checksum="9281f9be7e764c55e399ab59e1e8a7e7259afaa4"> <Order> <MainOrder> <ProductDetail> <Product plu="20100" qty="1" price="529" name="Product" poll_id="10" item_uuid="2aed4e18-d282-42e7-908a-74a894877cc1"/> </ProductDetail> </MainOrder> <Subtotal value="529"/> <Taxes> <Tax plu="20000005" value="37" long_name="7% Sales TAX" externally_collected="false"/> <Tax plu="20000006" value="0" long_name="UNUSED TAX" externally_collected="false"/> <Tax plu="20000007" value="0" long_name="UNUSED TAX" externally_collected="false"/> </Taxes> <Total value="566"/> </Order> </POSResponse>
Credit Card Order
Summary
A credit card order is one of the options using the ORDERVALIDATE action.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
|
| |
| number | Specifies the terminal requesting the action |
| number | The sales insert assigned when the third-party device was logged on |
| number | Used for tracking orders using a different order number than the one the POS server provides |
Credit Card Order Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pos > <POSRequest action="ORDERVALIDATE" terminal="50" vendor="Kiosk" insert="2"> <Order destination="1"> <MainOrder> <ProductDetail> <Product price="529" qty="1" plu="20100"/> </ProductDetail> </MainOrder> <SubTotal value="529"/> <Taxes> <Tax plu="20000005" value="37"/> </Taxes> <ElectronicPayments> <Prepaid token="1329857779E3R43" plu="30006000" name="John Smith" value="566" card="xxxxxxxxxxxx1234" auth="1234abc" refnum="12345" type="VISA"/> <CustomerReceipt receipt="This is where you put the Customer receipt"/> <MerchantReceipt receipt="This is where you put the Merchant receipt"/> </ElectronicPayments> <Change value="0" /> <Total value="566"/> </Order> </POSRequest>
Credit Card Order Elements
The POSResponse element for a credit card order using an ORDERVALIDATE action includes the following elements:
Order
Summary
The Order element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The numerical destination, such as eat in or take out, matching the destination from the database |
| The optional paid status of the order. The valid statuses are as follows:
|
Product
Summary
The Product element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The price of a single product, which must be greater than or equal to zero |
| number | The quantity of the product being ordered |
| number | The price look up (PLU) number of the product |
Subtotal
Summary
The Subtotal element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The total value of the items ordered without tax |
Tax
Summary
The Tax element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The tax price look up (PLU) number used in the order. There may be multiple tax PLUs used in an order. |
| number | The amount of tax collected on the tax PLU |
ElectronicPayments
Summary
The ElectronicPayments element's attributes and elements are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| A list of prepaid attributes. For more information, see Prepaid. | |
| The customer credit card section of the receipt | |
| The merchant credit card section of the receipt |
Prepaid
Summary
The Prepaid element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The transaction token |
| number | The price look up (PLU) number of the payment used in the order |
| number | The amount to be charged |
| number | The card number |
| The credit card authorization identifier | |
| number | The credit card reference number |
| The credit card owner's name | |
| The card type |
Change
Summary
The Change element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The amount of change to be given to the customer |
Total
Summary
The Total element's attributes is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The total amount of the order including tax |
Gift Card Payment Order
Summary
A gift card payment order is one of the options using the ORDERVALIDATE action.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
|
| |
| number | Specifies the terminal requesting the action |
| The name of the third-party device sending the packet | |
| number | The sales insert assigned when the third-party device was logged on |
| number | Used for tracking orders using a different order number than the one the POS server provides |
| number | The numerical destination, such as eat in or take out, matching the destination from the database |
| The optional paid status of the order. The valid statuses are as follows:
| |
| number | The price of a single product, which must be greater than or equal to zero |
| number | The quantity of the product being ordered |
| number | The price look up (PLU) number of the product |
| number | The total value of the items ordered without tax |
| number | The tax price look up (PLU) number used in the order. There may be multiple tax PLUs used in an order. |
| number | The amount of tax collected on the tax PLU |
| number | The transaction token |
| number | The PLU number of the payment used in the order |
| number | The amount to be charged |
| Example: | |
| Example: | |
| Example: | |
| Example: | |
| Example: | |
| The customer credit card section of the receipt, if any | |
| The merchant credit card section of the receipt, if any | |
| number | The amount of change to be given to the customer |
| number | The total amount of the order including tax |
Gift Card Payment Order Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pos > <POSRequest action="ORDERVALIDATE" terminal="50" vendor="Kiosk" insert="2"> <Order destination="1"> <MainOrder> <ProductDetail> <Product price="529" qty="1" plu="20100"/> </ProductDetail> </MainOrder> <SubTotal value="529"/> <Taxes> <Tax plu="20000005" value="37"/> </Taxes> <ElectronicPayments> <Prepaid token="1329857779E3R43" plu="30009000" name="Gift" value="566" card="Kiosk" auth="Kiosk" refnum="Kiosk" type="Gift"/> <CustomerReceipt receipt="This is where you put the Customer receipt"/> <MerchantReceipt receipt="This is where you put the Merchant receipt"/> </ElectronicPayments> <Change value="0" /> <Total value="566"/> </Order> </POSRequest>
Gift Card Payment Order Elements
The POSResponse element for a gift card payment order using an ORDERVALIDATE action includes the following elements:
Order
Summary
The Order element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The numerical destination, such as eat in or take out, matching the destination from the database |
| The optional paid status of the order. The valid statuses are as follows:
|
Product
Summary
The Product element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The price of a single product, which must be greater than or equal to zero |
| number | The quantity of the product being ordered |
| number | The price look up (PLU) number of the product |
Subtotal
Summary
The Subtotal element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The total value of the items ordered without tax |
Tax
Summary
The Tax element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The tax price look up (PLU) number used in the order. There may be multiple tax PLUs used in an order. |
| number | The amount of tax collected on the tax PLU |
ElectronicPayments
Summary
The ElectronicPayments element's attributes and elements are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| A list of prepaid attributes. For more information, see Prepaid. | |
| The customer credit card section of the receipt | |
| The merchant credit card section of the receipt |
Prepaid
Summary
The Prepaid element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The transaction token |
| number | The price look up (PLU) number of the payment used in the order |
| number | The amount to be charged |
| number | The gift card number |
| The gift card authorization identifier | |
| number | The gift card reference number |
| The gift card name | |
| The card type |
Change
Summary
The Change element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The amount of change to be given to the customer |
Total
Summary
The Total element's attributes is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The total amount of the order including tax |
ORDER
The ORDER action includes the LoyaltyCode element.
Loyalty Code Order
Summary
A loyalty code order is an option using the ORDER action.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
|
| |
| number | Specifies the terminal requesting the action |
| The name of the third-party device sending the packet | |
| number | Used for tracking orders using a different order number than the one the POS server provides |
| Can contain multiple | |
| Send one (1) | |
| Contains information about the loyalty communication status | |
| The loyalty member identifier information | |
| The loyalty member name and email information | |
| Contains a list of reward groups | |
| Contains a list of all item discount rewards and order discount rewards | |
| The item discount reward information for which the following applies:
| |
| The order discount reward information |
Loyalty Code Order Example
<?xml version="1.0" encoding="UTF-8"?> <POSRequest action="ORDER" terminal="50" vendor="Kiosk" reference="123456"> <Order destination="1" payment_status="PAID"> <LoyaltyCodeDetail> <LoyaltyCode id="95b042934a474dc6939ec760165fd63c" id_type="scanned_code" program_id="xenial" transaction_id="000000000003"> <LoyaltyCodeValidation id="8e972892f1df4ef0abd0f54da1335671" response_code="200" response_message="Success" order_state="InProgress" /> <LoyaltyMemberName name="Customer Name" first_name="Customer" email="abc@gmail.com"/> <LoyaltyMemberId id="6277206400000010" /> <LoyaltyRewardDetail> <LoyaltyRewardGroup id="6277206400000010" name="Xenial Rewards" type="choose_many"> <ItemDiscountReward id="6277206400000010" discount_plu="30002251" item_plu="0" name="LOY FREE SANDWICH" qty="0" automatically_apply="1" /> <OrderDiscountReward id="6277206400000011" discount_plu="30002222" item_plu="0" name="LOY ORD DISC" qty="0" automatically_apply="0" /> </LoyaltyRewardGroup> </LoyaltyRewardDetail> <LoyaltyTenderBalance id="3513433f210d49358ed2393f376b8ce7" name="xenial" points_amount="5601" currency_equivalent_amount="5601" currency_type="USD" discount_plu="30002270" /> </LoyaltyCode> </LoyaltyCodeDetail> <MainOrder> <ProductDetail> <Product plu="20100" qty="1" price="439"> <Discount plu="30002251" qty="1" price="-439"> <AppliedLoyaltyReward reward_id="6277206400000010" /> </Discount> </Product> <Product plu="20150" qty="1" price="539" /> <Product plu="20240" qty="2" price="639" /> <Product plu="21352" qty="1" price="259" /> </ProductDetail> </MainOrder> <SubTotal value="2076" /> <Taxes> <Tax long_name="11.00 % TAX" plu="20000005" value="228" /> <Tax long_name="UNUSED TAX" plu="20000006" value="0" /> <Tax long_name="UNUSED TAX" plu="20000007" value="0" /> </Taxes> <ElectronicPayments> <Prepaid token="22E38FEAD602FC7CB6BA61C80AF08BE5" plu="30004000" value="2304" card="xxxxxxxxxxxx1234" auth="1234abc" refnum="12345" name="Card Owner" type="Visa" /> </ElectronicPayments> <Change value="0" /> <Total value="2304" /> </Order> </POSRequest>
Loyalty Code Order Elements
The POSResponse element for a loyal code order using an ORDER action includes the following elements:
LoyaltyCode
Summary
The LoyaltyCode element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| The globaly unique identifier (GUID) for the | |
| The identifier type. The default value is | |
| The name of the loyalty program. The valid values include the following:
| |
| The transaction identifier returned by the loyalty provider |
LoyaltyCodeValidation
Summary
The LoyaltyCodeValidation element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| The globally unique identifier (GUID) specific to this | |
| The communication response code between the cloud service and the loyalty provider | |
| The cloud service response message for which the following applies:
| |
|
|
LoyaltyMemberId
Summary
The LoyaltyMemberId element's attribute is described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| The member loyalty identifier that is displayed on the point-of-sale (POS) terminal virtual receipt and on the printed receipt |
LoyaltyMemberName
Summary
The LoyaltyMemberName element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| The loyalty member name information for which the following applies:
| |
| The loyalty member's first name | |
| An optional field. The loyalty member's email address. |
LoyaltyRewardGroup
Summary
The LoyaltyRewardGroup element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| An optional identifier | |
| The reward group name | |
| The reward group type. The default value is |
ItemDiscountReward
Summary
The ItemDiscountReward element's attributes are listed in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| The specific identifier of either the discount object or the type of discount | |
| The discount price look up (PLU) | |
| The item PLU | |
| The discount reward name | |
| The discount reward quantity. The default value is | |
| boolean | Indicates if the reward should apply to the order automatically. The default value is |
OrderDiscountReward
Summary
The OrderDiscountReward element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| The specific identifier of either the discount object or the type of discount | |
| The discount price look up (PLU) | |
| The discount reward name | |
| The discount reward quantity. The default value is | |
| boolean | Indicates if the reward should apply to the order automatically. The default value is |
Loyalty Code Order Response
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse type="ORDER" POSVersion="6.26.1" time="1573718304" last_update_time="1573718088" terminal="50" update_needed="false"> <Order number="1354" uuid="b099179e-c1fb-4f7c-bd3b-1247018b1c37" pos_uuid="b099179e-c1fb-4f7c-bd3b-1247018b1c37"> <LoyaltyCodeDetail> <LoyaltyCode id="95b042934a474dc6939ec760165fd63c" id_type="scanned_code" program_id="xenial"> <LoyaltyCodeValidation id="8e972892f1df4ef0abd0f54da1335671" response_code="200" response_message="Success" order_state="InProgress"/> <LoyaltyMemberId id="6277206400000010"/> <LoyaltyRewardDetail> <LoyaltyRewardGroup type="choose_many" name="Xenial Rewards"> <ItemDiscountReward id="6277206400000010" discount_plu="30002251" item_plu="0" name="LOY FREE SANDWICH"/> </LoyaltyRewardGroup> </LoyaltyRewardDetail> </LoyaltyCode> </LoyaltyCodeDetail> <MainOrder> <ProductDetail> <Product plu="20100" qty="1" price="439" name="WHOP" poll_id="10" item_uuid=""/> <Discount plu="30002251" qty="1" value="-439"/> <Product plu="20150" qty="1" price="539" name="DBL WHOP" poll_id="15" item_uuid=""/> <Product plu="20240" qty="2" price="639" name="TPL WHOP" poll_id="3181" item_uuid=""/> <Product plu="21352" qty="1" price="259" name="DBL WHOP JR" poll_id="141" item_uuid=""/> </ProductDetail> </MainOrder> <Subtotal value="2076"/> <Taxes> <Tax plu="20000005" value="228" long_name="11.00 % TAX"/> <Tax plu="20000006" value="0" long_name="UNUSED TAX"/> <Tax plu="20000007" value="0" long_name="UNUSED TAX"/> </Taxes> <Total value="2304"/> </Order> </POSResponse>
ORDERPAYMENT
Summary
The ORDERPAYMENT action is a request for the payment status of a previously injected order that had incomplete electronic payments.
To address the fact that some payment processors may take a minute or two to process a credit card, the kiosk can inject the order to the point-of-sale (POS) system before the payment processing is complete. After the payment has been processed, the kiosk can use the Order Payment API to update the POS system.
The POS system validates the order using the ORDER elements. If the payment_status element has a value of “DECLINED", then the order will be voided from the POS system.
<ElectronicPayments> <Prepaid token="22E38FEADF08BE5" plu="30004000" value="1295" card="" auth="" refnum="" name="" type=""/> </ElectronicPayments>
Request Parameters
Field Name | Size/Format | Required | Description |
|---|---|---|---|
| number | No | The order number returned by the POS system to the |
| No | The status of the payment. The valid values are as follows:
| |
| No | The prepaid token from the original order | |
| number | Yes | The price look up (PLU) number of the payment used in the order |
| number | Yes | The original amount to be charged for the order |
| Yes | The masked card number used for the order | |
| number | Yes | The amount approved or declined for the order |
| Yes | The message returned by the payment processor |
ORDERPAYMENT Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="ORDERPAYMENT" terminal="50" vendor="Kiosk" insert="10"> <Order number="1" payment_status="APPROVED" token="22E38FEADF08BE5"> <Payment plu="30004000" value="1295" card_num="************0053" transaction_amount="1295" response_message="Transaction Approved"/> </Order> </POSRequest>
LOGON
Summary
Use the LOGON action to assign an insert to the terminal number of the device.
Note
The device must have an insert logged on before orders will be processed.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | Specifies the kiosk terminal requesting the action |
| The name of the third-party device sending the packet |
LOGON Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="LOGON" terminal="50" vendor="Kiosk"> </POSRequest>
LOGOFF
Summary
Use the LOGOFF action to remove an insert from the device.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | Specifies the kiosk terminal requesting the action |
| The name of the third-party device sending the packet | |
| number | The sales insert assigned when the third-party device was logged on |
LOGOFF Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="LOGOFF" terminal="50" vendor="Kiosk" insert="10"> </POSRequest>
SKIM
Summary
Use the SKIM action to pull money from the device. The Amount element is the amount of money pulled to two decimal places (cents). For example, 10000 = 100.00.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | Specifies the kiosk terminal requesting the action |
| The name of the third-party device sending the packet | |
| number | The sales insert assigned when the third-party device was logged on |
SKIM Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="SKIM" terminal="50" vendor="Kiosk" insert="10"> <Amount>10000</Amount> </POSRequest>
MESSAGE
Summary
The MESSAGE action allows the third-party order entry device to communicate with restaurant personnel.
Messages display on all point-of-sale (POS) terminals and indicate which third-party device, with its terminal number, is generating the message. The device can alert that it needs paper, that it is running out of coin or a certain type of bill, or that it has stopped a transaction due to credit denial or a processor timeout.
Warning
Choose the frequency of the message carefully to give restaurant personnel adequate time to take action. Too many displayed alerts can disrupt the user's work and increase the chance the alerts will be disabled.
If possible, alert once, then repeat after an acceptable amount of time until the alert is resolved. The frequency of the alert can be increased depending on its severity.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | Specifies the kiosk terminal requesting the action |
| The name of the third-party device sending the packet |
MESSAGE Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="MESSAGE" terminal="50" vendor="Kiosk"> <Message> Bill Collector is Jammed Now accepting credit payment only. </Message> </POSRequest>
PING
Summary
The PING action ensures that the point-of-sale (POS) terminal server is online.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | Specifies the kiosk terminal requesting the action |
| The name of the third-party device sending the packet |
PING Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="PING" terminal="50" vendor="Kiosk"> </POSRequest>
PING Response
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse type="PING" POSVersion="6.44.2" time="1666742865" last_update_time="1666739848" terminal="50" update_needed="false" sync_checksum="9281f9be7e764c55e399ab59e1e8a7e7259afaa4"> <Ping> You are connected to: (0) - (0) - Xenial Lab, Off-Premises Injections: Enabled </Ping> </POSResponse>
GETINSERTNUMBER
Summary
The GETINSERTNUMBER action ensures that the kiosk has an insert logged on.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | Specifies the kiosk terminal requesting the action |
| The name of the third-party device sending the packet | |
| The insert information including state and number |
GETINSERTNUMBER Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="GETINSERTNUMBER" terminal="50" vendor="Kiosk"> </POSRequest>
Insert
Summary
The Insert element's attributes are described in the table below.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | The values are as follows:
|
| number | If an insert is logged on, this will be the insert number. It will be |
GETINSERTNUMBER Response
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse type="GETINSERTNUMBER" POSVersion="6.44.2" time="1666742920" last_update_time="1666739848" terminal="50" update_needed="false" sync_checksum="9281f9be7e764c55e399ab59e1e8a7e7259afaa4"> <Insert logon_state="1" insert_number="2"/> </POSResponse>
LISTERRORS
Summary
Use the LISTERRORS action to obtain a listing of the current errors that the point-of-sale (POS) system may provide.
Request Parameters
Field Name | Size/Format | Description |
|---|---|---|
| number | Specifies the kiosk terminal requesting the action |
| The name of the third-party device sending the packet |
LISTERRORS Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="LISTERRORS" terminal="50" vendor="Kiosk"> </POSRequest>
LISTERRORS Response Table
The following are valid LISTERRORS request errors:
Error | Description |
|---|---|
1 | Invalid XML document |
2 | Invalid document type, expecting |
3 | Invalid document, no requested action |
4 | Invalid terminal number in document header |
5 | Terminal is not configured as a kiosk |
6 | Server is offline |
7 | No more inserts are available |
8 | Insert number is invalid |
9 | Vendor is invalid |
10 | Insert/terminal is invalid or not logged on |
11 | Employee is logged on another terminal |
12 | Daily close is in progress, please wait |
13 | Drawer skim must be greater than zero |
14 | Skim amount exceeds drawer amount |
15 | Skim failed to update SQL table |
16 | Server error retrieving order number |
20 | Invalid document, PLU is missing |
21 | Invalid date range |
22 | Invalid time range |
23 | Terminal is not configured for delivery orders |
24 | Terminal is not configured for mobile orders |
30 | Insert did not validate |
31 | Insert did not backup |
32 | Insert did not log off, emergency, contact support |
33 | Invalid XML document, missing or wrong element |
34 | Terminal is not configured for payment at counter |
35 | Employee not found |
36 | Terminal is not configured to serve kiosk |
37 | Missing fire date |
38 | Missing pickup date |
39 | Invalid date format |
40 | Invalid pickup date, before fire date |
41 | Invalid pickup date, below minimum allowed delay |
42 | Invalid pickup date, above maximum allowed delay |
43 | Insert is logging on |
44 | Insert is logging off |
45 | Terminal update in progress |
100 | Invalid order document, expecting |
101 | Invalid order destination |
102 | Invalid order total value |
103 | Invalid order subtotal value |
104 | Invalid order change value |
105 | Order total does match computed total |
106 | Order subtotal does match computed total |
107 | Order change does match computed change |
108 | Invalid order document, missing price |
120 | Customer name is blank |
121 | Customer phone number is blank |
122 | Store does not deliver to this zip code |
123 | Need a valid customer address |
124 | Invalid or missing location |
125 | Invalid or missing status |
126 | Customer phone number is missing |
127 | Invalid or missing order UUID |
128 | Invalid time to live |
129 | Order is locked by user |
130 | Order has been fired |
131 | Order is assigned a driver |
132 | Invalid order origination |
133 | Invalid order partner |
134 | Invalid order total below minimum |
135 | Invalid order total above maximum |
136 | Invalid order destination, not configured |
199 | Invalid order item, PLU is inactive |
200 | Invalid order item, PLU is invalid |
201 | Invalid order item, price is invalid |
202 | Invalid order item, qty is invalid |
203 | Invalid order item, maximum qualifiers reached |
204 | Invalid order item discount, item is not discountable |
205 | Invalid order item discount, can not discount cents off |
206 | Invalid order item discount, can not discount value meal |
207 | Invalid order item discount, discount can not be applied to item because it does not meet discount requirements |
208 | Invalid order value meal, some item are invalid |
209 | Invalid order value meal, item can not be substituted |
210 | Invalid order value meal, item is not in the valid substitution category |
211 | Invalid order value meal, item must be substituted |
212 | Invalid order value meal, can not substitute with an item that costs more |
213 | Invalid order value meal, can not substitute with an item that costs more |
214 | Invalid order delivery fee, PLU not defined |
215 | Invalid order delivery tips, PLU not defined |
216 | Invalid payment status, not defined |
217 | Invalid order item, maximum items reached |
218 | Invalid order value meal, maximum items reached |
219 | Invalid applied loyalty reward, missing reward ID |
220 | Invalid item price, over allowed variance |
221 | Invalid item price, below allowed variance |
222 | Invalid order tax, value is outside variance |
223 | Invalid order value meal, not enough items |
224 | Invalid order item discount, discount is only allowed with value meal |
225 | Invalid coupon, items are missing to apply this offer |
226 | Invalid coupon, amount is missing to apply this offer |
227 | Invalid coupon, too many of this offer |
228 | Invalid coupon, this offer not allowed with other offers |
300 | Invalid order tax, PLU is invalid |
301 | Invalid order tax, value is invalid |
302 | Invalid order payment, PLU is invalid |
303 | Invalid order payment, value is invalid |
304 | Invalid order discount, PLU is invalid |
305 | Invalid order discount, value is invalid |
306 | Invalid order payment, value is less than total |
307 | Invalid order number |
308 | Order already voided |
309 | Cannot void order, order not paid |
310 | Cannot void order, order not found |
311 | Cannot change status, order already fired |
312 | Invalid order, order not found |
313 | Invalid order payment, maximum payments reached |
314 | Invalid order discount, maximum discounts reached |
315 | Invalid order discount, wrong type |
316 | Invalid order tax, missing or invalid variance PLU |
317 | Invalid order discount, value is greater than order total |
318 | Cannot update order, order not paid |
400 | Invalid electronic payment |
401 | Invalid electronic payment passback |
402 | Error electronic payment credit |
403 | Error electronic payment gift |
404 | Error electronic infusion gift |
405 | Error electronic payment, unknown credit card type |
406 | Error electronic payment, this credit card type is not accepted |
407 | Error electronic payment, amount is greater than total |
408 | Error electronic payment, PLU is invalid |
409 | Error electronic payment, missing card |
410 | Error electronic payment, missing auth code |
411 | Error electronic payment, missing refnum |
412 | Error electronic payment, missing card name |
413 | Error electronic payment, missing token |
414 | Error electronic payment, missing amount |
415 | Error electronic payment, missing response |
416 | Error electronic payment, invalid token |
417 | Error electronic payment, order not found |
418 | Error electronic payment, maximum payments reached |
419 | Error processing QR code |
500 | Error POS had an error processing order, delivery offline |
501 | Error POS had a SQL processing error, please inform support |
502 | Error POS SQL database version error, please inform support |
503 | Error POS order buffer full, please inform support |
504 | Error POS does not allow mobile ordering |
505 | Error off-premises ordering is currently disabled |
600 | Error, fiscal device is busy |
601 | Error, could not acquire invoice number |
602 | Error, resolution number has expired |
603 | Error, resolution number not loaded |
604 | Error, maximum order invoice reached |
605 | Error, maximum void invoice reached |
606 | Error, order invoice out of sync |
607 | Error, void invoice out of sync |
608 | Error, configuration not loaded |
700 | Invalid loyalty code validation, invalid ID |
702 | Invalid loyalty code validation, invalid response code |
703 | Invalid loyalty code validation, invalid response message |
704 | Invalid loyalty product discount reward, invalid ID |
705 | Invalid loyalty product discount reward, invalid discount PLU |
706 | Invalid loyalty product discount reward, invalid item PLU |
707 | Invalid loyalty product discount reward, invalid quantity |
708 | Invalid loyalty order discount reward, invalid ID |
709 | Invalid loyalty order discount reward, invalid discount PLU |
710 | Invalid loyalty order discount reward, invalid quantity |
711 | Invalid loyalty reward group, invalid ID |
712 | Invalid loyalty reward group, invalid type |
713 | Invalid loyalty code, invalid ID |
714 | Invalid loyalty code, invalid ID type |
715 | Invalid loyalty code, invalid program ID |
716 | Invalid tender balance, invalid points amount |
717 | Invalid tender balance, invalid currency equivalent amount |
718 | Invalid tender balance, invalid discount PLU |
719 | Invalid loyalty code, missing member ID—versions 6.48.+ and 7.31.+ |
720 | Invalid loyalty code, missing transaction ID—versions 6.48.+ and 7.31.+ |
Sample Orders
Basic Order Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="ORDERVALIDATE" terminal="50" vendor="Kiosk" insert="10" reference="123456"> <Order destination="1"> <MainOrder> <ProductDetail> <!-- Big Burger--> <Product price="219" qty="1" plu="20100"/> <!-- Md Rootbeer --> <Product price="129" qty="1" plu="80801"/> <!-- Apple Pie --> <Product price="99" qty="1" plu="60400"/> </ProductDetail> </MainOrder> <SubTotal value="447"/> <Taxes> <Tax plu="20000005" value="32"/> </Taxes> <Total value="479"/> </Order> </POSRequest>
Basic Value Meal Order Example
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="ORDERVALIDATE" terminal="50" vendor="Kiosk" insert="10" reference="123456"> <Order destination="1" payment_status="PAID"> <MainOrder> <ProductDetail> <!-- MD Big Burger Meal--> <ValueMeal plu="3020100" price="409" qty="1"> <Product price="0" qty="1" plu="20100"/> <Product price="0" qty="1" plu="50001"/> <Product price="0" qty="1" plu="80101"/> </ValueMeal> </ProductDetail> </MainOrder> <SubTotal value="409"/> <Taxes> <Tax plu="20000005" value="30"/> </Taxes> <Total value="439"/> </Order> </POSRequest>
The following is the response when the above basic value meal order is processed:
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse type="ORDERVALIDATE" POSVersion="3.01" time="1143639048" last_update_time="1143634258" successive_electronic_payment_failures="0"> </POSResponse>
The following is a value meal and an upsized item order. The price attribute is added to the Product element for the upsized item.
<?xml version="1.0"?> <!DOCTYPE pos > <POSRequest action="ORDERVALIDATE" terminal="50" vendor="Kiosk" insert="10" reference="123456"> <Order destination="1" payment_status="PAID"> <MainOrder> <ProductDetail> <!-- MD Big Burger Meal--> <ValueMeal plu="3020100" price="409" qty="1"> <Product price="0" qty="1" plu="20100"/> <!-- Upsize fry--> <Product price="30" qty="1" plu="50002"/> <Product price="0" qty="1" plu="80101"/> </ValueMeal> </ProductDetail> </MainOrder> <SubTotal value="439"/> <Taxes> <Tax plu="20000005" value="32"/> </Taxes> <Total value="471"/> </Order> </POSRequest>