Point Definition Rates define how many points a profile earns for a transaction. Each rate is linked to a Point Definition by its handle and can be scoped by location, region, country, time window, and JSON Logic conditions on the profile or product — allowing complex earn programs with minimal configuration.Documentation Index
Fetch the complete documentation index at: https://docs.omneo.io/llms.txt
Use this file to discover all available pages before exploring further.
How rate resolution works
When a Create Point or Create Tier Point action runs withcheck_rate = true, Omneo resolves the applicable rate using this sequence:
- Fetch all published, non-archived rates matching the Point Definition handle
- Filter to rates whose time window is currently active (
start_time≤ now ≤end_time) - Filter by location, region, and country — rates with no value set act as catch-alls
- Evaluate
profile_conditionsagainst the profile (JSON Logic) - Evaluate
product_conditionsagainst the transaction or item (JSON Logic) - Rank remaining rates by specificity — more specific scoping wins
- Break ties using
rate_priority(productprefers rates with product conditions;profileprefers rates with profile conditions) - Apply the highest-ranked matching rate
check_rate = true is set on the action.
Point calculation
Create Point:| Scenario | Base amount | Rate | Points earned |
|---|---|---|---|
| Standard earn | $100 | 1.0 | 100 |
| Half earn | $100 | 0.5 | 50 |
| Double earn | $100 | 2.0 | 200 |
| No rate resolved (Tier Point) | $100 | — | 100 (raw amount) |
rate = 1. Create Tier Point falls back to the raw base amount.
Specificity scoring
When multiple rates match, the rate with the highest specificity score wins. Each matched geographic field adds one point:| Matched field | Score |
|---|---|
location_id | +1 |
region_id | +1 |
country_iso_2 | +1 |
code | +1 |
Pending period (issue period)
Useissue_period and issue_period_type on a rate to delay when points become spendable after they are earned. This is commonly used for returns windows — if a customer can return purchases within 30 days, you might issue points 31 days after the transaction.
issue_period_type | Behaviour |
|---|---|
hours | Active after N hours |
days | Active after N days (end of day) |
weeks | Active after N weeks (end of day) |
months | Active after N months (end of day) |
years | Active after N years (end of day) |
absolute_date | Active on a fixed date set in issue_absolute_expiry |
absolute_week | Active on the Nth weekday, N weeks from earn |
absolute_month | Active on the Nth day of the month, N months from earn |
accrued_at is provided when the point is created, points are issued immediately regardless of the rate’s issue period.
Configuring a rate in CX Manager
Prerequisites
- A Point Definition already exists with the handle you want to rate
- A Trigger Reaction uses a Create Point or Create Tier Point action referencing that definition, with
check_rate = true
Steps
Set the earn multiplier
Enter a Rate value.
1.0 = one point per dollar. 0.5 = half a point per dollar. 2.0 = double points.Scope the rate (optional)
Set Region, Country, and/or Location to restrict when this rate applies. Leave blank to apply to all transactions.
Set a time window (optional)
Use Start Time and End Time to run a promotional rate for a fixed period.
Add conditions (optional)
Use Profile Conditions and Product Conditions to restrict the rate further using JSON Logic.
Condition examples
Double points for Gold tier members only:Testing rates
Use the Estimating incentives guide to simulate transactions against your rate configuration before going live. This lets you verify specificity ordering and condition evaluation without creating real records.Related
- Points — conceptual overview of point types
- Estimating incentives — dry-run testing of earn rules
- Rate API reference — full rate endpoint specification
- Point Definition API reference — managing definitions