> For the complete documentation index, see [llms.txt](https://kbase.whitelabel-loyalty.com/developer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kbase.whitelabel-loyalty.com/developer/guides/integrate-with-pos/applying-offers.md).

# Applying offers

## Overview

This article explains how to apply [**Offers**](/developer/guides/integrate-with-pos/applying-offers.md) a user is eligible for to a transaction in a point-of-sale system or ecommerce store.

Offers are *always on* and do not require redemption by the user. They should be automatically applied when the user’s loyalty ID is identified.

Example offers:

* 10% off all transactions
* 20% off a specific SKU
* $5 off when you spend $30 or more

In the Loyalty Engine, **Offers** differ from [**Vouchers**](/developer/guides/integrate-with-pos/redeeming-vouchers.md) in that Offers are designed to be automatically applied at POS and do not require the user to first acquire or redeem a Voucher.

Offers can also be targeted to specific Audiences — for example, giving all users in a *Staff* Audience a 10% discount on all their purchases. The Loyalty Engine handles the segmentation and offer eligibility, and returns any offers a user is eligible for via the [**`GET /rewards`**](https://docs.whitelabel-loyalty.com/rewards.html#rewards-rewards-collection-get) endpoint when called as a user.

{% hint style="info" %}
For more details on how offers work conceptually, see the [**Offers**](https://kbase.whitelabel-loyalty.com/product/loyalty-engine/rewards-and-points/rewards/reward-types/offers) section in our Product Docs.
{% endhint %}

***

## Implementation steps

{% stepper %}
{% step %}

### Identify the member

Retrieve the member’s loyalty ID via POS (e.g. scanning a QR code or manual entry).

For ecommerce platforms, ensure the user is logged in and authenticated.
{% endstep %}

{% step %}

### Get the user’s offer list

Call the [**`GET /rewards`**](https://docs.whitelabel-loyalty.com/rewards.html#rewards-rewards-collection-get) endpoint on the WLL Rewards API [as the user (or via user impersonation)](https://docs.whitelabel-loyalty.com/rewards.html#header-requesting-rewards-as-an-end-user).

Filter the results to `type: offer`.

The response will include a list of active offers the user is eligible for, and their associated `discounts` objects.
{% endstep %}

{% step %}

### Apply discounts in POS

Use the `discounts` object from each returned offer to determine what discount to apply (e.g. percentage, fixed amount, SKU-specific).

Apply any relevant discounts automatically within your POS or ecommerce checkout logic.

See [Processing discount objects](/developer/guides/integrate-with-pos/processing-discount-objects.md) for more information.
{% endstep %}

{% step %}

### **Report discounts in the transaction payload (optional)**

If your integration [reports transactions to the Loyalty Engine](/developer/guides/integrate-with-pos/reporting-transactions.md), include any discounts you applied in the transaction payload.

You can:

* Include the applied discount amounts under the relevant tenders, or
* Add each discount as a line item.

Including the offer name and/or ID is recommended for tracking offer usage and performance.
{% endstep %}
{% endstepper %}
