Squirrel POS v.2

Known Limitations

  • Loyalty discounts cannot be combined with internal discounts. Punchh will display an error message on the POS screen if the cashier tries to combine them.

  • When a check is split, any Punchh functionality must be done before payments are applied.

  • If a loyalty discount has a value of exactly $1.00, the discount's value will not show on the POS screen, but the check total will still show the correct amount.

  • User look-up by email is not possible on some Qquirrel versions due to lack of the '@' character on the Squirrel virtual keyboard.
    Punchh verified that this issue appeared on Squirrel v9, but not on Squirrel v11.

  • Special characters other than '@' on the Squirrel virtual keyboard can only be accessible by clicking the '@' button.

  • Squirrel v11.9 requires Java 8 or above. 

Punchh Certificate Test Log

Integration Type POS
POS/Kiosk Name Squirrel
Kiosk POS/Order Relay System
Tested Version 11.00.19382
Applicable Functionality Test Actions Expected Result Actual Result Notes
Core Functionality Supported all Punchh Loyalty Structures User's information should be reflected according to the selected business structure. Details for what each structure should look like in lookup on POS or Kiosk. Examples of all messages and prompts and status codes should be provided. Pass  
Core Functionality Verify visits based business structure User's information should be reflected according to the selected business structure. Details for what each structure should look like in lookup on POS or Kiosk. Examples of all messages and prompts and status codes should be provided. Pass  
Core Functionality Verify banked rewards based business structure User's information should be reflected according to the selected business structure. Details for what each structure should look like in lookup on POS or Kiosk. Examples of all messages and prompts and status codes should be provided. Pass  
Core Functionality Verify points unlock redeemables business structure User's information should be reflected according to the selected business structure. Details for what each structure should look like in lookup on POS or Kiosk. Examples of all messages and prompts and status codes should be provided. Pass  
Core Functionality Verify membership tiered points based program business structure   N/A  
Core Functionality Print Punchh barcode on all POS transaction receipts The printed check should contain the valid Punchh barcode code and should be unique per check number. Not Supported not implemented
Core Functionality Print Punchh QR Code on all POS transaction receipts The printed check should contain the valid Punchh QR code and should be unique per check number. Pass  
Core Functionality Verify valid Punchh barcode or QR is present on the open check The printed check (not closed) should contain the valid Punchh barcode or QR code. N/A  
Core Functionality Enter barcode on iframe https://sandbox.punchh.com/whitelabel Points should be updated on the apps and dashboard. Pass  
Core Functionality Scan the barcode or QR code located on the check via mobile app. Points should be updated on the apps and dashboard. Pass  
Core Functionality Enter manually barcode or QR code value via mobile app. Points should be updated on the apps and dashboard. Pass  
Core Functionality Barcodes should be unique per check for the period of testing. Request separate documentation on how to generate barcodes Pass  
Core Functionality Verify that virtual or physical keypad is available loyalty functionality. Virtual or physical keypad should be available loyalty functionality. Pass  
Core Functionality Manually enter redemption codes Ability to enter redemption code via virtual or physical keyboard Pass  
Core Functionality Manually enter coupon/promo codes Ability to enter coupon and promo codes via virtual or physical keyboard Pass  
Core Functionality Manually lookup user by email address Ability to enter user email address via virtual or physical keyboard Pass  
Core Functionality Manually lookup user by phone number Ability to enter phone number via virtual or physical keyboard Pass  
Core Functionality Verify the ability to change Punchh loyalty endpoints Ability to change the Punchh service endpoints. The default values are: pos.punchh.com/api/pos isl.punchh.com Pass  
Core Functionality POS displays Punchh API error messages Displays Punchh API error messages prompts and status codes that should be supported e.g 4xx http API errors Partially Supported not all messages
User Lookup Functionality Properly Display user account status after lookup for all supported program types USER DATA:
User's First Name and Last Initial or User's First Initial Last name + Masked Phone phone no ***-***-1234 OR email address
Status Total number of points OR Total # Visits OR Banked Reward Balance
REWARD DATA:
User's rewards should be displayed in following order
Banked Rewards
Completed Cards
Rewards and offers sorted by Expiration Date then sorted by $ amount from > to <
User should be automatically checked-in after payment is applied at the end of the transaction
POS should perform POS Receipt Details API call after check close
Pass  
User Lookup Functionality Lookup user via long QR code from user's timeline or from mobile app-if available Ability to lookup user via long check in QR code Pass  
User Lookup Functionality Lookup via short QR code from user's timeline or from user's mobile app-if available Ability to lookup user via short check in QR code Pass  
User Lookup Functionality Lookup via user's phone number Ability to lookup user via user's phone number Pass  
User Lookup Functionality Lookup via user's email address Ability to lookup user via user's email address Pass  
User Lookup Functionality Lookup by swiping, scanning or entering loyalty card number Ability to lookup user via swiping, scanning or entering user's loyalty card number Not Supported not implemented
User Lookup Functionality Lookup should be available anytime during the current order. Ability to user lookup anytime during the order Partially Supported no lookup on empty check
Acquire New User Acquire new users at the POS via phone lookup When user doesn't exist at lookup, POS prompts to create user using the entered lookup value Pass  
Acquire New User Acquire new users at the POS via email address When user doesn't exist at lookup, POS prompts to create user using the entered lookup value Pass  
Acquire New User Verify if user is checked in when new user's account is created New user should be checked in. Points should be added to user's account. Pass  
Acquire New User Verify if internal POS user account creation is linked to/creates Punchh user If new user account is created on POS it should create a new user account on Punchh/is linked to existing Punchh account with the same primary id (email or phone number) Pass  
Check-In Functionality Check-in via Guest QR Code Points should be updated on the apps and dashboard. Pass  
Check-In Functionality Check-in via short-lived Guest Code Points should be updated on the apps and dashboard. Pass  
Check-In Functionality Check-in via user's phone number Points should be updated on the apps and dashboard. Pass  
Check-In Functionality Check-in via user's email address Points should be updated on the apps and dashboard. Pass  
Check-In Functionality Check-in by swiping, scanning or manually entering loyalty card. Points should be updated on the apps and dashboard. Not Supported not implemented
Check-In Functionality Check-in by redemption code Points should be updated on the apps and dashboard. Pass  
Check-In Functionality Verify check-in and applying coupon code Points should be updated on the apps and dashboard. Discount should be present on the receipt. Pass  
Check-In Functionality Verify points not earned on canceled order User should not get points on the canceled transaction. Pass  
Check-In Functionality Correct void functionality with points enabled Verify points deduction on voided check (pending points enabled) Points should be deducted from the user's account. Pass  
Check-In Functionality Handling Loyalty check modification with points enabled Verify correct earning after check is reopened and modified (pending points enabled) Points should be updated on the dashboard. Pass  
Check-In Functionality Unassign customer functionality support Verify if there is 'unassign customer' functionality. The user should not earn any points. The printed check should have a valid barcode. Pass  
Redeem Functionality Applying redemption code Enter or scan a valid redemption code at the payment screen. The subtotal amount on the receipt should be discounted according to the redemption's code amount. Punchh discount should be present on printed and PUNCHH receipt. Pass  
Redeem Functionality Applying coupon code Verify coupon codes are supported. The subtotal amount on the receipt should be discounted according to the coupon's code amount. Pass  
Redeem Functionality Applying promo codes Verify promo codes are supported. The subtotal amount on the receipt should be discounted according to the promo's code amount. Pass  
Redeem Functionality Enter or scan redemption code that was already used. Punchh API error message should pop up. The redemption code should be used only once. User lookup and Check-in should NOT occur. Pass  
Redeem Functionality Enter a redemption code that doesn't exist. Punchh API error message should pop up. Pass  
Redeem Functionality Bring the total amount to the 0.00 using redemption code and (or) reward. After the check is closed it should be sent to Punchh. User should not be able to scan barcode and earn points. Pass  
Redeem Functionality Verify applying redemption/reward with the amount higher than the total of the check The discount applied to the order should be no more than the total amount of the order. Amount the reward reflected on the timeline should match the amount applied. Pass  
Redeem Functionality Verify $10 redemption/reward applied to $5 order with increase to $8 The redemption's code/reward's amount should be changed from $5 to $8.00, but no more that $10.00 Pass  
Redeem Functionality Support multiple valid redemption codes and (or) coupons and (or) rewards on a single transaction (for a single loyalty user ) Multiple redemptions/rewards should be supported. Pass  
Redeem Functionality Applying redemption code + internal discount or reward + internal discount The subtotal amount on the receipt should be discounted according the internal discount + redemption's code/reward discount. Not Supported not implemented
Redeem Functionality Verify amount of applied reward to a qualified item is changed when internal discount is applied to the same qualified item. The amount of the reward should be applied only to a qualified item, not to the whole check. It should be changed to the amount of qualified item with internal discount. Not Supported not implemented
Redeem Functionality Verify applying redemption code on both split payment/checks The redemption code should be used only at first payment and only once. Pass  
Redeem Functionality Verify if the check can't be split when redemption/ coupon/promo/reward is applied. Redemption code should be either voided or POS should prevent splitting of the check while a redemption code is applied. Pass reward will be voided automatically
Redeem Functionality Verify removing the redemption code/reward/coupon/promo from the closed order. The redemption code should be voided. If Pending points functionality is enabled, points should be returned to the user. Pass  
Redeem Functionality Verify void check with the redemption code/reward The redemption code should be voided. If Pending points functionality is enabled, points should be returned to the user. Partially Supported No void/cancel check. Need to reopen the check and delete manually all items
Redeem Functionality Applying user's rewards through lookup menu A selected rewards from the user profile display may be applied to the POS check. Rewards should be tested for qualification and the correct discounted amount should be applied to the POS order Pass  
Redeem Functionality Verify if previously applied reward is automatically removed when the reward qualified item is removed from the order Reward should be removed from the order. Pass  
Redeem Functionality Removing redemption code/coupon/promo from the order Redemption code/ coupon should be deleted from the check and credited back to the user. User should be attached to the order when the redemption has been voided. Pass  
Redeem Functionality Verify if points are properly updated on the dashboard when 2 checks with different users assigned are merged. Both check-ins should be voided automatically before combining or POS should prevent merging while users are assigned. Pass  
Redeem Functionality Item level discounts are sent as a modifier discount item of the parent item. All item discounts should be present on the receipt details as a sub-item discounts. Pass  
Redeem Functionality Verify that if POS discount rules blocks Punchh approved reward application to the order, the users reward is returned to their account The Punchh user's reward should not be removed from the user account (redemption create) until the POS has verified that the approved redemption request has been successfully applied to the POS order Pass  
Redeem Functionality Prevent multiple reward redemptions from multiple users on a single check Reward redemptions should be applied only from one user on a single check Pass  
Functionality with no Internet connection Functionality with no Internet connection The printed check should contain the valid Punchh bar/QR code ( EAN-13 or Punchh QR Code Format ) and should be unique per check number. Check details data should be temporarily stored for later transmission. There should be no error messages shown. When Internet connection is back then any check data that was accumulated should be transmitted to Punchh. Pass  
Functionality with no Internet connection Verify if order is placed and check is printed when there is no connection The printed check should contain the valid Punchh bar/QR code ( EAN-13 or Punchh QR Code Format ) and should be unique per check number. Check details data should be temporarily stored for later transmission. There should be no error messages shown. When Internet connection is back then any check data that was accumulated should be transmitted to Punchh. Pass  
Functionality with no Internet connection Verify closing order with check-in during connection loss The order should be closed. The receipt should be printed. Check details data should be temporarily stored for later transmission. There are should be no error messages shown. When Internet connection is back then any check data that was accumulated should be transmitted to Punchh. Pass Receipt details are sent to Punchh after Internet is back on and user is checked in
Functionality with no Internet connection Verify if redemption code is voided when Internet connection is lost during payment. Redemption code or Rewards should be voided and returned to the user. The order should be closed. The receipt should be printed. Check details data should be temporarily stored for later transmission. There are should be no error messages shown. When Internet connection is back then any check data that was accumulated should be transmitted to Punchh. Pass Receipt details are sent to Punchh after Internet is back on and user is checked in. Redemption code is voided on the check when Internet goes off.
Receipt Details POS Passes all order details in receipt data sent to Punchh In addition to normal POS check details the POS sends the Online ordering transaction number Online Ordering/Kiosk guest's registered status and the Online ordering Punchh key value in the POS receipt details to Punchh Pass  
Receipt Details Verify applying internal discount is in receipt details sent to Punchh The printed check should contain the valid Punchh barcode/ QR code discount should be visible in the receipt details on the Dashboard and on the printed receipt Pass  
Receipt Details The paid amount on the receipt should be converted to the earning points without including taxes and tips. The taxes or tips should not be converted to the points. Amount and subtotal_amount should be equal and should be sum of all menu items minus all discounts. Pass  
Receipt Details Verify transaction number is present on the printed receipt and it should match Punchh check number. The transaction number of printed receipt and should match the transaction number in the receipt details sent to Punchh. Pass  
Receipt Details Verify sending payments as type "P" Receipt details should contain payment type as "P" Pass  
Receipt Details Verify sending service charges as type "S" Receipt details should contain service charge type as "S" Pass  
Receipt Details Verify sending Taxes charges as type "T" Receipt details should contain service charge type as "T" Pass  
Receipt Details Verify all check details balance above and below the total subtotal_amount = (Sum(M) - Sum (D) (Punchh and Internal Discounts))
subtotal_amount + Sum of (S) + Sum (T) = Sum (P)
Pass  
Receipt Details POS send receipt_details API call when check is finalized after payment is applied Receipt details should contain all fields from the check. Pass  
Receipt Details Pending Points enabled send receipt_details when check in printed When pending points are enabled the POS makes receipt_details API call when the check is printed and at check finalization. If pending points are not enabled only make receipt_details API call at check finalization Pass  
Receipt Details Serial numbers support for modifiers Serial numbers should be used for modifiers and start with 1.0 (Main item (1.0) + subitem (1.01)) Range 0.00-0.99 Pass  
Receipt Details Verify data sent to Rev code/ID POS data reflect POS functionality that designated the method that the order is being fulfilled to the guest This should be the id/text values that represent the way in which the order is going to be fulfilled to the customer.
It should NOT BE the area in the restaurant where the order is placed.
CORRECT: Dine In Take Out Online Takeout Online Delivery Dispatch Catering
INCORRECT: Bar Patio Dining Room.
For 3rd party order systems (Online/Kiosk) this value should match the POS system's functionality that is reporting the same values to Punchh
Not Supported not implemented
Receipt Details POS Memo Items are passed in the check receipt details to Punchh "Memo Items" are POS System items that allow a POS operator or a integration partner to add freeform text to a check item. The Item ID is reused by the integration to add different information for each instance of the same menu item. N/A  
Portal Functionality Set up text of the Header in receipt message on the Dashboard. Line with a text should be added on the top of a receipt. Pass  
Portal Functionality Set up text of the Trailer in receipt message on the Dashboard. Line with a text should be added below the barcode of a receipt. Pass  
Portal Functionality Disable Barcode Generation at POS. The Barcode should not be printed on the receipt.
NOTE: these settings are generally reflected on POS after up to 1 hour wait time (by default). Some POS systems might handle the updates to these settings differently (for example require restart).
Pass  
Logging Verify POS/Kiosk version and sub-version should be logged at log file start POS/Kiosk version and sub-version should be logged at log file start Pass  
Logging Verify that all text data (menu items employee name etc.) are URL encoded All text data (menu items employee name etc.) should be URL encoded Pass  
Logging Verify Punchh API request/response logging These fields should be equal and should be sum of menu items minus discounts (not including taxes or tips) Pass  
Logging Verify that revenue_id and revenue_code should be included in the logs Verify that these fields are sent to Punchh Pass  
Logging Verify that if using URL encoding then there should be no special symbols per rfc3986. Make sure that any characters like ampersand percent etc. are not shown in the names of the menu items or employees but rather URL Encoded if URL encoding is not used then there should be no special symbols per rfc3986. Make sure that any characters like ampersand percent etc. are not shown in the names of the menu items or employees but rather URL Encoded Pass  
Logging Verify that log details is properly adjust to Location Config log level settings Log details should be properly adjust to Location Config log level settings Pass  
Logging Verify that logs are uploaded to Punchh POS logging repository Logs should be uploaded to Punchh POS logging repository Pass  
Single Scan Flow POS Supports Single Scan Flow POS support single scan flow for earning/redemption/payment Not Supported not implemented
Single Scan Flow POS support SSF Check-in only POS support single scan flow for earning only Not Supported not implemented
Single Scan Flow POS support SSF Pay and Check-in POS support single scan flow for pay and check-in Not Supported not implemented
Single Scan Flow POS support SSF Redeem and Check-in POS support single scan flow for redeem and check-in Not Supported not implemented
Single Scan Flow POS support SSF Redeem Pay and Check-in POS support single scan flow for redeem pay and check-in Not Supported not implemented