Skip to content

Conversation

@iewilliam
Copy link
Contributor

@iewilliam iewilliam commented Nov 17, 2025

This is a base class schema for personalizing/customizing loyalty challenges.

Challenges is an AJO functionality to help customers offer loyalty challenges to their end users and keep track of their progress in them. Completing the challenge would earn the end user some kind of reward such as loyalty points or a coupon for a future discount and such. A few examples of loyalty challenges:

  • Visit the store and buy something 3 days in a row
  • Buy a certain category of product items (sodas, breakfast items, etc) 3 times
  • Spend a total of X dollars over the next week
  • Use feature xyz in a photo editing software product n times

Each challenge is modeled as a list of tasks to complete.
Each task has:

  • Numerical target goal (buy 3 sodas, visit 3 times, spend $45.99)
  • List of item tags/categories that satisfies the task (sodas, breakfast items, etc)
  • List of item tags/categories that are excluded from satisfying the task

The fields in this schema are for personalizing on a per <end-user, challenge> basis:

  • numerical goals: number of daily visits, items bought, etc
  • List of item tags that satisfies/excluded from the task
  • reward for completing each task, along with any reward for completing the whole challenge.
  • qualifying time of day for the whole challenge, for example purchase any breakfast item before 11AM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant