Squirrel POS v.2 Data Field Value Mapping

Squirrel Categories

  • Squirrel OS has a variable depth nested category tree structure
  • With Squirrel POS, only the tip of each branch may contain menu items
  • Squirrel POS menu categories do not enforce naming uniqueness
  • Punchh has implemented the use of category IDs as the values that are mapped to the Punchh Major Group and Family group fields. Please see the Squirrel POS v2 Category to Punchh Group Mapping guide for details on how to utilize Squirrel category IDs in Punchh Line Item Selectors and Qualifying Criteria rules
Punchh POS API Value Punchh API description Punchh Notes POS Data Element Mapping POS Data Element Notes Status Meets Punchh Requirement Definition
cc_last4 The last 4 digits of the cc number for use to allow associating of non-punchh users with transactions for future linking when the user joins loyalty 0 always sending 0000 3.POS status confirmed POS does not send the data The POS passes accurate Employee ID for every API call, when applicable (i.e. not for online or kiosk orders but for all other POS transacations performed by an employee)
employee_id The employee ID in the POS that serviced the check for that transaction. The employee may change over the life of the transaction (Example bartender transfers check to server then a cashier closes the check). The currently active employee servicing the POS order when the Punchh API call is made is the value that should be sent to Punchh in the API call X_CheckServer.K_Employee.EmpID 1.POS status confirmed Meets Punchh requirement The POS passes accurate Employee Name for every API call, when applicable (i.e. not for online or kiosk orders but for all other POS transacations performed by an employee)
employee_name The employee name in the POS that serviced the check for that transaction. The employee may change over the life of the transaction (Example bartender transfers check to server then a cashier closes the check). The currently active employee servicing the POS order when the Punchh API call is made is the value that should be sent to Punchh in the API call X_CheckServer.K_Employee.FirstName + X_CheckServer.K_Employee.LastName 1.POS status confirmed Meets Punchh requirement
menu_items: JSON Item containing details for a single menu item. Menu items may reflect a sales item in the POS (Type M), a Discount (Type D or Type M with a negative item_amount, a Payment (Type P) or Taxes (Type T) It is important when sending check details that all available items when totaled follow the punchh balancing formula The POS passes accurate Item Alpha name witout any special characters (ex. œ, ",",etc) for all menu items
item_name Text value of item name as sent to the Guest Check X_CheckItem.K_Menu.Name 1.POS status confirmed Meets Punchh requirement The POS passes accurate QTY of items ordered for all menu items, discousnts, credit card payments as well as for parent or modifier check line items
item_qty Numeric value of the qty of the item as represented on this single menu item on the guest check (If item is type D, this qty will ALWAYS be evaluated as a negative value. Ex. if Type D Qty 1 = -1 and * 1 = -1 X_CheckItem.Quantity 1.POS status confirmed Meets Punchh requirement TBD
item_amount Price of the item as represented on the POS guest check (If item is type D, this qty will ALWAYS be evaluated as a negative value. Ex. if Type D amount 1.15 = -1.15 and * 1.15 = -1.15 X_CheckItem.GrossPrice POS status not yet confirmed All line items on the POS check (including $0.00 parent and $0.00 modifier items) are included and represented in the details passed via API with the appropriate menu item type identifier
menu_item_type M = Menu item. May also represent a line item that is a discount. Ex. M,D,S,T POS status not yet confirmed The correct POS ID identfier for the specific line item is passed to Punchh If a Menu item = Menu Item ID If Payment = Payment Item ID Discount = Discount ID
menu_item_id Menu item ID as represented in the item database on the POS X_CheckItem.MenuID 1.POS status confirmed Meets Punchh requirement The menu item is sytemically prevented in the POS from belonging to more than a single POS group from which this value is being obtained.
menu_family A menu item MUST have enforced singular membership in the POS data group type that is passed in the menu_family field to Punchh. This ensures that every time a menu item is sent to Punchh, it will ALWAYS have the same value passed in the menu_family field. In the event that there is not a group ing data element on the POS that enforces that each menu item is member of ONLY one group, then this Punchh data field should be populated with the same value that is passed to the Punchh menu_major_group field. Squirrel Category ID that the menu item resides in 1.POS status confirmed Meets Punchh requirement The menu item is sytemically prevented in the POS from belonging to more than a single POS group from which this value is being obtained.
menu_major_group A menu item MUST have singular membership in the POS group that is passed in the menu_major_group field to Punchh. This ensures that every time a menu item is sent to Punchh, it will ALWAYS have the same value passed in the menu_major_group field. In the event that there is not a group paradigm on the POS that enforces that each menu item is member of ONLY one group, then this Punchh data field should be left empty. THis would mean that if there are NO grouping categories on the POS that enforce singlar membership, then BOTH the menu_major_group and the menu_family fields will be left empty when passing the data to Punchh 2nd level from root Squirrel Category ID that the menu item branch resides in 1.POS status confirmed Meets Punchh requirement Menu items include trhe serial no which indicates the check line itme order of the item. The value is in the format of 1.x.y where 1 = item that is a parent item where .x is a modifier of 1. where .y is a modifier of .x
serial_number Serial Numbers are assigned to Menu Items on a receipt. A Main Item (such as pizza) may have serial number "1.0" and the associated modifiers (such as "Extra Cheese", "Olives" and "Jalapenos") may have serial numbers "1.1", "1.2" and "1.3" respectively. The numbering explains that particular items are modifiers associated with the main one. Calculated by the Punchh proxy service. POS status not yet confirmed subtotal_amount = Sum(M) - Sum (D) (Punchh and Internal) subtotal_amount + Sum of (S) + Sum (T) = Sum (P)
subtotal_amount Same as receipt_amount. For historical reasons, send this parameter along with receipt_amount in API requests. Calculated by the Punchh proxy service. POS status not yet confirmed = Subtotal_Amount
receipt_amount Order amount before any taxes (Sum of all amounts minus any discounts). This is the amount upon which loyalty points/visits are granted when there are not any earning qualification critera rules in place in the Punchh portal. Value to this parameter should be same as that of subtotal_amount. E.g., order amount is $10, parameters receipt_amount and subtotal_amount will hold the value 10. Say if $2 discount has been applied on the same order, subtotal_amount will become 8. Calculated by the Punchh proxy service. POS status not yet confirmed subtotal_amount = Sum(M) - Sum (D) (Punchh and Internal) subtotal_amount + Sum of (S) + Sum (T) = Sum (P)
payable Final amount that user actually pays including taxes will be sent as payable Calculated by the Punchh proxy service. POS status not yet confirmed The complete transaction number of the system that is submitting the details to Punchh
transaction_no POS Transacation Number X_CheckHeader.CheckNo POS status not yet confirmed
external_uid Unique UID generated by your system, we use this to prevent duplicates in case same transaction get triggered twice. Calculated by the Punchh proxy service. 1.POS status confirmed Meets Punchh requirement These Channels are Punchh Defined channels assigned to the integration
channel Possible values: online_order, pos,web, mobile, dashboard, chatbot This is the source of where the order originated when it was received by Punchh API not being sent POS status not yet confirmed Value here should represent the way the order is fullfilled for the customer, not the area in trhe restuarant where the order is placed. i.e. Not Bar, Patio, Dining Room.
revenue_id This should be a reference to the type of order. Example dine-in, to-go, call-in pickup, call-in deliver, etc. Some POS call this Revenue Center, Order Method, Order Mode, etc. X_CheckHeader.SetDept POS status not yet confirmed Value here should represent the way the order is fullfilled for the customer, not the area in trhe restuarant where the order is placed. i.e. Not Bar, Patio, Dining Room.
revenue_code This should be a reference to the type of order. Example dine-in, to-go, call-in pickup, call-in deliver, etc K_Department.Name POS status not yet confirmed
store_number Location's Store identification number This ID should match the Punchh location POS ID as set in Punchh portal K_Store.StoreNo 1.POS status confirmed Meets Punchh requirement
state not being sent 1.POS status confirmed Meets Punchh requirement The type should include sub version such as Aloha Table Service or Quick Service
pos_type Type of POS integration is running on Squirrel Punchh service v6.2.5.0 4.POS status confirmed Data not meet Punchh requirement
punchh_key Punchh Key / Bar Code For each transaction (check/ticket/etc.) this unique number must not repeat for a min of 90 days, ideally 180 days or forever. The punchhkey_value must persist over the life of the transaction. After close, upon reopening, etc. In the case of splitting a check, the punchhkey_value should either remain assigned to one of resultant checks, or if the set of resultant checks all receive new transaction numbers, the original check must be voided with assigned punchhkey_number Calculated by the Punchh proxy service. 1.POS status confirmed Meets Punchh requirement
pos_version Version of the POS. May also include integration version information too Product Version number of C:\Squirrel\Program\SqExplor.exe POS status not yet confirmed