> 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 %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://kbase.whitelabel-loyalty.com/developer/guides/integrate-with-pos/applying-offers.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
