diff --git a/.env b/.env new file mode 100644 index 0000000..9ee7021 --- /dev/null +++ b/.env @@ -0,0 +1,91 @@ +MOCK_GATEWAY_HOST=127.0.0.1 +MOCK_GATEWAY_PORT=19090 + +# EDIP token mock +MOCK_TOKEN_PERIOD_SECONDS=3600 +MOCK_EDIP_FORCE_ERROR_CODE= +MOCK_EDIP_FORCE_ERROR_MSG= +MOCK_EDIP_REFRESH_TOKEN_MUST_EXIST=false + +# Bally validate mock +MOCK_VALIDATE_RESULT=SUCCESS +MOCK_VALIDATE_FAIL_PINS=0000 + +# Member profile / image mock +MOCK_MEMBER_FIRST_NAME=MOCK +MOCK_MEMBER_LAST_NAME=MEMBER +MOCK_MEMBER_TIER=MOCK +MOCK_MEMBER_EBONUS=0 +MOCK_MEMBER_PHONE=+85312345678 +MOCK_MEMBER_BIRTHDAY=1990-01-01 +MOCK_MEMBER_GENDER=M +MOCK_MEMBER_IMAGE= + +# Tier points mock +MOCK_PLAYER_EARN_POINTS=0 + +# Promotions mock +# 允许使用抓包文件(文件可包含前置文本,JSON 从第一个 "{" 开始解析) +MOCK_PROMOTION_CAPTURE_FILE=./fixtures/promotions.capture.800048718.json +MOCK_PROMOTION_MAX_ITEMS=30 +MOCK_PROMOTIONS_REDEEMED_FIXTURE_FILE=./e.p/promotions-redeemed.json +MOCK_REDEEMED_PROMOTION_DETAIL_INCLUDE_DEFAULT_RECORD=false + +# Task 10766 scenario mock +# 开启后,accountNum=MOCK_TASK_10766_ACCOUNT_NUM 会返回固定 CNY Promotion, +# 且 /ewl/bal/v1/playerpromotion/redeem 稳定返回 "Prize definition not found" 场景 +MOCK_TASK_10766_ENABLED=true +MOCK_TASK_10766_ACCOUNT_NUM=80010766 +MOCK_TASK_10766_PROMOTION_CAPTURE_FILE=./fixtures/promotions.capture.10766.json +MOCK_TASK_10766_REDEEM_ERROR_CODE=EWALLET_HTTP_ERROR +MOCK_TASK_10766_REDEEM_ERROR_MSG=ewallet connection failed: 404 NOT_FOUND, {"success":false,"message":"Prize definition not found"} +MOCK_TASK_10766_REDEEM_RESULT=false + +# Task 10852 scenario mock +# 开启后,accountNum=80010852 会固定返回可点击的 entitled 双 outcome Promotion,便于直接验证 targetPrizes 多项场景 +MOCK_TASK_10852_ENABLED=true +MOCK_TASK_10852_ACCOUNT_NUM=80010852 +# Task 10852: Point the dedicated member to a minimal entitled fixture so Redeem stays enabled only for this account. +MOCK_TASK_10852_PROMOTION_CAPTURE_FILE=./fixtures/promotions.capture.10852.json +MOCK_TASK_10852_MEMBER_EBONUS=188 + +MOCK_PROMOTION_REDEMPTION_BRIDGE_ENABLED=true +MOCK_PROMOTION_REDEMPTION_BRIDGE_BASE_URL=http://127.0.0.1:8080 +MOCK_PROMOTION_REDEMPTION_BRIDGE_LOGIN_USERNAME=admin +MOCK_PROMOTION_REDEMPTION_BRIDGE_LOGIN_PASSWORD=admin +MOCK_PROMOTION_REDEMPTION_BRIDGE_TIMEOUT_MS=60000 +MOCK_PROMOTION_REDEMPTION_INITIATE_SOURCE=EDIP_MINI_KIOSK +MOCK_PROMOTION_REDEMPTION_SOURCE_BUCKET=m-comp +MOCK_PROMOTION_REDEMPTION_ID_START= + +# LDAP mock (Simple Bind + Search) +MOCK_LDAP_ENABLED=true +MOCK_LDAP_HOST=0.0.0.0 +MOCK_LDAP_PORT=1389 +MOCK_LDAP_BASE_DN=dc=macausjm-glp,dc=com +MOCK_LDAP_MANAGER_DN=cn=s-cicd-app,OU=ServiceAccount,dc=macausjm-glp,dc=com +MOCK_LDAP_GROUP_BASE_DN=OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com + +# 开启后:LDAP 任意用户名/密码放行(用于前后端联调) +# 注意:若需按账号区分用户组(如 admin/admin2),请关闭该模式 +MOCK_LDAP_ALLOW_ANY_USER_MODE=false +MOCK_LDAP_ALLOW_ANY_USER_OU=OU=GLPUsers +MOCK_LDAP_ALLOW_ANY_USER_GROUP_CN=SG-EWALLET-ADMIN +MOCK_LDAP_ALLOW_ANY_USER_MAIL_DOMAIN=macausjm-glp.com + +# 留空表示 manager bind 允许任意密码(便于 Backend 仅改 LDAP_URL 即可接入) +MOCK_LDAP_MANAGER_PASSWORD= + +# Default LDAP user (used when MOCK_LDAP_USERS_JSON is empty) +MOCK_LDAP_DEFAULT_USER_SAMACCOUNTNAME=mock.user +MOCK_LDAP_DEFAULT_USER_DN=cn=mock.user,OU=GLPUsers,dc=macausjm-glp,dc=com +MOCK_LDAP_DEFAULT_USER_PASSWORD=mock-user-password +MOCK_LDAP_DEFAULT_USER_CN=Mock User +MOCK_LDAP_DEFAULT_USER_MAIL=mock.user@macausjm-glp.com +MOCK_LDAP_DEFAULT_USER_MEMBER_OF=cn=SG-EWALLET-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com + +# Optional JSON array to override LDAP users +# Format: +# MOCK_LDAP_USERS_JSON=[{"sAMAccountName":"alice","dn":"cn=alice,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"pass","cn":"Alice","mail":"alice@macausjm-glp.com","memberOf":["cn=SG-APP-EWALLET-SUPER-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]}] +# 注意:组名(CN)必须与后端数据库 roles 表中的 code 完全一致,否则登录后权限为空 +MOCK_LDAP_USERS_JSON=[{"sAMAccountName":"admin","dn":"cn=admin,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"admin","cn":"Admin","mail":"admin@macausjm-glp.com","memberOf":["cn=SG-EWALLET-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]},{"sAMAccountName":"admin2","dn":"cn=admin2,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"admin2","cn":"Admin Two","mail":"admin2@macausjm-glp.com","memberOf":["cn=SG-EWALLET-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]},{"sAMAccountName":"admin3","dn":"cn=admin3,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"admin3","cn":"Admin Three","mail":"admin3@macausjm-glp.com","memberOf":["cn=SG-EWALLET-OPERATOR,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]},{"sAMAccountName":"batch.test","dn":"cn=batch.test,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"batch.test","cn":"Batch Test","mail":"batch.test@macausjm-glp.com","memberOf":["cn=SG-EWALLET-BATCH-OPERATION-EDITOR,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]},{"sAMAccountName":"batch.approver","dn":"cn=batch.approver,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"batch.approver","cn":"Batch Approver","mail":"batch.approver@macausjm-glp.com","memberOf":["cn=SG-EWALLET-BATCH-OPERATION-APPROVER,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]}] diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..94920b9 --- /dev/null +++ b/.env.example @@ -0,0 +1,133 @@ +MOCK_GATEWAY_HOST=127.0.0.1 +MOCK_GATEWAY_PORT=19090 + +# EDIP token mock +MOCK_TOKEN_PERIOD_SECONDS=3600 +MOCK_EDIP_FORCE_ERROR_CODE= +MOCK_EDIP_FORCE_ERROR_MSG= +MOCK_EDIP_REFRESH_TOKEN_MUST_EXIST=false +MOCK_TOKEN_GET_FIXTURE_FILE=./fixtures/token.get.json + +# Bally validate mock +MOCK_VALIDATE_RESULT=SUCCESS +MOCK_VALIDATE_FAIL_PINS=0000 + +# Bally external mock routes +MOCK_TEAM_HIERARCHY_STATUS=true +MOCK_TEAM_HIERARCHY_ERROR_CODE= +MOCK_TEAM_HIERARCHY_MESSAGE=Mock team hierarchy +MOCK_TEAM_HIERARCHY_ROLE=SUPPORT +MOCK_TEAM_HIERARCHY_DEPARTMENT=IT +MOCK_TEAM_HIERARCHY_TAGS=MOCK + +MOCK_PRIZE_REDEEM_ERROR_CODE= +MOCK_PRIZE_REDEEM_ERROR_MSG= +MOCK_PRIZE_REDEEM_VALUE= + +MOCK_POINT_VOID_ERROR_CODE= +MOCK_POINT_VOID_ERROR_MSG= +MOCK_POINT_VOID_RESULT=true + +MOCK_REDEEMED_PROMOTION_DETAIL_ERROR_CODE= +MOCK_REDEEMED_PROMOTION_DETAIL_ERROR_MSG= +MOCK_REDEEMED_PROMOTION_DETAIL_INCLUDE_DEFAULT_RECORD=true +MOCK_REDEEMED_PROMOTION_DETAIL_VOIDED=false + +MOCK_PLAYERPROMOTION_REDEEM_ERROR_CODE= +MOCK_PLAYERPROMOTION_REDEEM_ERROR_MSG= +MOCK_PLAYERPROMOTION_REDEEM_RESULT=true +MOCK_PROMOTION_REDEMPTION_BRIDGE_ENABLED=false +MOCK_PROMOTION_REDEMPTION_BRIDGE_BASE_URL=http://127.0.0.1:8080 +MOCK_PROMOTION_REDEMPTION_BRIDGE_LOGIN_USERNAME= +MOCK_PROMOTION_REDEMPTION_BRIDGE_LOGIN_PASSWORD=mock-password +MOCK_PROMOTION_REDEMPTION_BRIDGE_TIMEOUT_MS=30000 +MOCK_PROMOTION_REDEMPTION_INITIATE_SOURCE=PROMOTION_MODULE +MOCK_PROMOTION_REDEMPTION_SOURCE_BUCKET=m-comp +# 留空时默认使用当前 Unix 秒级时间戳作为 seed,且必须保持在 Backend int 范围内 +MOCK_PROMOTION_REDEMPTION_ID_START= + +MOCK_REDEEMEDPROMOTION_VOID_ERROR_CODE= +MOCK_REDEEMEDPROMOTION_VOID_ERROR_MSG= +MOCK_REDEEMEDPROMOTION_VOID_RESULT=true + +# Prize redemptions sync mock +MOCK_PRIZE_REDEMPTIONS_SYNC_SUCCESS=true +MOCK_PRIZE_REDEMPTIONS_SYNC_MESSAGE=Mock prize redemptions sync success + +# Member profile / image mock +MOCK_MEMBER_PROFILE_FIXTURE_FILE=./fixtures/member.profile.json +MOCK_MEMBER_PROFILE_FORCE_STATUS_CODE= +MOCK_MEMBER_PROFILE_FORCE_ERROR_CODE= +MOCK_MEMBER_PROFILE_FORCE_ERROR_MSG=Mock member profile error +MOCK_MEMBER_PROFILE_DELAY_MS=0 +MOCK_MEMBER_FIRST_NAME=MOCK +MOCK_MEMBER_LAST_NAME=MEMBER +MOCK_MEMBER_TIER=MOCK +MOCK_MEMBER_EBONUS=0 +MOCK_MEMBER_PHONE=12345678 +MOCK_MEMBER_BIRTHDAY=1990-01-01 +MOCK_MEMBER_GENDER=M +MOCK_MEMBER_IMAGE= + +# Tier points mock +MOCK_PLAYER_EARN_POINTS=0 + +# Promotions mock +# 允许使用抓包文件(文件可包含前置文本,JSON 从第一个 "{" 开始解析) +MOCK_PROMOTION_CAPTURE_FILE=./fixtures/promotions.capture.800048718.json +MOCK_PROMOTION_MAX_ITEMS=30 +MOCK_PROMOTIONS_REDEEMED_FIXTURE_FILE=./e.p/promotions-redeemed.json +MOCK_REDEEMED_PROMOTION_RECORDING_ENABLED=true +MOCK_REDEEMED_PROMOTION_RECORDING_FILE=./runtime/redeemed-promotions.recorded.json +MOCK_PROMOTION_REDEEM_FULFILLMENT_OVERRIDES_ENABLED=true +MOCK_PROMOTION_REDEEM_FULFILLMENT_OVERRIDES_FILE=./runtime/promotion-redeem-fulfillment-overrides.json + +# Task 10766 scenario mock +# 开启后,accountNum=MOCK_TASK_10766_ACCOUNT_NUM 会返回固定 CNY Promotion, +# 且 /ewl/promotion/v1/playerpromotion/redeem 稳定返回 "Prize definition not found" 场景 +MOCK_TASK_10766_ENABLED=false +MOCK_TASK_10766_ACCOUNT_NUM=80010766 +MOCK_TASK_10766_PROMOTION_CAPTURE_FILE=./fixtures/promotions.capture.10766.json +MOCK_TASK_10766_MEMBER_EBONUS=8888 +MOCK_TASK_10766_REDEEM_ERROR_CODE=EWALLET_HTTP_ERROR +MOCK_TASK_10766_REDEEM_ERROR_MSG=ewallet connection failed: 404 NOT_FOUND, {"success":false,"message":"Prize definition not found"} +MOCK_TASK_10766_REDEEM_RESULT=false + +# Task 10852 scenario mock +# 开启后,accountNum=MOCK_TASK_10852_ACCOUNT_NUM 会固定返回可点击的 entitled 双 outcome Promotion, +# 用于验证 promotion 多选时 targetPrizes 多项场景 +MOCK_TASK_10852_ENABLED=false +MOCK_TASK_10852_ACCOUNT_NUM=80010852 +# Task 10852: Keep the dedicated member on an isolated fixture so the enabled Redeem state does not leak to shared mock data. +MOCK_TASK_10852_PROMOTION_CAPTURE_FILE=./fixtures/promotions.capture.10852.json +MOCK_TASK_10852_MEMBER_EBONUS=188 + +# LDAP mock (Simple Bind + Search) +MOCK_LDAP_ENABLED=true +MOCK_LDAP_HOST=0.0.0.0 +MOCK_LDAP_PORT=1389 +MOCK_LDAP_BASE_DN=dc=macausjm-glp,dc=com +MOCK_LDAP_MANAGER_DN=cn=s-cicd-app,OU=ServiceAccount,dc=macausjm-glp,dc=com +MOCK_LDAP_GROUP_BASE_DN=OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com + +# 开启后:LDAP 任意用户名/密码放行(用于前后端联调) +MOCK_LDAP_ALLOW_ANY_USER_MODE=true +MOCK_LDAP_ALLOW_ANY_USER_OU=OU=GLPUsers +MOCK_LDAP_ALLOW_ANY_USER_GROUP_CN=SG-APP-EWALLET-SUPER-ADMIN +MOCK_LDAP_ALLOW_ANY_USER_MAIL_DOMAIN=macausjm-glp.com + +# 留空表示 manager bind 允许任意密码(便于 Backend 仅改 LDAP_URL 即可接入) +MOCK_LDAP_MANAGER_PASSWORD= + +# Default LDAP user (used when MOCK_LDAP_USERS_JSON is empty) +MOCK_LDAP_DEFAULT_USER_SAMACCOUNTNAME=mock.user +MOCK_LDAP_DEFAULT_USER_DN=cn=mock.user,OU=GLPUsers,dc=macausjm-glp,dc=com +MOCK_LDAP_DEFAULT_USER_PASSWORD=mock-user-password +MOCK_LDAP_DEFAULT_USER_CN=Mock User +MOCK_LDAP_DEFAULT_USER_MAIL=mock.user@macausjm-glp.com +MOCK_LDAP_DEFAULT_USER_MEMBER_OF=cn=SG-APP-EWALLET-SUPER-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com + +# Optional JSON array to override LDAP users +# Format: +# MOCK_LDAP_USERS_JSON=[{"sAMAccountName":"alice","dn":"cn=alice,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"pass","cn":"Alice","mail":"alice@macausjm-glp.com","memberOf":["cn=SG-APP-EWALLET-SUPER-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]}] +MOCK_LDAP_USERS_JSON= diff --git a/fixtures/member.profile.json b/fixtures/member.profile.json index ef2eb60..d66605f 100644 --- a/fixtures/member.profile.json +++ b/fixtures/member.profile.json @@ -29,7 +29,7 @@ "firstName": "Gary", "lastName": "Chan", "middleName": "David", - "nickName": "xxxx", + "nickName": "陳加里", "image": "" }, "attribute": { diff --git a/fixtures/promotions.capture.80038008.json b/fixtures/promotions.capture.80038008.json index da18100..c471512 100644 --- a/fixtures/promotions.capture.80038008.json +++ b/fixtures/promotions.capture.80038008.json @@ -114,9 +114,9 @@ { "awardUsedLimit": 2, "awardsCount": 1, - "awardsEligible": 11, - "awardsEntitled": 11, - "awardsRedeemLimit": 11, + "awardsEligible": 3, + "awardsEntitled": 3, + "awardsRedeemLimit": 5, "earnedPoints": 25, "isDirectOffer": false, "isEligible": true, @@ -157,6 +157,8 @@ "deliveryMode": "USER_CHOICE" }, "bucketPrices": { + "d-comp": 10, + "m-comp": 10 }, "uniqueCodeRequirement": "NONE" } @@ -198,7 +200,7 @@ "source": "INTERNAL", "isVoidable": true, "isEnabled": true, - "prizeValue": 2000, + "prizeValue": 10, "prizeCategory": "NNPC", "usageBehavior": "TARGET_ONLY", "deliveryMode": "USER_CHOICE", @@ -207,6 +209,8 @@ "deliveryMode": "USER_CHOICE" }, "bucketPrices": { + "d-comp": 10, + "m-comp": 10 }, "uniqueCodeRequirement": "NONE" } @@ -231,6 +235,8 @@ "deliveryMode": "USER_CHOICE" }, "bucketPrices": { + "d-comp": 30, + "m-comp": 30 }, "uniqueCodeRequirement": "NONE" } @@ -255,6 +261,8 @@ "deliveryMode": "USER_CHOICE" }, "bucketPrices": { + "d-comp": 5, + "m-comp": 5 }, "uniqueCodeRequirement": "NONE" } @@ -279,6 +287,8 @@ "deliveryMode": "USER_CHOICE" }, "bucketPrices": { + "d-comp": 15, + "m-comp": 15 }, "uniqueCodeRequirement": "NONE" } diff --git a/mock_gateway.log b/mock_gateway.log index 06d7405..e69de29 100644 Binary files a/mock_gateway.log and b/mock_gateway.log differ diff --git a/runtime/redeemed-promotions.recorded.json b/runtime/redeemed-promotions.recorded.json index 215d9a6..a1ae9eb 100644 --- a/runtime/redeemed-promotions.recorded.json +++ b/runtime/redeemed-promotions.recorded.json @@ -1,2293 +1,4 @@ { - "updatedAt": "2026-10-12T09:36:02.726Z", - "accounts": { - "80038008": [ - { - "gamingDate": "2026-10-12", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-10-12T09:35:33.525Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1791797215, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_150", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "771ceb04-be19-4868-9d98-eefb1855795f" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-10-12T09:36:02.725Z", - "voidedGamingDate": "2026-10-12", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-10-12", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-10-12T09:29:57.020Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1791797204, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_150", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "a43b7e4f-3e83-4bec-b9e8-17cc26a4774c" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-30", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-30T06:40:12.337Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790749134, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "3327943f-f083-41f3-8d18-d6e342b091d8" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-30T06:50:40.102Z", - "voidedGamingDate": "2026-09-30", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-30", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-30T06:28:20.136Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790749132, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "b7893577-ea6b-4b66-a74c-3f08afd8e541" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-30", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-30T06:23:58.727Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790749130, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "a6aade9f-f90d-4eb1-b8b9-b604e4c929c8" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-30", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-30T06:22:52.638Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790749128, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "2e61a21b-7356-4ea0-b24f-d14065d978fb" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-30", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-30T06:15:45.234Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790748928, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "59da5bd1-4005-4836-a334-5e9c981e5694" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-22", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-22T03:21:39.099Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790046612, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "6d33d329-3577-44b7-8d12-6de7639ff130" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-22", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-22T03:17:34.899Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790046604, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "6e60c7b0-9e57-4a7c-9588-7d5f1948a4f8" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-22", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-22T03:16:53.820Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790046600, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "43d8511a-0c69-41f8-860d-5b7b4d6bab99" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-22T03:20:12.292Z", - "voidedGamingDate": "2026-09-22", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-22", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-22T01:38:19.444Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790040054, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "67fdc0d3-83cf-40da-ab79-819353b73347" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-22T01:39:17.522Z", - "voidedGamingDate": "2026-09-22", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-22", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-22T01:24:00.070Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 3, - "redemptionId": 1790040043, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "c01850ca-acdc-4fe4-a915-c3d4b69aec34" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-22T01:27:24.397Z", - "voidedGamingDate": "2026-09-22", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-22", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-22T01:23:24.060Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1790040039, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "76f31b24-135d-4040-ab88-7d8e2a7ca885" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-22T01:24:14.096Z", - "voidedGamingDate": "2026-09-22", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T11:48:07.927Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 10, - "redemptionId": 1789987683, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "6a3eb99a-7246-4d1a-b597-004a3cbe2b45" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T09:02:00.141Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789980247, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "13d2821c-bfd4-43de-86b8-e71a1506dce4" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T07:13:48.760Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 10, - "redemptionId": 1789974819, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "0d68f6d2-27cf-43e5-8570-deb739122005" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T06:28:43.017Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789972106, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "e4057741-2407-4756-9411-a56943730aad" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-21T06:29:11.482Z", - "voidedGamingDate": "2026-09-21", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T06:28:14.822Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789971148, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "021094e9-a31b-4f9c-8c01-beeefab49168" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-21T06:33:06.598Z", - "voidedGamingDate": "2026-09-21", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T03:42:12.414Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 5, - "redemptionId": 1789962082, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "e50e2aef-36aa-40a1-aa3a-89ce8f62a97c" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T02:40:34.264Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789957331, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "467a30b3-f95c-4c66-a172-65daab86c52f" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-21T02:50:47.093Z", - "voidedGamingDate": "2026-09-21", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T02:22:23.899Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789957321, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "65a98d69-e08e-485d-9e75-db4f8a530f80" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-21T02:26:06.256Z", - "voidedGamingDate": "2026-09-21", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T02:18:58.348Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789956767, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "5be04297-71c6-467c-9454-758e58c9ccd1" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-21T03:08:45.646Z", - "voidedGamingDate": "2026-09-21", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T02:13:31.784Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789956764, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "ac411033-f8bd-4fb7-800f-68b79b85fc77" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-21T03:08:35.554Z", - "voidedGamingDate": "2026-09-21", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T02:07:54.130Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789956455, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_150", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "ec951127-db57-4a3f-b6cf-bd0d68ed6fbb" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T01:53:48.213Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789953647, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "it_fb_100", - "outcomeType": "PRIZE", - "prizeCategory": "FnB", - "transId": "d52dbbcd-1e97-4e1d-9767-281102cff67e" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-21T02:06:53.072Z", - "voidedGamingDate": "2026-09-21", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-21", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-21T01:52:25.881Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice C - choose 1 from 10 prizes", - "prizeRuleId": 3803801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-C", - "promotionId": 38038, - "redeemedQty": 1, - "redemptionId": 1789953642, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "lp-ee-peg-jul2021-w1-3500eb", - "outcomeType": "PRIZE", - "prizeCategory": "eBonus", - "transId": "c368f96c-8ce7-4d0d-a42b-b7ee41f96d11" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-21T01:53:09.009Z", - "voidedGamingDate": "2026-09-21", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-18", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-18T09:56:20.094Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789724427, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "dfa5dcaf-c5d8-46fe-9cb7-57a035d79061" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-18", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-18T09:40:35.551Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789724419, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "5ba6cb90-87cf-42ae-884a-1189a5c875c8" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-21T01:48:46.075Z", - "voidedGamingDate": "2026-09-21", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-18", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-18T07:58:23.412Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789718287, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "55c5eef7-621b-439d-a005-fafc7e68c438" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-17", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-17T02:21:17.195Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789610141, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "3c7cd974-ec60-4e56-9800-a669e40ab189" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-17", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-17T02:15:34.198Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789610137, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "db17c6e7-e76c-45f0-b877-f83b63e2c0d0" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-17T02:20:26.831Z", - "voidedGamingDate": "2026-09-17", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-16", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-16T09:00:57.162Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789549242, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "3b66d129-1cdd-447b-8cdc-59244a572af0" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-16", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-16T09:00:22.130Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789548973, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "15089993-542b-49b7-8178-344003d737f0" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-16", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-16T08:59:50.359Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789548971, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "13c70ff9-f5a9-42e1-bea3-dbfa1f091ce9" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-16", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-16T08:56:24.056Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789548968, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "dc5f0189-a63d-42c5-bf09-4c56ad354cde" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-16", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-16T08:54:51.422Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789548813, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "8e6dbe7d-1a81-4897-887d-cdf094f3a32c" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-15", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-15T01:43:29.028Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789436410, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "94a2c91f-35a1-4277-8e63-0587da0e4bea" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-15T02:25:32.450Z", - "voidedGamingDate": "2026-09-15", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-14", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-14T10:07:50.549Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1789380459, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "3e24d7da-2899-4a84-8edc-2e0f560b511c" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-14T10:12:46.607Z", - "voidedGamingDate": "2026-09-14", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-09", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-09T05:06:32.945Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788930355, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "a5f2a1ba-e02c-4cc0-9937-2a43ecda1e41" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-08", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-08T03:46:06.282Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788838754, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "0de2dab6-6a4a-41d5-980d-5288eaadd7bb" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-08", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-08T01:51:50.694Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788832285, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "56fdd911-0eac-4eb2-b9dd-4ec7b5b68bf1" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-07", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-07T09:31:33.724Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788773242, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "2166856f-9f41-4ecc-93d4-54574df908cf" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T10:16:40.128Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788342993, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "5055421b-a322-4e71-8a7e-052d16f7e445" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-07T07:35:03.423Z", - "voidedGamingDate": "2026-09-07", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T10:05:06.600Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "view-localhost", - "ipAddress": "127.0.0.1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788342989, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "55a3100a-20ab-41de-8a48-5fdf220eed09" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-03T02:12:55.853Z", - "voidedGamingDate": "2026-09-03", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T09:54:14.128Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788342740, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "5e554dfe-f2f6-4b62-bbc8-f64c60a9833b" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:41:50.178Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788331023, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "911cd3ab-c414-4a99-af0a-5144a70bb685" - } - ] - }, - "outcomeAward": null, - "voidedBy": "admin", - "voidedDtm": "2026-09-02T10:16:45.706Z", - "voidedGamingDate": "2026-09-02", - "voidedRemark": "Mock voided redeemed promotion", - "displayOnlyPromo": false, - "isVoided": true - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:37:45.772Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "view-localhost", - "ipAddress": "127.0.0.1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788331021, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "e2806302-ddbf-46d7-ada6-3b334f371f74" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:34:14.356Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327976, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "9614a371-b729-48fc-84ca-5dc3478d137c" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:32:59.007Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327975, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "f01998a6-4d2f-4e35-81fb-59611ae6aa03" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:32:14.551Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327974, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "14189c72-3a61-417a-85ea-ea4761964950" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:31:27.351Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327973, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "1b7d42c6-a6e5-4a47-a010-848825b3fbcd" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:30:39.938Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327972, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "14126a15-fa5d-4508-bccb-0d9fabf3a79b" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:30:21.876Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327971, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "4f096bb6-6298-4d96-b9a7-97fb26dc2ad8" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:28:33.045Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327970, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "23d2460b-7b22-4e6f-855f-8396447317ab" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:27:52.137Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327969, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "d8185c49-8265-4130-ab84-e6ed8d3fbbdd" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:26:54.508Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327968, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "430b1e8b-145d-4a37-b3b3-cbf480e97bde" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T06:26:13.927Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788327967, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "5015fe41-0548-4e99-b76e-a2a6e3b1ad2d" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T05:13:11.071Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788325148, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "6271109e-4b1c-41c8-ab24-7099bf25aa31" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T05:12:43.450Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788325147, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "7f8e1db8-dc58-46a4-9632-f073751ac190" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T05:11:38.920Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788325145, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "d29dad4e-4cf4-4dfb-9676-d925e9aba219" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T05:04:29.147Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788325141, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "034ba127-e9bd-4b50-ba19-fd3ec23866b1" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T05:03:54.957Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788325138, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "27ef8da5-f9f6-4064-9a97-5805f8a3987d" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T05:01:35.305Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788325135, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "ff0a40fd-1908-4ceb-a2b6-bd736f89703d" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T05:01:08.984Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788325132, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "ceac0fe0-0a8f-4cdf-a331-1fd73f576e96" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T04:59:52.148Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788325129, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "cbedcd72-663a-4098-a96d-78e052b40ccb" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - }, - { - "gamingDate": "2026-09-02", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-02T04:32:25.996Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "Mega Choice A - choose 1 from 10 prizes", - "prizeRuleId": 3801801, - "promotionCode": "PROMO-MEGA-CHOICE-2026-A", - "promotionId": 38018, - "redeemedQty": 1, - "redemptionId": 1788323514, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "nn-test-package-nnpc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "ef148ffc-c7ad-41fb-a258-b219c08a61fa" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - } - ], - "800038008": [ - { - "gamingDate": "2026-09-16", - "normalPromo": true, - "postedBy": "admin", - "postedDtm": "2026-09-16T04:10:48.811Z", - "casinoCode": "GLP", - "locationCode": "GLPBOOTH", - "computerName": "0:0:0:0:0:0:0:1", - "ipAddress": "0:0:0:0:0:0:0:1", - "prizeRuleCode": "CNYGS-388pts-Moutai 200ML + $1,000 NP/EB", - "prizeRuleId": 71768029, - "promotionCode": "LP-EE-CNYGS26", - "promotionId": 71768004, - "redeemedQty": 1, - "redemptionId": 1789528452, - "remark": "Mock redeemed promotion detail", - "outcome": { - "redeemedList": [ - { - "outcomeRemark": "lp-ee-cnygs26-388pts-1000-pc", - "outcomeType": "PRIZE", - "prizeCategory": "NNPC", - "transId": "a1b9ce70-9a4a-4960-b9a2-e4cf110f9543" - }, - { - "outcomeRemark": "lp-ee-cnygs26-388pts-1000-eb", - "outcomeType": "PRIZE", - "prizeCategory": "eBonus", - "transId": "a1b9ce70-9a4a-4960-b9a2-e4cf110f9543" - } - ] - }, - "outcomeAward": null, - "voidedBy": "", - "voidedDtm": "", - "voidedGamingDate": "", - "voidedRemark": "", - "displayOnlyPromo": false, - "isVoided": false - } - ] - } + "updatedAt": "2026-09-18T09:15:11.641Z", + "accounts": {} }