# Timeline

The **Timeline** tab gives you a full picture of everything that has happened to a member since they joined your loyalty program — points earned and spent, tier changes, rewards redeemed, badges granted, and more. It's the first place to check when investigating a member's activity or answering a support question.

You'll find it inside any member's profile: **Members → select a member → Timeline**.

<figure><img src="/files/olU6fNkYIB1c6TAiFPLJ" alt=""><figcaption></figcaption></figure>

### What you'll see

Each entry in the feed tells you:

* **What happened** — a short description like *Earned 374 Points in Default Wallet* or *Changed tier from Silver to Gold*
* **When it happened** — the date and exact time
* **The event category** — a label such as *Units transfer*, *Tier*, or *Reward* so you can scan quickly
* **Points involved** — how many points were added, spent, or moved
* **Active balance** — the member's spendable points right after that event

Events are listed newest first. The total count (e.g. *191 Results*) is shown above the feed.

***

### Narrowing down the list

When a member has a long history, use **+ Add filter** to focus on what you need. You can combine multiple filters — just hit **Apply** to refresh the results.

<div align="left"><figure><img src="/files/vR6fe2HeY8BPewm8ULZ4" alt=""><figcaption></figcaption></figure></div>

There are three ways to filter:

#### By date

Use the **Created on** filter to look at a specific time window.

<figure><img src="/files/rUphBeY3z5ol4N1gsud7" alt=""><figcaption></figcaption></figure>

Pick a condition and a date/time:

| Condition       | Shows events…                       |
| --------------- | ----------------------------------- |
| Before          | …strictly before the date you enter |
| Before or equal | …up to and including that date      |
| After           | …strictly after that date           |
| After or equal  | …from that date onward              |

#### By event type

Use the **Type** filter to show (or hide) specific kinds of events.

Set the condition to **In** to show only the types you pick, or **Not in** to exclude them.

<figure><img src="/files/3G8hWShUOjpzQDX5s8jF" alt=""><figcaption></figcaption></figure>

Then open the **Value** dropdown and choose from the event categories:

<figure><img src="/files/lckvrpziQzBUSMs268XX" alt=""><figcaption></figcaption></figure>

Each category expands into individual event types you can select:

**Challenges (previously Achievements)**

* Challenge (Achievement) completed
* Challenge (Achievement) completion count was decreased
* Challenge (Achievement) progress was changed

**Assignment**&#x20;

* Assigned custom event to customer
* Assigned transaction to customer

**Custom attributes**&#x20;

* Custom attribute was added
* Custom attributes were updated
* Custom attributes were deleted

**Member**&#x20;

* Member was registered
* Member was activated
* Member was deactivated
* Member was anonymized
* Member was moved to tier

**Units**&#x20;

* Units were added
* Pending units were added
* Units were unlocked
* Units were spent
* Units were blocked
* Units were unblocked
* Units were canceled
* Pending units were canceled
* Units were expired
* Units were transferred

**Reward**&#x20;

* Reward was bought

#### By wallet

Use the **Wallet** filter to see activity for a specific point currency only — handy if your program runs multiple wallets.

***

### Event type reference

Here's a complete breakdown of every event you might see on the Timeline, what it means, and what causes it.

***

#### Points & account

All points events appear under the **Units transfer** label in the feed.

| What you'll see                           | What it means                                                                  | API event                   |
| ----------------------------------------- | ------------------------------------------------------------------------------ | --------------------------- |
| Earned {X} points in {Wallet}             | Points were added to the member's account and are immediately spendable        | `PointsWereAdded`           |
| Earned {X} points in {Wallet} *(pending)* | Points were added but are locked until a future date                           | `PendingPointsWereAdded`    |
| Unlocked {X} points in {Wallet}           | Pending points have passed their lock date and are now active                  | `PointsWereUnlocked`        |
| Spent {X} points from {Wallet}            | Points were used — either manually or automatically when a reward was redeemed | `PointsWereSpent`           |
| Blocked {X} points in {Wallet}            | Points were put on hold and temporarily removed from the spendable balance     | `PointsWereBlocked`         |
| Unblocked {X} points in {Wallet}          | Held points were released back to active                                       | `PointsWereUnblocked`       |
| Cancelled {X} points in {Wallet}          | Active earned points were reversed                                             | `PointsWereCanceled`        |
| Cancelled pending {X} points in {Wallet}  | Locked points were cancelled before they ever became active                    | `PendingPointsWereCanceled` |
| Expired {X} points in {Wallet}            | Points reached the end of their validity period                                | `PointsWereExpired`         |
| Transferred {X} points from {Wallet}      | Points were sent to another member                                             | `PointsWereTransferred`     |

