This section describes the loyalty transaction workflow on a Toast kiosk device. The kiosk allows POS location guests to place orders and interact with loyalty features on their own, without location employee assistance.
The kiosk supports two workflows: creating new loyalty accounts for guests who are not yet members, and looking up existing accounts for returning guests.
When a guest enters their contact information on the kiosk, the
Toast platform first searches for an existing account. If no account is
found, the Toast platform sends a LOYALTY_SIGNUP request to
create a new account.
-
A guest selects the START button and adds items to their order on the kiosk.
-
On the bottom right of the screen, the guest selects the + Add rewards button.
-
On the Loyalty + Rewards screen, the guest selects a contact method. Available options depend on your loyalty program configuration. For example, the options for a location might include Phone and Email, as well as SCAN CODE for scanning a QR code or swiping a loyalty card.

-
The guest submits contact information using one of the methods available (for example, telephone number, email, or QR code). The Toast platform sends a
LOYALTY_SEARCHrequest to your loyalty program integration. -
Your loyalty program integration searches for accounts matching the contact information and responds.
-
If your integration returns an HTTP
404response code with atransactionStatusofERROR_ACCOUNT_INVALID, indicating no accounts were found, the Toast platform proceeds to the next step. -
If your integration finds one or more accounts, the workflow continues as described in the existing guest sign-in workflow.
-
-
The Toast platform sends a
LOYALTY_SIGNUPrequest to your loyalty program integration. The request body includes aTransactionInformationSignupobject with either aphoneoremailvalue. -
Your loyalty program integration creates a new account and returns a success response containing a
loyaltyIdentifierfor the newly created account. The kiosk displays a confirmation message.
If your integration returns an error response such as
ERROR_ALREADY_REGISTERED, the kiosk displays an error message and the guest cannot proceed with sign-up. For more information about error responses, see Error handling. -
The workflow continues with the Toast platform sending a
LOYALTY_INQUIRErequest using theloyaltyIdentifierfrom the sign-up response. From this point forward, the workflow is the same as for existing guests. For more information about inquire, redeem, and accrue transactions, see Kiosk workflow for existing loyalty member sign-in.
|
Important |
|
You are solely responsible for implementing business logic, validation, and compliance in your loyalty program integration, including but not limited to: marketing consent requirements, communication practices, privacy regulations, account creation policies, and handling incomplete signups. The Toast platform does not manage these aspects of your loyalty program. |
When a returning guest enters their contact information on the kiosk, the Toast platform searches for their existing account and displays available rewards.
-
A guest selects the START button and adds items to their order on the kiosk.
-
On the bottom right of the screen, the guest selects the + Add rewards button.

-
The guest selects a contact method and enters their phone number, email address, or scans a QR code.
-
The guest submits their contact information. The Toast platform sends a
LOYALTY_SEARCHrequest to your loyalty program integration. -
Your loyalty program integration searches for accounts and responds with one or more matching accounts. If a single account is found, the Toast platform uses that account. If multiple accounts are found, the kiosk displays a list for the guest to select from.
-
The guest selects their account from the list.
-
The Toast platform sends a
LOYALTY_INQUIRErequest using the identified loyalty account. Your integration responds with the guest's available rewards and account information. Optionally, you can include aredemptionLimitobject to control the maximum number of rewards the guest can select. For more information, see LOYALTY_INQUIRE. -
The guest adds items to the order and selects Checkout.

-
On the checkout screen, the guest sees available rewards. The guest selects Redeem next to rewards they want to apply. Offers that are not eligible for redemption on the current check are marked as unavailable. If you included a
redemptionLimitin your response, the kiosk enforces the limit by disabling additional reward selections once the guest reaches the maximum. Guests can always deselect rewards to choose different ones.Important
You are responsible for determining which offers are eligible for redemption, using the
applicableboolean in theOfferobject.The reward is added to the check as a discount.
-
When the payment process starts, the Toast platform sends a
LOYALTY_REDEEMrequest to confirm the redemption. Your integration should validate and confirm the redemption. -
After payment is completed, the Toast platform sends a
LOYALTY_ACCRUErequest. Your integration should credit the guest's account with points or rewards earned from this transaction.
For information about the LOYALTY_SEARCH,
LOYALTY_INQUIRE, LOYALTY_REDEEM, and
LOYALTY_ACCRUE transaction types, see Transaction types.