# FAVO Reward Redemption V1

Business rule used for this V1:
- Reward 100 Points is an unlocked reward benefit with reward_type POINTS and value 100.
- Redemption does not automatically alter the points balance in V1 because the existing reward schema does not define a separate points-award ledger semantics. The redemption records the reward as redeemed.
- Customer creates a short-lived redemption token for an existing UNLOCKED reward.
- Merchant/Staff verifies and redeems the token.
- Token and unlock become REDEEMED atomically.
- Replay/double redemption is rejected.
- Staff branch scope is enforced when a branch_id is supplied.
- No existing migration is rerun. Migration 008 only creates redemption token storage.

Routes:
POST ?page=api/v2/reward/redeem-token
  merchant_id, reward_unlock_id

POST ?page=api/v2/reward/redeem
  merchant_id, token, optional branch_id