{% hint style="info" %}
**Good to know:** Cancelling a points transfer creates different timeline entries depending on the transfer's state — *cancelled* for active points, *cancelled pending* for locked points, and *unblocked* for held points.
{% endhint %}

***

#### Member lifecycle

These events appear under the **Member operation** label.

| What you'll see        | What it means                                 | API event                |
| ---------------------- | --------------------------------------------- | ------------------------ |
| Member was registered  | The member's account was created              | `CustomerWasRegistered`  |
| Member was activated   | The account was activated                     | `CustomerWasActivated`   |
| Member was deactivated | The account was deactivated                   | `CustomerWasDeactivated` |
| Member was anonymized  | The member's personal data was removed (GDPR) | `CustomerWasAnonymized`  |

***

#### Tier changes

Tier events appear under the **Tier** label.

| What you'll see                                | What it means                                                                                                | API event                 |
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------- |
| Reached first tier "{Tier name}"               | The member was assigned to a tier for the first time                                                         | `CustomerWasMovedToLevel` |
| Changed tier from "{Old tier}" to "{New tier}" | The member moved up or down a tier — either automatically when their points changed, or manually by an admin | `CustomerWasMovedToLevel` |

***

#### Transactions & custom events

| Label        | What you'll see                      | What it means                                      | API event                       |
| ------------ | ------------------------------------ | -------------------------------------------------- | ------------------------------- |
| Transaction  | Made transaction "{Document number}" | A purchase was recorded and matched to this member | `AssignedTransactionToCustomer` |
| Custom event | Custom event "{Type}" added          | A custom event was logged against the member       | `AssignedCustomEventToCustomer` |
| Reward       | Redeemed reward "{Name}"             | The member used points to claim a reward           | `RewardWasBought`               |

***

#### Custom attributes

| What you'll see                     | What it means                                            | API event                     |
| ----------------------------------- | -------------------------------------------------------- | ----------------------------- |
| Member custom attribute was set     | A new custom attribute was added to the member's profile | `CustomAttributeWasAdded`     |
| Member custom attribute was updated | An existing custom attribute was changed                 | `CustomAttributesWereUpdated` |
| Member custom attribute was removed | A custom attribute was deleted from the member's profile | `CustomAttributesWereDeleted` |

***

#### Rewards

| What you'll see                     | What it means                          | API event                  |
| ----------------------------------- | -------------------------------------- | -------------------------- |
| Redeemed reward "{Name}"            | The member claimed a reward            | `RewardWasBought`          |
| Canceled reward redemption "{Name}" | A previously issued reward was revoked | `IssuedRewardWasCancelled` |

***

#### Badges

| What you'll see          | What it means                                         | API event                             |
| ------------------------ | ----------------------------------------------------- | ------------------------------------- |
| Badge • Granted          | The member earned a badge                             | `MemberCompletedBadge`                |
| Badge • Manually changed | An admin adjusted the member's badge completion count | `MemberBadgeCompletedCountWasChanged` |

***

#### Achievements & challenges

| What you'll see                               | What it means                                                              | API event                                                                              |
| --------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| Achievement / Challenge                       | The member reached 100% progress and completed an achievement or challenge | `MemberCompletedAchievement`                                                           |
| Achievement adjustment / Challenge adjustment | Progress or milestones were updated, or a completion count was rolled back | `MemberAchievementProgressWasChanged` · `MemberAchievementCompletionCountWasDecreased` |

***

#### Fortune wheel

| What you'll see                                        | What it means                                         | API event                    |
| ------------------------------------------------------ | ----------------------------------------------------- | ---------------------------- |
| Fortune wheel "{Reward}" performed: {Rule} ({Chance}%) | The member spun a fortune wheel and received a reward | `RewardFortuneWheelWasDrawn` |


---

# Agent Instructions: 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:

```
GET https://help.openloyalty.io/main-features/members/member-list/single-member-view/timeline.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
