Previous Topic Next Topic
POS Module 8b: Updating/Voiding Transactions - Example Scenarios POS Module 9: Print Check - Example Scenarios

POS API Certification Tutorial - Module 9: Print Check - Concepts

Goal

Show on the printed receipt the location-specific information configured for the store in the Punchh platform.

Prerequisites

You must have read the Module 1: Location Configuration and Program Meta and Module 8a: Receipt Details tutorials.

Use Cases and Context

After the check is paid in full and the transaction is completed, the POS operator prints the receipt and gives it to the guest. The receipt has barcode information and receipt messages (trailer messages – thank you message or marketing message, etc.) printed on it.

Applicable API Endpoints

Endpoint Name/Path Relevant Request Parameters Relevant Response Parameters
Location Configuration
GET {server-name}/api/pos/locations/configuration
N/A - No dependencies on other API calls header
print_barcodes
trailer_1 - trailer_5
update_interval

After a successful API call to the Location Configuration API, the response will contain the relevant response parameters for the check. Those parameters are header, print_barcodes, trailer_1, trailer_2, trailer_3, trailer_4, trailer_5, and update_interval.

{
  "banked_rewards_mode": "1",
  "business_name": "BUSINESS_NAME_GOES_HERE",
  "diagnostics": "0",
  "header": "Header Punchh",
  "location_id": "327922",
  "location_name": "327922-punchh-demo",
  "log_level": "6",
  "points_unlock_mode": "0",
  "print_barcodes": "1",
  "send_to_datasink": "1",
  "short_key": "6624",
  "trailer_1": "Barcode Punchh Line #1",
  "trailer_2": "Barcode Punchh Line #2",
  "trailer_3": "Barcode Punchh Line #3",
  "trailer_4": "Barcode Punchh Line #4",
  "trailer_5": "THANKS Punchh",
  "update_interval": "60",
  "visits_mode": "0"
}

Workflow

As discussed in the Module 1: Location Configuration and Program Meta tutorial, the Location Configuration API endpoint lets you fetch from the Punchh server POS store configurations including the receipt messages that are printed on the receipt. The POS should save configuration information locally. The receipt message parameters returned in the API response are header, trailer_1, trailer_2, trailer_3, trailer_4, and trailer_5. The header message is printed at the top of the receipt and the trailer messages are printed under the barcode on the receipt.

The receipt messages are added to the Punchh platform by the business for POS stores and are shown under Store Locations > Receipt Messages. To add a new receipt message, click Store Locations > Receipt Messages > Add New Receipt Message. The Add New Receipt Message form has these fields:

  • Header - The line entered in this field is displayed at the top of the receipt.

  • Barcode Message Line #1 - Line 1 under the barcode on the receipt

  • Barcode Message Line #2 - Line 2 under the barcode on the receipt

  • Barcode Message Line #3 - Line 3 under the barcode on the receipt

  • Barcode Message Line #4 - Line 4 under the barcode on the receipt

  • Barcode Message Line #5 - Line 5 under the barcode on the receipt

The Location Configuration API response returns Header as header, Barcode Message Line #1 as trailer_1, and subsequent barcode message lines as trailer_2, trailer_3, trailer_4, and trailer_5.

Printing Barcode or QR Code on the Receipt

The POS will generate and print a unique barcode or QR code on the guest check. These are three reasons that the POS should print a barcode or QR code:

1. Loyalty users who could not check in at the POS to earn for the transaction can scan the barcode or QR code post-transaction so they can earn for that check.

2. In cases when the connectivity to Punchh is down, the POS will be unable to perform loyalty user look-up or check-in, and therefore loyalty users will not be able to earn. In this event, the POS generates a unique barcode or QR code so the guest can earn points/visits although the POS is offline. (This can be supported only when the POS queues offline transactions.) 

3. In a table service environment, the employee does not have to write down user look-up information to then go back to the terminal to process that look-up. In table service, earning will occur when the barcode or QR code is printed on the check. 

The barcode or QR code will be printed on the receipt for a store if the print_barcodes parameter in the Location Configuration API response is set to “1” for the store location. However, there is no need to print a barcode when the print_barcodes flag is enabled if a user is already on the check to earn. The purpose of the barcode or QR code is to earn points/visits if the guest was not able to earn due to the three reasons mentioned above. To verify this setting in the Punchh platform, go to Store Locations > All Store Locations > [choose your location] > Location Operations and make sure that the following settings are enabled:

  • Disable Barcode Generation

  • Enable for Loyalty Checkins

Barcodes or QR codes should be printed ONLY when a user look-up was not done or the guest is not assigned to the check, OR when the POS is offline.

You need to configure the POS to show the following information on the printed receipts.

Feature Description
Print the barcode on the check Print a unique barcode on the check when the check is printed.

Barcodes should be printed ONLY when a loyalty user look-up was not done or check-in is created for the user, OR when the POS is offline.
Print a QR code on the check Print a unique QR code on the check when the check is printed.

QR codes should be printed ONLY when a loyalty user look-up was not done or check-in is created for the user, OR when the POS is offline.
Print either the text value of the barcode or the QR code with the image Print the text value of the barcode under the barcode or the QR code image.
Print the barcode or QR code when the POS is offline Print the barcode or QR code on the check when the POS is offline.
Print a unique barcode or QR code when the check is split Print a unique barcode or QR code on a check that is split.

Check Header/Footer Messages

Apply receipt messages configured on the Punchh platform onto the guest receipt at print check. This includes a Punchh message block header message (50 characters in length) and 5 rows of a footer message (50 characters per line). Locations can be configured with different header and footer messages.

Feature Description
Print barcode header message on receipts Header message - 50 characters. Every time the check is printed, print the header message above the barcode or QR code on the receipt.
Print footer messages on receipts Footer message - 5 rows, 50 characters per row. Every time the check is printed, print the footer message below the barcode or QR code on the receipt.

Best Practices

Print the barcodes or QR codes only for guests who could not check in at the POS. This allows the loyalty and non-loyalty guests to scan the barcode or QR code post-transaction with the mobile app and earn points/visits. Non-loyalty guests can download the brand’s mobile app, and after sign-up, they can scan the barcode or QR code with the mobile app and earn points/visits.

Receipt Details API

Location Configuration API

Implement the Punchh Barcode and QR Code Algorithm