# Deposit promo flow breakdown ## Add a user to existing promo code 1. Operator add a user to promo code doc via PB admin -> update_promo API in account engine -> update promo doc -> sync user doc so user has the new promo code ``` { "id": "TIEREDPROMO3", "UserGroup": { "MultiUseGroup": [], "SingleUseGroup": [ "222957", "123456" ] }, "BonusTiers": [ { "MinDeposit": 90, "MaxDeposit": null, "BonusAmount": 45 } ], "BonusPercentage": 0, "MinDeposit": 80, "BonusLimit": 200, "ExpiryOffsetInDays": 7, "TbsPromoId": "1", "IsActive": true, // new fields "changedUsers": ["123456"] } ``` change feed: when get the document, look at `changedUsers` field based on the document, update the user doc to - include new promo code - exclude new promo code ``` { id: "123456", promotions: [{ code: "TIEREDPROMO3", type: "SingleUse", isUsed: true | false, }] } ``` 2. When user goes to deposit page get user doc based on ID and filter out signle use and used ones 3. When bonus is allocated update user doc