1144
If the customer has a pathway to SIMO, then display 'Customer is most likely to move to a SIMO'
If the customer has a pathway to Handset, then display 'Customer is most likely to move to a Handset'
Update Strategy-IdentifySegmentStrategyforSubscription
Set SegmentStrategyMessage
If the customer is in segment strategy grow, then display the wording 'Grow using data'.
If customer is in segment strategy retain, then display the wording 'Keep on same data'
If customer is in segment strategy save, then display the wording 'Most likely offer'
Update Strategy-GetRecommendedDevice
Set DeviceMessage
If there is a device in the recommendation, then display 'The device recommended is most likely device from Big data'
Update Strategy -CalculateUpgradeDeal
update InputForRecCal
set PathwayMesage from PickBestPathway

Update Strategy-DecomposeRecommendation
For Tariff
CostExVAT=RecommendedTariffMafExVaT
EntertainmentFlag=RecommendedTariffEnternainmetFlag
RoamingFlag=RecommendedTariffRoamingFlag
For Discount
CostExVAT=.RecommendedDiscount
Integrate to GetRecommendation API Spec
Update Strategy- CalculateDeal
Makes sure the all attributes needed form service spec is populated from   CalculateUpgradeDeal strategy to related treatments , add
missing one.
Update Strategy -PopulateOutputPropertiesForIBCC
Add a new path for Primary.Context(ExecutionMode) = "NBAA"
Make Sub strategy call  to PopulateOutputPropertiesForNBAA
New Strategy-PopulateOutputPropertiesForNBAA
This strategy will create related SR list according to Spec.
Spec Details & mapping


1145

Update Strategy -SetIHForInboundCC
Set CaseID from context CaseID parameter & feed to IH.
Update DF - IdentifyBestIBCCTreatments
Filter out the records with ResponseType = Reco,Offer,Qualifier,Reward (those records will not be feed to IH)
GetRecommen …
20 Apr 2021, 02:28 PM.0.xlsx


1146
Assisted Upgrade-Validate Basket

HL Requirements
Some actions user does on UI during the Edit deal, require validating the product in basket or re calculating the post S15.
A new API between VADR & AOM will serve this validation.
VADR will push latest basket details & latest action on UI , AOM will validate basket & return error message /  status for each product.

Assumption
UI will remove Addons/Discounts from the basket before making call to AOM , latest basket information will not contain
Addons/Discounts.
New DF -ValidateBasket
This DF will be triggered from API360479 Selected Deal: Delete a device
360580 Selected Deal: Add a Device
360581 Selected Deal: Swap a plan for a plan with no auto added product
360598 Selected Deal: Swap a plan for a plan with auto added product
360662 Selected Deal - Enrichment Icon
333643  360577 Selected Deal: Swap a Device


1147
New Strategy-ValidateBasket

This strategy will use basket details as input & Latest action details and validate related product in basket.
Output of the logic should be the same basket enriched
Status & Status details updated according to validation rules
PostS15 is recalculated
VF Together offers attached (if eligible)  (Not in 2.5 scope)
Identify Operation
SecondaryContex & Product Type information give details of th recent action
Set Operation= SecondaryContex+Product Type
Import Basket details (LineItems) from subscrition class.
Line items has hierarchical structure
Tarif & Handset will be parent line items
Addon & Discount will be child of Tariff
Decompose Basket details according to Product type
Validating Handset (Loan)
If tariff is changed with a tariff 12 month tenure  logic should make sure Maxtenure of the handset loan should be set to 12 month (12
month business rule > a handset loan can not be longer than tariff tenure in case of 12 month tariff)
Status Message = “Device must be paid back within 12 months with the selected tenure”
Validating Tariff
If handset in basket changed or a new handset is added logic should validate if the tariff in the basket is compatible with latest
handset.
Reuse EvaluateTariffToHandsetCompatibility strategy to validate (make sure related attributes set before calling strategy)
If the Tariff in basket is not compatible with handset in basket
Set Status=INCOMPATIBLE
Set StatusDetail=”The tariff is not compatible with the Selected Deal”


1148
Recalculating PostS15 & DeltaS15
 With existing scope changing the tariff will require recalculating the Post S15 (Operation =SwapTariff)
PostS15 = Tariff Cost Ex Vat ( LineItems.PriceExcludingVAT)- Entertainment Cost (if tariff group contains “Entertainment” expression,
cost sourced from business config) - Total Discount (LineItems>ChildItems>PriceExcludingVAT, there can be multiple discounts) +
Total Addon  Cost Ex Vat (LineItems>ChildItems>PriceExcludingVAT, there can be multiple addons)
Source PreS15  from GetCurrentTariffDetails strategy
Set S15PostMAFDelta=PostS15-PreS15
Populate Output Properties (PopulateOuputPropertiesforValdiateBasket)
Output of the Validate basket has similar pattern of  GetRecommendation ,but with limited attributes in the output.
Each product will be presented with n different SR records.
Related attributes should be set according to spec.Including Index & ParentProductID attributes to create hierarchy.
Recommendation  (ResponseType=Reco) records is additional row to basket information. Which will carry  deal details.
Spec Details :https://vodafone.sharepoint.com/:x:/r/sites/AoMProgramme/_layouts/15/Doc.aspx?sourcedoc=%7BA1CBEAF1-A76
C-4868-B1E0-C65195269407%7D&file=ValidateDeal.xlsx&action=default&mobileredirect=true -

Connect your OneDrive account


1149
Release 2.6


1150
Assisted Upgrade -Promos

HL  Requirement
Current Auto Added Product control & calculation is done with available data in PC.  Exiting filters 100% does not satisfy those products
are part of promo..
With 2.6 we will have more PC data to identify Tariff has promo attached to it & which products are part of this promo
Using this data GetRecommendantion & GetProductList will serve more accurate data.

Assumption
Promo banner in edit mode is refreshed by UI according to user action on record.
Update on Getting Promo Data & Details
Update Strategy -GetListofActiveTariffs
Update D_EligibleTariffsForDept data page to include PROMOTION_IND,PROMOTION_START_DT,PROMOTION_END_DT333650 Promo Indicator
380772 Promo Banner
333656 Promo Reporting
333651 Promo in Edit
333655 Promo Edit the Promotional Discount
381868 Promo: Update Pick & Mix to use the promo flag from the Product
Catalogue
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes  Update Data pages to include promotion
indicator &  dates on
D_DiscountsForTariff,D_ServicesForTariff
,D_Tariff
DB No  A r e a Y e s / N o C o m m e n t s


1151
Set RecommendedTariffHasPromotion = True if PROMOTION_IND =True (value is TBC)  & promotion is active (according to start & end
date)
Update Strategy - IdentifyAutoAddedDiscounts,IdentifyAutoAddedAddons
Rename strategies as IdentifyPromotinalDiscounts,IdentifyPromotinalAddons
Run promotional Discount/Addon data retrieval only for tariff records RecommendedTariffHasPromotion=True. (accessing
D_DiscountsForTariff,D_ServicesForTariff  part)
Update on discount/addon data  retrieval (done for better performance)
Update D_DiscountsForTariff data page to populate Amount,Type,Duration
Update Set Discount Details , remove access to D_Discount ( as already populated  from D_DiscountsForTariff)
Update D_ServicesForTariff  data pages to populate VATCode,CostIncludingVAT
Update Set Service Details,remove access to D_AccountService( as already populated  from D_ServicesForTariff )
Update “Identify Auto Added “ filter ,  Add PROMOTION_IND = True (value is TBC) condition to exiting conditions)
Update all the strategies referencing old name & withdrawn the old one.
Update Strategy GetAutoAddedAddonsListDetails,GetAutoAddedDiscountsListDetails
Rename strategies as GetPromotionalAddonsListDetails,GetPromotionalDiscountsListDetails
Update on discount/addon data  retrieval (done for better performance)
Update D_DiscountsForTariff data page to populate discount details
Update Set Discount Details , remove access to D_Discount ( as already populated  from D_DiscountsForTariff)
Update D_ServicesForTariff  data pages to populate service details
Update Set Service Details,remove access to D_AccountService( as already populated  from D_ServicesForTariff )


Update “Identify Auto Added “ filter ,  Add PROMOTION_IND = True (value is TBC) condition to exiting conditions)
Update all the strategies referencing old name & withdrawn the old one.
Update Strategy- GetProductDetailAndEvaluateCompatibility
Set RecommendedTariffHasPromotion = True if PROMOTION_IND =True (value is TBC)  & promotion is active (according to start & end
date)
Make call to GetPromotionalAddonsListDetails,GetPromotionalDiscountsListDetails only if RecommendedTariffHasPromotion=True
Outputting Promo Details
Update Strategy -PopulateOutputPropertiesForNBAA
For LineItem-Tariff records, set Classification =”PROMOTION” if RecommendedTariffHasPromotion =True
For ChildItems (Addon/Discount) set Classification =”PROMOTION”  if AutoAdded=true
Update Strategy-PopulateOutputPropertiesForTariff
For LineItem-Tariff records, set Classification =”PROMOTION” if RecommendedTariffHasPromotion =True
For ChildItems (Addon/Discount) set Classification =”PROMOTION” for auto added childs


1152
Reporting
Extend IH Reporing
Logic will make the data ready,storing data will be addressed to deal details.
Update Strategy CalculateDeal
Set IsPromo=Y (if Product Type = Tariff  and RecommendedTariffHasPromotion=True) or (if Product Type = AddOn or Discount  and
AutoAdded=True)
 IsPromo Char(1) Y/N


1153
Assisted Upgrade-Query Eligible VF Together Offers

HL Requirement
VT Together offers are discounts that customer can get incase of specific tariff or products they have if they have HBB line on their
account.
Those rules are configured in Siebel  & feed to AOM through offer catalog spines.
Platform team has already created a  data page to calculate which VF Together offers customer can get , if customer change their tariff
to a specific tariff .
Requirement is to output VF Together offer details , VF Together qualifiers details & VF Together reward details for each tariff
recommended  from AOM .
New Strategy -GetEligibleVFTogetherOffersforAccount
 358473  VF Together Recommendation Processing
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes  New Function to provide details if customer
has HBB on account.
Update on D_CalculatedOffersForUpgrade,
add new attributes Category, Description
Add Offer Description attribute to
GetRecommendation output. (with in offer
section)
DB No  Area Yes/No Comments


1154
This strategy is to query eligible VF Together offer details for list of recommended tariffs
Input = List of Recommended Tariff Ids for each position  (RecommendedTariffCode,RecommendedPosition)
Check if Customer has an HBB Account
Use XXXXXX function to query it
If Customer does not have HBB Account  > return no record
else  Query D_CalculatedOffersForUpgrade data page  for each RecommendedTariffCode
Input : Upgrading MSISDN, Account Number,(coming from context)
Department, Channel, TariffId
Output : List of VT Together Offers customer eligible , with details of which subscription get  a reward which subscription is the
qualifying line. (Qualifier List)(Customer may have Multiple Reward/Qualifying lines for same offer)
Populate Sr attributes  from data page  according to example in below.  (SR attributes are the ones need service spec)
Set RecommendedTariffCode = with the tariff query is made

1111
48Y HBB1 OFF10001
9DistinctATL Vodafon
e
Together
Â£3
Handset2 Y Combi  111377
1113
77N UpgradingLine OFF10001
9DistinctATL Vodafon
e
Together 1 N Combi  111377Pro
moti
onID
(Tarif
fId)Re
war
dInd
icat
orAssetIntegrationI
dCombiOffe
rIdOfferTy
peOfferVisibil
ityOfferNa
meQualif
yingC
riteriaI
D(Off
erQua
lifierId
entifie
r)RewardI
ndicatorCategory OfferDesc
riptionRecom
mende
dTariff
Code


1155
Attach offer details to recommendation (on RecommendedTariffCode)
Output Of Strategy (Example)Â£3
Handset
111
148Y HBB1 OFF1000
19Distin
ctATL Vodafo
ne
Togethe
r Â£3
Handse
t2 Y Combi  1113771
111
377N UpgradingLine OFF1000
19Distin
ctATL Vodafo
ne
Togethe
r Â£3
Handse
t1 N Combi  1113771
111
148Y HBB1 OFF1000
19Distin
ctATL Vodafo
ne
Togethe
r Â£3
Handse
t2 Y Combi  1113772
111
377N UpgradingLine OFF1000
19Distin
ctATL Vodafo
ne
Togethe
r Â£3
Handse
t1 N Combi  1113772Pro
moti
onI
D
(Tari
ffId)Re
war
dIn
dic
atorAssetIntegratio
nIdCombiOff
erIdOfferT
ypeOfferVisib
ilityOfferNa
meQuali
fying
Criter
iaID(
Offer
Quali
fierId
entifi
er)Reward
Indicato
rCategory OfferDesc
riptionRecom
mende
dTariff
CodeRecom
mende
dPositi
on


1156
Update Strategy-PopulateOutputPropertiesForNBAA


1157
For ProductType=Tariff , make sub strategy call to GetEligibleVFTogetherOffersforAccount
Use the output of the strategy and make call to below sub strategies.
SetOutputPropertiesforVFTOffers
SetOutputPropertiesforVFTQualifierData
SetOutputPropertiesforVFTRewardData
New Strategy-  SetOutputPropertiesforVFTOffers
Input > List of VF Offer & qualifier details for account (for each RecommendedTariffCode,RecommendedPosition)
Filter Qualifier List AssetIntegrationId =”Upgrading Line “
Set ResponseType = Offer
Set Index = RecommendedPosition (This will indicate result is related to that position)
New Strategy-SetOutputPropertiesforVFTQualifierData
Input > List of VF Offer & qualifier details for account (for each RecommendedTariffCode,RecommendedPosition)
Set ResponseType = Qualifier
Set AssetIntegrationId = ““  if it is Upgrading Line  ( Data page return is as “Upgrading Line” as indicator for upgrading one rows, as
AssetIntegrationId is null for upgrading set it as blank for fulfilment)
Set Index = RecommendedPosition (This will indicate result is related to that position)
Set ParentIProductID =CombiOfferId


1158
New Strategy -SetOutputPropertiesforVFTRewardData
Input > List of VF Offer & qualifier details for account (for each RecommendedTariffCode,RecommendedPosition)
Group by input data Qualifier List on  CombiOfferId +QualifyingCriteriaID
Query D_EligibleCombiBundleQualifierReward  for each CombiOfferId +QualifyingCriteriaID combination
Input: OfferID ,QualifyingCriteriaID
   Output : List of rewards that the offer gives for  QualifyingCriteriaID
Populate
NewCoid (Product id of the reward) from data page.
Set ResponseType = Reward
Set Index = RecommendedPosition (This will indicate result is related to that position)
Set ParentIProductID =CombiOfferId

Example SR List for VF Together details

Assumptions  :

VF Together Offer  indicator  &  “More Info Section”
VF Together offer details of the new tariff is provide with offer  section >  UI use this  information & Shows VF Together logo & VF
Together offer details.
If customer loose existing VF Together offer  upgrading to new tariff, related message is shown on UI.

Storing VF together details  > postponed it until to the deal details storage decision.


1159
Assisted Upgrade-Display VF Together in the Tariff List in the Edit Tariff Tab
HL Requirement
Edit Deal Tariff Tab has an indicator on UI to highlight if Tariff presented on UI has VT Together offer attached to it . > this does not mean
customer can get.
GetRecommendation logic also should populate this attribute for recommended deal details, so UI can populate this flag when
presenting item in basket in Tariff list (Edit Deal mode)

Update  Strategy -GetListofActiveTariffs
Configure D_EligibleTariffsForDept to output CanQualifyVFTogether  attribute
Populate  IncludesCombiBundleOffer sr attribute from data type CanQualifyVFTogether attribute
Update Strategy-EvaluateTariffVisibility
Populate  IncludesCombiBundleOffer sr attribute from D_EligibleTariffsForDept CanQualifyVFTogether attribute

Update Strategy-CalculateDeal
Map IncludesCombiBundleOffer  attribute from CalculateUpgradeDeal

Update  Strategy -PopulateOutputPropertiesForTariffList & PopulateOutputPropertiesForNBAA
Set IncludesCombiBundleOffer=true if   D_EligibleTariffsForDept > IncludesCombiBundleOffer =True and if customer has HBB on
their account (Function provide by appteam) else false.
 358839  Display VF Together in the Tariff List in the
Edit Tariff Tab
PM Tool KT Documentation No
Knowledge Transfer No
App Yes update data page
 D_EligibleTariffsForDept
add new attribute
IncludesCombiBundleOffer.
DB No  PM Tool No


1160
Assisted Upgrade -Validate Basket VF Together Details

HL Requirement
If user change a tariff in selected deal VT Together offers eligibility should be re calculated.
Validate Basket output data will include  VF together offers details (which is part of upgrading line)
Update Strategy -PopulateOutputPropertiesforValidateBasket
This strategy will return list of eligible VF together offers,  qualifying/reward line details and reward details
If customer moves to tariff in the basket
And customer has Hbb
Add a new path  “ProductType=Tariff” , make sub strategy call to GetEligibleVFTogetherOffersforAccount
Use the output of the strategy and make call to below sub strategies.
SetOutputPropertiesforVFTOffers
SetOutputPropertiesforVFTQualifierData
SetOutputPropertiesforVFTRewardData
 358849  Editing a Recommendation and selecting a
tariff not eligible for VF Together reward
discount
358854  VF Together Edit Processing358845  Editing a Recommendation and updating the
VF Together


1161
Assisted Upgrade-Using GPSL for Current Product Price

HL Requirement
Current logic in assisted upgrade use product catalog price data for current products. (Tariff /Addon)
Customer may have different price than PC data, correct approach is to consume from GPSL which give the current price of the product.
Currently GPSL does not provide Discount amount, login will use PC data to get discount amount. (as is remains)

Update Strategy -GetCurrentTariff
Set CostIncludingVAT of Tariff from GPSL
Import ProductRoot
Get  Child Items of “Mobile Service”
Filter F u l l f i l m e n t I t e m C o d e=Bundle
Query Product Id from ProductReference data page , get product_desc_3 value.
Filter the records product_desc_3=”Line Rental”
Get price from Adjusted List Price attribute from child item.
This price is  excluding VAT, calculate the price including VAT.
Update Strategy -GetAddonList
Set AddonCost from GPSL Adjusted List Price
This price is  excluding VAT

 375401 Using the current product holding pricing from GPSL
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes  Provide price information for child product
data
DB No  A r e a Y e s / N o C o m m e n t s


1163
Assisted Upgrade -Calculate Device Loan S15 Benefit

Update for Logic Recommendation
Update Strategy -GetRecommendedDevice
Populate HandsetCost,Handset Loan Price from PC Device data page . (Prices inc Vat)
Calculate Price Ex Vat for HandsetCost,Handset Loan
Set  Uplift Cost = HandsetCost Ex VAT  * 7% (define percentage as  an AOM business config data Uplift Ratio)
Set DeviceLoanS15Benefit=(Handset Loan Price Ex VAT )-(HandsetCost Ex Vat + Uplift Cost)

Update for Commercial Recommendation
Update Strategy - EvaluateHandsetCompatibility
D_EligibleHandsetsForTariff  ,Update data page read handset details from data page (all details in GetHandsetLoanDetails should be
mapped in this strategy.)  (done for performance)
Populate HandsetCost,Handset Loan Price from PC Device data page .
Calculate Price Ex Vat for HandsetCost,Handset Loan
Set  Uplift Cost = HandsetCost Ex Vat * 7% (define percentage as  an AOM business config data Uplift Ratio)
Set DeviceLoanS15Benefit=(Handset Loan Price Ex Vat )-(HandsetCost ex Vat+ Uplift Cost)
Update Strategy- GetProductDetailAndEvaluateCompatibility
Remove GetHandsetLoanDetails  as it is addressed to EvaluateHandsetCompatibility
 375403 Calculate the S15 Element of the Device Loan to include in the
reporting
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes IH reporting extension
DB Yes IH reporting extensionr e a Y e s / N o C o m m e n t s


1164
Update for Reporting
Update Strategy- CalculateDeal
Populate DeviceLoanS15Benefit attribute from CalculateUpgradeDeal only for ProductRecommendationType= Handset rows.  (will be
used to populate IH)

IH Extention
Logic will make the data ready,storing data will be addressed to deal details.DeviceLoanS15Benefit Decimal


1165
Assisted Upgrade-Early Upgrade Tariff Tenure Rule

HL Requirement
Requirement is to block tariff upgrade with an  tariff which is not extending customer existing contract end date with VF.

Update Strategy -GetListOfBDCandCatalogTariffsForPickNMix (for Logic Reccomendation )
Filter out the tariffs form PC  which are not extending customer contract
Recommended Tariff Tenure*30>=-1*(Today-Contract Endate)
Update Strategy* T4 Logic
Filter out the tariffs form PC  which are not extending customer contract
Tariff Tenure*30>=-1*ContractDue
Update Strategy- CalculateUpgradeDeal
Update “Set Input For Logic”
Check if  RecommendedTenure is extending customers Contract Endate.
if  RecommendedTenure*30<-1*(ContractDue) Set  RecommendedTenure= -1.
Update Strategy- IdentifyCommercialRecommendations
Additional filter on output  of EvaluateCommercialRecforEligiblePathways  on tenure
Select tariffs which are extending customer contract
Tariff Tenure*30>=-1*ContractDue
Update Strategy -GetTariffList
After “Select Handset only or SIMOAndHandset Tariff” switch
Make Sub strategy call to GetCurrentTariff and populate PreS15Maf,CustomerType,ContractDue (With reference)
Select tariffs which are extending customer contract
Tariff Tenure*30>=-1*ContractDue
update references to “Select Handset only or SIMOAndHandset Tariff” with new filter shape.
Update Strategy -ApplyTariffMAFRules
Remove call to GetCurrentTariff, keep “Set properties” component  (as it PreS15Maf,CustomerType,ContractDue is populated in upper


strategy)375412 Edit: Tariff List Very Early Upgrade Tariff Tenure rule375408 Recommendation Very Early Upgrade Tariff Tenure Rule


1167
Assisted Upgrade -Edit Deal Addons

HL Requirements
New logic component to identify list of Addons to present on UI
Validate basket according to actions on Addon tab.
Validate if addons in the basket compatible with recently added Addon
If an addon deleted & customer is in early upgrade make sure S15 still grows.
If an addon added / deleted re calculate the Post S15 (enrichment icon)

Changes for GetProductList
Update Strategy-GetProductList
Add new strategy call GetAddOnList343133 Edit Deal: UI for Add On
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes Provide Recently Added Product ID on
Valdiate basket request Add Category to
GetProductList output
Change on D_InCompServiceIdsForService
DB No
U I Yes New UI
Remove Basket data from  the list coming
from UI
Append Basket data to the top of  the list
coming from logic

 Area Yes/No Comments


1168
New Strategy -GetAddOnList

Query D_ServicesForTariff data page with Tariff in basket  & Agent’s department  to get list of Addons sellable.
Populate Addon data to present on UI & need for logic flow (Configure D_ServicesForTariff  with listed attributes)
Name
Product fulfilment code (ProductCode)
ServiceGroup3 (Category)
CostIncVAT (Price)
Promo_Indc
RelationshipType
DefaultInd
RexAutoAddInd
VatCode
Duration
Data
Filter out the insurance records ->Servicegroup3!=”Insurance”
Filter Out Auto Added Products  ->
Auto added Optional ones  →   !(.RelationshipType="O" && (.DefaultInd="Y" || .RexAutoAddInd="Y"))
Auto added Mandatory ones →  ! RelationshipType="M"
Sorted by ‘Category’ in alphabetically order and then by cost putting the most expensive first.
Make sub strategy call to PopulateOutputPropertiesforAddon

New Strategy -PopulateOutputPropertiesforAddon
Set attributes need for output
ResposeType=Item
Index =pxRank
Position Posistion to Order by in the UI RankPosition populate from pxRank
ProductId Product Identifier & SKU Code ProductCode Product fulfilment code
from PC
ProductName Product Name ProductName NameSpeck Attribute Description SR Attribute What to populate


1169
 from PC
ProductType Type of Product ProductRecommendation
TypeAddon
PriceIncludingVAT  CostIncludingVAT CostIncVat from PC
PriceExcludingVAT  CostExVAT CostIncVat-
(VatCode*CostIncVat)
VATAmount  VATAmount CostIncludingVAT-
CostExVAT
PriceType Type of the Amount/Payment.
LoV:
ONE_OFF_COST
MONTHLY_RECURRING_COST
TOTAL_COST
DISCOUNTPriceType MONTHLY_RECURRIN
G_COST
DisplayName Display Name for Product Line DisplayName Name
from PC
Data Amount of Data within Plan Data Data
from PC
Tenure Tariff/Device Tenure in Months Duration Duration
from PC
Category   ServiceGroup3 from PC


1170
Changes for Validate Basket


1171

Update Strategy -ValidateBasket
Addon Path
If Operation is “Add AddOn” ->
Make Sub strategy call to EvaluateServiceToServiceCompatability  (Populate Recently Added ProductID to input , it will be
available in request as a new property )
else ->no action pass all the records
Post S15 Calculation >
Recalculate PostS15 if Add AddOn or Delete Addon
Include Addon cost to post S15 > if Addon Classification !=”PROMOTION” check if included in S15 calculation
(NetMafAddonListConfig) else do not check flag include in cost
New Strategy -EvaluateServiceToServiceCompatability
Enable External input
Input
List of Addons in the basket  (including recently added  addon)
Query D_InCompServiceIdsForService with Agent’s department & Recently added  addon product code
Output > list of incompatible services
Mark Addons in the input if they are available in incompatible service list.
Set Status = Incompatible
Set Status Details =?
If there is any matching record mark recently added  addon as Incompatible as well.


1173
Assisted Upgrade-Setting Card Title

HL Requirement
Card Title of the recommendation should be set to Device Name (if available) + Tariff Name in initial load
Any action on Device & Tariff should update the title.
Update Strategy- PopulateOutputPropertiesforNBAA
Update Group By Rec Position > Set RecommendationName > Device Name (if available) + Tariff Name  ( Use product type  to
understand Tariff / devices & set accordingto )
Update Strategy- PopulateOutputPropertiesforValidateBasket
RecommendationName > Device Name (if available) + Tariff Name (for Response Type =Rec, check Item data for tariff / handset data &
populate )
 381801 Edit Deal: Updating the Edit Deal Card Title
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes Adding RecommendationName to ouput of
Valdiate basket
DB No
UI Yes Trigger Vaidate basket for Delete Device &
consume card title from output & update the
screen according toA r e a Y e s / N o C o m m e n t s


1174
Assisted Upgrade -Update Upsell Discount Calculation

Update Decision Data -AssistedUpgradeUpsellDiscountConfig381449 Upsell: Extend the SIMO to SIMO Upsell logic to cover all journeys
381783 Upsell: Being able to use the Upsell Discount based on the Team
381786 Upsell: Being able to include or exclude tariff(s) from the Upsell
Discount calculation381361 Upsell: Update the As Is SIMO upsell to use S15 Net MAF
PM Tool Yes   Change to Upsell configuration screen &
destination dataset (has another us)
PM Tool KT Documentation No
Knowledge Transfer No
App No
DB No  Area Yes/No Comments
FromCustomerType(New)   PaymSIMO/PaymHandset"/Pay
mLoan
ToCustomerType(New)   PaymSIMO/PaymHandset"/Pay
mLoan
Team
TariffToExlude List of tariffs concatenated , if
recommended tariff is in the list
configure, customer will not get
eligible for discount

Can be nullable, if not configured
skip the controlBoth attributes can not be
configure at the same time
TariffToInclude List of tariffs concatenated , if
recommended tariff is in the list


1175
Unique Key is = FromCustomerType,ToCustomerType,Team,UpsellDiscountPercentage,UpsellAmount
Update Strategy -CalculateUpgradeDiscount
Remove logic to skip Upsell Discount calculation for Bingo upgrades.

Update Strategy -CalculateUpsellDiscount
Update AssistedUpgradeUpsellDiscountConfig join condition, to get only records applicable for from/to journey
 FromCustomerType= CustomerType
 ToCustomerType=RecommendedCustomerType
Use S15 values to calculate  grow for upsell discount calculation
IsValid=(.RecommendedTariffS15Maf-
(.RecommendedTariffS15Maf*@divide(.UpsellDiscountPercentage,100)))-.PreS15>.UpsellAmount
Check RecommendedTariffCode included in TariffToInclude && TariffToExclude and set the below discount calculation
If RecommendedTariffCode included in TariffToExclude  > set Discount= 0
If RecommendedTariffCode included in TariffToInclude or (TariffToExclude && TariffToInclude is empty) > set
Discount=UpsellDiscountPercentage.
 configure, customer will  get
eligible for discount
Can be nullable, if not configured
skip the control
UpsellDiscountPercentage(Exitin
g)
UpsellAmount(Exiting)


1176
Assisted Upgrade- Remove Basket details from GetTariffList & Get HandsetList
HL Requirement
Get Recommendation -Tariff & Handset  logic developed in release 2.5 was returning the Tariff & Handset in the basket.
With the recent requirements on discount & add on tab, it is decided to remove basket details from logic output, UI to append this data to
top. Also UI will filter the items in basked from GetProductList output not to duplicate it

Update on GetProductList logic
Update Strategy-GetTariffList
Remove the logic that populates basked tariff data to output  & dedupe with bdc.
Update Strategy- GetDeviceList
 387460 UI To Populate "Edit Basket" Current Selection


1177
Remove the logic that populates basked handset data to output  & dedupe with bdc.
Update on GetRecommendation Logic
Logic need to populate attributes on recommendation detail which are needed for Tariff , Device & Addon tab .
This change is required as UI will append basked data to Tariff/Device/Addon list
Logic Recommendation  Updates
Update Strategy -DecomposeRecommendation
For Tariff products populate  listed SR attributes
Set Entertainment = True  if RecommendedTariffGroup has “entrainment” expression. (Remove EntertainmentFlag set operation)
Set IsRecommended=True  -If available in universal tariff model.
if  RecRank > 0  means tariff is available in BDC
IncludesCombiBundleOffer > will be delivered as part of VF Together US. no action for this US
For Handset
IsRecommended =True as device recommendation in logic rec. always comes from BDC
Update Strategy -GetAutoAddedAddonsListDetails
Set Category-Servicegrup3 from PC
Commercial Recommendation Update
Update Strategy-GetProductDetailAndEvaluateCompatibility
Make Sub strategy call to GetListOfValidTariffsFromBDCModel
Make Sub Strategy call to GetDeviceRecommendationFromBDCModel
For Tariff Path
Set Entertainment = True  if TariffGroup has “entrainment” expression.
Set IsRecommended=True  -If tariff is available in universal tariff model (output of GetListOfValidTariffsFromBDCModel)
IncludesCombiBundleOffer > will be delivered as part of VF Together US. no action for this US
For Service(Addon) Path (Set Service Details)
Set Category-Servicegrup3 from PC
For Handset Path
Set IsRecommended=True  -If device is available in universal tariff model (output of GetDeviceRecommendationFromBDCModel)


1178
Update Startegy-CalculateDeal
Populate Entertainment , Category attributes from CalculateUpgradeDeal
Update Strategy -PopulateOutputPropertiesForNBAA
Remove set Entertainment =”” (it will be automatically populated from data coming from calculate upgrade deal)


1179
Assisted Upgrade -Setting Recommendation More Info

HL Requirement
The messages shown in Recommendation >More Info  should be configurable.
Treatment Attribute Templates will be used to configure messages for different cases.
Get Recommendation service will provide “SubChannel” in context parameters (VADR) and it will be used to select related template.

Clean up current logic
Remove the logic to set messages > PickBestPathway , GetRecommendedDevice

Catalog Configuration
Create a new Sub channel “VADR”
Assign existing Upgrade treatments to VADR Sub-channel
Create 3 new Treatment Attribute Template , and configure messages according .
Template 1 > Commercial Recommendation
"{ ""SegmentStrategyMessage"":""Manager Special""}"
Template 2 > Handset Logic Recommendation
"{ ""PathwayMessage"":""Customer is most likely to move to a [PathWay]'",
""DeviceMessage"":""The device recommended is the most likely device for the customer"",
""SegmentStrategyMessage"":""[SegmentStrategyMessage]""}"
Template 3 > Simo Logic Recommendation338263 Display for info
PM Tool Yes  Enable Templating for InboundCC & Ad sub
channel to InboundCC
capture segment strategy message for each
segment & push to IntentToSegmentStrategy
decision data.
PM Tool KT Documentation No
Knowledge Transfer No
App Yes  Adding sub channel to request
DB No  Area Yes/No Comments


1180
"{ ""PathwayMessage"":""Customer is most likely to move to a [PathWay]'",
""SegmentStrategyMessage"":""[SegmentStrategyMessage]""}"
Configure TTV-Treatment Attributes Templates.
Catalog Link > https://vodafone.sharepoint.com/:x:/r/sites/AoMProgramme/_layouts/15/Doc.aspx?sourcedoc=%7B165A7674-DACF-
42A9-9922-B8D38934D0CC%7D&file=2.6VFUK%20-%20Assisted%20Upgrade%20Offer%20Catalogue_V1.xlsx&action=default&mobil
eredirect=true -
Get Recommendation Logic Update
Update Strategy -IdentifyTreatmentSubChannel
Execute IdentifyTreatmentSubChannelForGetNBA if Execution mode = GetNBA or NBAA
else do not execute return all input data.
Update Strategy-PickBestPathway
Set BDCPathwayModelOuput=Pathway.ToPathway (remove “To” text from the begining)
Update Strategy-IdentifySegmentStrategyforSubscription
Update Decision data ,IntentToSegmentStrategy. Add new attribute “SegmentStrategyMessage”
Populate message from decision data
Update Strategy-CalculateDeal
map BDCPathwayModelOuput from CalculateUpgradeDeal
Update Strategy -PopulateOutputPropertiesForNBAA
Make Substaregy call to ImportTreatmentToTreatmentVariationAttributes
Join output of ImportTreatmentToTreatmentVariationAttributes with Item Records & get TreatmentAttributes json
 Key  = TreatmentName,OfferVariant,TreatmentVariant,TargetSubChannel(do not exclude, only tariff records will have configuration
TreatmentAttributes will be populated only for them)
In TreatmentAttributes search for
PathwayMessage
DeviceMessage
SegmentStrategyMessage
Extract   values configured for these tags from Json.
Replace token in logic with SR attributes


SegmentStrategyMessage
Extract   values configured for these tags from Json.
Replace token in logic with SR attributes
Pathway > BDCPathwayModelOuput
SegmentStrategyMessage> SegmentStrategyMessage
Set .RecommendationDetails =  Concat PathwayMessage , DeviceMessage,SegmentStrategyMessage . uses “|”  for delimiter.
Populate RecommendationDetails to Reco records (Key is Position)

Connect your OneDrive account


1181
NBA FW - Intent Enhancements
Impact in Other areas
 Dependencies
Logic Changes
Update IntentConfidenceLevelScore DDS
Set ConfidenceScore for ConfidenceLevel1 to 99 (To align with the introduction of cut off)
Update RangeMapping DDS
Set Intial value to 10 for  IntentConfidenceScoreRangeLow record.
Update strategy CalculatePriority
Change calculation for .pxPriority in CalculatePriority set property
From: Priority=P^(1/n) * V + (aW + bIW + cICS+dBPW)
To: Priority=P^(1/n) * V +  aW + bBPW + (c*(ICS/100)*IW)362773 Change Arbitration Formula to make Intent more balanced
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer Yes
App No
DB No  Area Yes/No Comments
PM Tool No
App No
DB No  Area Yes/No Comments


1182
Also please update the “yellow” notes with the formula update
Update strategy IdentifyOffersForEligibleIntents
Prioritize by “(.IntentConfidenceScore/100)*.IntentWeight” instead of only “.IntentConfidenceScore” in the below 2 prioritize components:
PrioritizeIntentsonIntentConfidenceScore
TopIntentbasedonIntentConfidenceScrore


1183
NBA FW - Introduce a Priority Cut-Off step for NBA
Impact in Other areas
 Dependencies
Add PriorityCutOffScore on Offers Screen (PM Tool Task)
Not mandatory (can be left blank)
Numeric
Create a new property
PriorityCutOffScore (Numeric)
Update Offer DDS
Add PriorityCutOffScore variable to all offers DDS
9 decision data artefacts to update, 1 per squad379933 Introduce a Priority Cut-off step for NBA
PM Tool Yes New parameter (Priority Cutoff Score) on Offers Screen
PM Tool KT Documentation Yes
Knowledge Transfer Yes
App No
DB No  Area Yes/No Comments
PM Tool Yes Use of Priority Cut off Score can only be tested E2E after PM changes
App No
DB No  Area Yes/No Comments


1184
Updates to be made in strategy IdentifyBestTreatmentForBatch
Add a filter “Apply Priority Cut Off Score” after "NonMandatory" filter
Only pass the offer if .pxPriority > PriorityCutOffScore
if PriorityCutOffScore is null then consider 0
Connect to “MaxOffers” set property component

Updates to be made in strategy IdentifyBestEmailTreatmentForBatch
Add a filter “Apply Priority Cut Off Score” after "NonMandatory" filter
Only pass the offer if .pxPriority > PriorityCutOffScore
if PriorityCutOffScore is null then consider 0
Connect to “MaxOffers” set property component


1186
NBA FW - Adding a new channel RCS to NBA Funnel
Impact in Other areas
Dependencies
Change Description
Add “RCS” channel to Batch Execution Mode
Flow will be similar to OutboundCC channel
Treatment strategies will be updated to include RCS channel
Create new strategy ImportRCSTreatments
Similar to ImportOutboundCCTreatments structure (screenshot below)363841 Create RCS and MMS channels
PM Tool Yes Add new channel - RCS
PM Tool KT Documentation Yes
Knowledge Transfer Yes
App No
DB No  Area Yes/No Comments
PM Tool Yes Configure new channel in PM Tool for E2E testing
App No
DB No  Area Yes/No Comments


1187
Update ImportAllTreatments strategy
Add ImportRCSTreatments strategy
Update strategy - AllTreatmentsForEligibleOffers
Connect Batch execution mode filter to a new channel filter below
Add a filter for “RCS Treatments” with condition: .Channel = “RCS”
Join the filter with “OutboundTreatmentsByBatch“ set property and connect to Results


1188
Create 9 new Squad specific proposition DDS for RCS Channel
Update squad specific ApplyXXXXXXTreatmentEligibility strategies
List of strategies to change:
ApplyUpsellTreatmentEligibility
ApplyRetentionTreatmentEligibility
ApplyServiceTreatmentEligibility
ApplyRetainTreatmentEligibility
ApplyRenewTreatmentEligibility
ApplyCrossSellTreatmentEligibility
ApplyTradeInTreatmentEligibility
ApplyCareTreatmentEligibility
ApplyEngagementTreatmentEligibility
Changes to make:
RCS Care RCS
RCS CrossSell RCS
RCS Renew RCS
RCS Retain RCS
RCS Retention RCS
RCS Service RCS
RCS TradeIn RCS
RCS Upsell RCS
RCS Engagement RCSDecision Data Issue Group


1189
Add “RCS Channel” filter with condition: .Channel = “RCS”
Add “Apply RCS Treatment Eligibility Filter“ with “prop filter” call to the below:
UpsellRCSTreatmentEligibility
RetentionRCSTreatmentEligibility
ServiceRCSTreatmentEligibility
RetainRCSTreatmentEligibility
RenewRCSTreatmentEligibility
CrossSellRCSTreatmentEligibility
TradeInRCSTreatmentEligibility
CareRCSTreatmentEligibility
EngagementRCSTreatmentEligibility
Connect to Results
Update strategy IdentifyBestTreatmentForBatch
In the Non-Mandatory path:
After “MaxOffers” set property,
Create 1 filter for RCS channel
.Channel = “RCS”
Connect RCS channel filter to “Prioritize RCS” (by .pxPriority - Highest, All)
Connect to “NonMandatoryCommunications” filter
In the Mandatory path:
After “Mandatory” filter,
Create 1 filter for RCS
.Channel = “RCS”
Connect RCS channel filter to “Prioritize RCS Treatments” (by .pxPriority - Highest, All)
Connect to “PrioritisedMandatory” set property
Update strategy PopulateOutputPropertiesForBatch
After “SetCommonOutputProperties“ set property:
Add a new filter “RCS Channel” with condition .Channel="RCS"
Add a set property “SetContactDetailsForRCS“ and connect to filter with the below attributes


1190
.ContactDetail = Primary.CustomerAccount.Contact.ContactPrimaryAddressId
ContactId = Primary.CustomerAccount.Contact.ContactId
Connect to “ValidContactDetail“ filter
Create a new strategy PopulateOutputPropertiesForRCS
Enable external input
Add a set property “SetChannelOutputProperties“ similar to PopulateOutputPropertiesForDirectMail
Import “NameValidation“ sub-strategy for Firstname and Surname
Add the below values in the set property component
InteractionId = .InteractionId
Offername = .OfferName
Offervariant = .OfferVariant
Treatmentname = .TreatmentName
Treatmentvariant = .TreatmentVariant
CustomerID = .pySubjectID
OutcomeDate = @getCurrentTimeStamp()
ServiceId = Primary.ServiceNumber
OwnerAccountNumber = Primary.OwnerAccountNumber
FirstName = NameValidation.FirstName
Surname = NameValidation.Surname
MMSMarketingConsentFlag = .MMSMarketingConsentFlag
SMSMarketingConsentFlag = .SMSMarketingConsentFlag
ExtraInfo1 → leave blank
ExtraInfo2 → leave blank
ExtraInfo3 → leave blank
ExtraInfo4 → leave blank
ExtraInfo5 → leave blank
ExtraInfo6 → leave blank
ExtraInfo7 → leave blank
ExtraInfo8 → leave blank
ExtraInfo9 → leave blank


1191
ExtraInfo10 → leave blank
Connect to results
Update strategy PopulateOutputProperties
Add a filter for RCS channel
Call sub-strategy PopulateOutputPropertiesForRCS
Connect to Results
Create strategy - SetIHForRCS
Add an external input
Add set property component - Set IH with only the following:
Connect to results
pyDirection “Outbound“
pyOutcome “Selected”Property Name Value


1192
Update strategy - SetIHPropertiesForAllChannels
After “SetGenericIHReportingAttributes” sub-strategy, add “RCS Channel” filter with condition:
.Channel = “RCS”
Call sub-strategy “SetIHForRCS“ and connect to channel filter
Connect to SetDefaultValuesToIHProperties sub-strategy call
Connect to Results
Extractor Changes
Update dataflow ProcessBestOBTreatmentsAsTarget
Update the filter criteria in “All IH For OBCC, AppPush & DirectMail“ filter and rename the filter to “All IH For OBCC, AppPush,
DirectMail, RCS & MMS“
@String.equalsIgnoreCase(.Channel,"OutboundCC") || @String.equalsIgnoreCase(.Channel,"AppPush") ||
@String.equalsIgnoreCase(.Channel,"DirectMail") || @String.equalsIgnoreCase(.Channel,"RCS") ||
@String.equalsIgnoreCase(.Channel,"MMS")
Update the filter criteria in “Only IH for OBCC, AppPush and DirectMail“ filter and rename the filter to “Only IH for OBCC, AppPush,
DirectMail, RCS and MMS“
@String.equalsIgnoreCase(.Channel,"OutboundCC") || @String.equalsIgnoreCase(.Channel,"AppPush") ||
@String.equalsIgnoreCase(.Channel,"DirectMail") || @String.equalsIgnoreCase(.Channel,"RCS") ||
@String.equalsIgnoreCase(.Channel,"MMS")


1193
Create a new dataset BestRCSTreatmentsAfterControlGroups
Update dataflow ProcessOutbound
Add a new branch for RCS channel
Add a new filter “RCS Treatments” with condition .Channel = “RCS”
Add a new compose with .SegmentKey set to
@PushNotification.GetRandomNumberInRange(1,@if(D_VFUKFWAOMFWDataAOMConfig[ConfigType:ExtractorSegments,ConfigNa
me:CCD].ConfigValue="",1000,@AOMUtilities.ToInt(D_VFUKFWAOMFWDataAOMConfig[ConfigType:ExtractorSegments,ConfigName:
CCD].ConfigValue)))
Connect to “Dataset” output BestRCSTreatmentsAfterControlGroups


1194
Create a new dataset OffersBySubChannelForRCS
Update dataflow PopulateOffersBySubChannelForOB
Add a new branch for RCS channel
Add a new filter “RCS Treatments” with criteria .Channel = “RCS”
Add a convert and set .TargetSubchannel = @if(.TargetSubChannel!="",.TargetSubChannel,.Channel)
Connect to “Dataset” output OffersBySubChannelForRCS
Set the below 2 flags in the SR Convert after RCS Treatments Filter
.Zip = True
.Encrypt = True


1196
NBA FW - Adding a new channel MMS to NBA Funnel
Impact in Other areas
Dependencies
Change Description
Add “MMS” channel to Batch Execution Mode
Flow will be similar to OutboundCC channel
Treatment strategies will be updated to include MMS channel
Create new strategy ImportMMSTreatments
Similar to ImportOutboundCCTreatments structure (screenshot below)363841 Create RCS and MMS channels
PM Tool Yes Add new channel - MMS
PM Tool KT Documentation Yes
Knowledge Transfer Yes
App No
DB No  Area Yes/No Comments
PM Tool Yes Configure new channel in PM Tool for E2E testing
App No
DB No  Area Yes/No Comments


1197
Update ImportAllTreatments strategy
Add ImportMMSTreatments strategy
Update strategy - AllTreatmentsForEligibleOffers
Connect Batch execution mode filter to a new channel filter below
Add a filter for “MMS Treatments” with condition: .Channel = “MMS”
Join the filter with “OutboundTreatmentsByBatch“ set property and connect to Results


1198
Create 9 new Squad specific proposition DDS for MMS Channel
Update squad specific ApplyXXXXXXTreatmentEligibility strategies
List of strategies to change:
ApplyUpsellTreatmentEligibility
ApplyRetentionTreatmentEligibility
ApplyServiceTreatmentEligibility
ApplyRetainTreatmentEligibility
ApplyRenewTreatmentEligibility
ApplyCrossSellTreatmentEligibility
ApplyTradeInTreatmentEligibility
ApplyCareTreatmentEligibility
ApplyEngagementTreatmentEligibility
Changes to make:
Add “MMS Channel” filter with condition: .Channel = “MMS”
MMS Care MMS
MMS CrossSell MMS
MMS Renew MMS
MMS Retain MMS
MMS Retention MMS
MMS Service MMS
MMS TradeIn MMS
MMS Upsell MMS
MMS Engagement MMSDecision Data Issue Group


1199
Add “Apply MMS Treatment Eligibility Filter“ with “prop filter” call to the below:
UpsellMMSTreatmentEligibility
RetentionMMSTreatmentEligibility
ServiceMMSTreatmentEligibility
RetainMMSTreatmentEligibility
RenewMMSTreatmentEligibility
CrossSellMMSTreatmentEligibility
TradeInMMSTreatmentEligibility
CareMMSTreatmentEligibility
EngagementMMSTreatmentEligibility
Connect to Results
Update strategy IdentifyBestTreatmentForBatch
In the Non-Mandatory path:
After “MaxOffers” set property,
Create 1 filter for MMS channel
.Channel = “MMS”
Connect MMS channel filter to “Prioritize MMS” (by .pxPriority - Highest, All)
Connect to “NonMandatoryCommunications” filter
In the Mandatory path:
After “Mandatory” filter,
Create 1 filter for MMS
.Channel = “MMS”
Connect MMS channel filter to “Prioritize MMS Treatments” (by .pxPriority - Highest, All)
Connect to “PrioritisedMandatory” set property
Update strategy PopulateOutputPropertiesForBatch
After “SetCommonOutputProperties“ set property:
Add a new filter “MMS Channel” with condition .Channel="MMS"
Add a set property “SetContactDetailsForMMS“ and connect to filter with the below attributes


1200
.ContactDetail = Primary.CustomerAccount.Contact.ContactPrimaryAddressId
ContactId = Primary.CustomerAccount.Contact.ContactId
Connect to “ValidContactDetail“ filter
Create a new strategy PopulateOutputPropertiesForMMS
Enable external input
Add a set property “SetChannelOutputProperties“ similar to PopulateOutputPropertiesForDirectMail
Import “NameValidation“ sub-strategy for Firstname and Surname
Add the below values in the set property component
InteractionId = .InteractionId
Offername = .OfferName
Offervariant = .OfferVariant
Treatmentname = .TreatmentName
Treatmentvariant = .TreatmentVariant
CustomerID = .pySubjectID
OutcomeDate = @getCurrentTimeStamp()
ServiceId = Primary.ServiceNumber
OwnerAccountNumber = Primary.OwnerAccountNumber
FirstName = NameValidation.FirstName
Surname = NameValidation.Surname
MMSMarketingConsentFlag = .MMSMarketingConsentFlag
SMSMarketingConsentFlag = .SMSMarketingConsentFlag
ExtraInfo1 → leave blank
ExtraInfo2 → leave blank
ExtraInfo3 → leave blank
ExtraInfo4 → leave blank
ExtraInfo5 → leave blank
ExtraInfo6 → leave blank
ExtraInfo7 → leave blank
ExtraInfo8 → leave blank
ExtraInfo9 → leave blank
ExtraInfo10 → leave blank


1201
Connect to results
Update strategy PopulateOutputProperties
Add a filter for MMS channel
Call sub-strategy PopulateOutputPropertiesForMMS
Connect to Results
Create strategy - SetIHForMMS
Add an external input
Add set property component - Set IH with only the following:
Connect to results
pyDirection “Outbound“
pyOutcome “Selected”Property Name Value


1202
Update strategy - SetIHPropertiesForAllChannels
After “SetGenericIHReportingAttributes” sub-strategy, add “MMS Channel” filter with condition:
.Channel = “MMS”
Call sub-strategy “SetIHForMMS“ and connect to channel filter
Connect to SetDefaultValuesToIHProperties sub-strategy call
Connect to Results
Extractor Changes
Update dataflow ProcessBestOBTreatmentsAsTarget - Please liaise with Raviteja on changes to this dataflow as
he is updating this for RCS, better done by 1 person
Update the filter criteria in “All IH For OBCC, AppPush & DirectMail“ filter and rename the filter to “All IH For OBCC, AppPush,
DirectMail, RCS & MMS“
@String.equalsIgnoreCase(.Channel,"OutboundCC") || @String.equalsIgnoreCase(.Channel,"AppPush") ||
@String.equalsIgnoreCase(.Channel,"DirectMail") || @String.equalsIgnoreCase(.Channel,"RCS") ||
@String.equalsIgnoreCase(.Channel,"MMS")
Update the filter criteria in “Only IH for OBCC, AppPush and DirectMail“ filter and rename the filter to “Only IH for OBCC, AppPush,
DirectMail, RCS and MMS“
@String.equalsIgnoreCase(.Channel,"OutboundCC") || @String.equalsIgnoreCase(.Channel,"AppPush") ||
@String.equalsIgnoreCase(.Channel,"DirectMail") || @String.equalsIgnoreCase(.Channel,"RCS") ||
@String.equalsIgnoreCase(.Channel,"MMS")


1203
Create a new dataset BestMMSTreatmentsAfterControlGroups
Update dataflow ProcessOutbound
Add a new branch for MMS channel
Add a new filter “MMS Treatments” with condition .Channel = “MMS”
Add a new compose with .SegmentKey set to
@PushNotification.GetRandomNumberInRange(1,@if(D_VFUKFWAOMFWDataAOMConfig[ConfigType:ExtractorSegments,ConfigNa
me:CCD].ConfigValue="",1000,@AOMUtilities.ToInt(D_VFUKFWAOMFWDataAOMConfig[ConfigType:ExtractorSegments,ConfigName:
CCD].ConfigValue)))
Connect to “Dataset” output BestMMSTreatmentsAfterControlGroups


1204
Create a new dataset OffersBySubChannelForMMS
Update dataflow PopulateOffersBySubChannelForOB
Add a new branch for MMS channel
Add a new filter “MMS Treatments” with criteria .Channel = “MMS”
Add a convert and set .TargetSubchannel = @if(.TargetSubChannel!="",.TargetSubChannel,.Channel)
Connect to “Dataset” output OffersBySubChannelForMMS
Set the below 2 flags in the SR Convert after MMS Treatments Filter
.Zip = True
.Encrypt = True


1206
Assisted Upgrade - Edit Deal Discount

HL Requirements
New logic component to identify list of Discounts to present on UI
Validate basket according to actions on Discount tab.
If a Discount added & customer is in early upgrade make sure S15 still grows.
If a Discount added / deleted re calculate the Post S15 (enrichment icon)
 363828 Edit Deal-Discount
399920 Edit Deal: Discount Validation368775 GetProductList-Discount
PM Tool No
PM Tool KT Documentation Yes
Knowledge Transfer No
App Yes Provide the following details for all
Subscribers on the account in GPSL
Discount
Tariff
Provide Recently Added Product ID on
Valdiate basket request Add Category to
GetProductList output
DB No
UI Yes New UI
Remove Basket data from  the list coming
from UI
Append Basket data to the top of  the list
coming from logic

 Area Yes/No Comments


1207
Changes for GetProductList
A. New Strategy - CalculateMaxUpgradeDiscount
Create new strategy with only the following highlighted part in CalculateUpgradeDiscount Strategy -
B. Update Strategy - CalculateUpgradeDiscount
Replace the following highlighted part in CalculateUpgradeDiscount Strategy with new sub-strategy CalculateMaxUpgradeDiscount


1208
C. New Strategy -GetDiscountList


1209

C1. Get Tariff , AddOns & Insurance from the Basket
C2. Query D_DiscountsForTariff data page with Tariff in basket  & Agent’s department  to get list of Discounts sellable
Filter out auto added  discounts.
!(.DefaultInd="Y" || .RexAutoAddInd="Y")
C3. Call sub-strategy GetCurrentTariff to get customer’s PreS15MAF
C4. Use Tariff , AddOns & Insurance  in basket to calculate customer’s  Basket S15 MAF (based on the deal in basket)
Set AddonCostInBasket=sum of CostExVat  for Addons in basket  (if Addon Classification !=”PROMOTION” check if included in S15
calculation else do not check flag  include )
Set InsuranceCostInBasket=sum of CostExVat  for Insurance in basket  (check if included in S15 calculation )
Set RecommendedTariffS15Maf= CostExVat for Tariff in basket + AddonCostInBasket+InsuranceCostInBasket
C5. Pass-on customer’s PreS15MAF (C3) and S15 MAF (C4) with the Tariff in basket to sub-strategy CalculateMaxUpgradeDiscount to get
the Max Upgrade Discount Percentage for the customer
C6. Calculate customer’s Max Upgrade Discount Amount for the customer (Using Tariff ConstInVat & Max discount percentage)
C7. From all sellable Discounts (C2), select all discounts except Additional Plan Discounts (using new AOM Business config
AdditionalPlanDiscountCode, which contains list of Addon codes concatenated in single field )
C8. For Discounts in C7, calculate Discount amount (Using Tariff ConstInVat )


C8. For Discounts in C7, calculate Discount amount (Using Tariff ConstInVat )
C9. From Discounts in  C8, select discounts which are less or equal to Max Upgrade Discount Amount (C6)
C10. From all sellable Discounts (C2), select Additional Plan Discount (using new AOM Business config AdditionalPlanDiscountCode, which
contains list of Addon codes concatenated in single field )
C11. From Root Product Information passed on as context for the upgrading subscriber (customer), check if the upgrading subscriber
currently has Additional Plan Discount (using new AOM Business config AdditionalPlanDiscountCode, which contains list of Addon codes
concatenated in single field )
C12. If No to C11, do not return Additional Plan Discount
C13. if Yes to C11, using GPSL, get Additional Plan Discount details and Tariff Details for all subscriber on the account
Data Page - CustomerDiscountsRT
Input


1210
AccountNumber
Returns Page List Of
ServiceNumber
TariffId
DiscountId

C14. Using output of C13, apply the following Additional Plan Discount eligibility check for the  upgrading subscriber (customer)
C14.1. Check if the Account has any one of the Additional Plan Discount (from GPSL) - Discount codes = 110135, 111630, 104883
(using new AOM Business config AdditionalPlanDiscountCode, which contains list of Addon codes concatenated in single field )
C14.1.1. In C14.1, if all other Subscriptions on the Account have any one of the Additional Plan Discount ("no CTN on the Account
without an Additional Plan Discount"), then the Customer (Subscription) is no longer eligible for Additional Plan Discount
C14.1.1. In C14.1, if there is other Subscriptions on the Account without Additional Plan Discount, then check if they are  on any
plans except a 30 day SIMO plan. (This control will check tariff tenure to decide. )
C14.1.1.1. In C14.1.1, if the other Subscriptions on the Account without Additional Plan Discount and they are all on  ineligible
plan, then the Customer (Subscription) is no longer eligible for Additional Plan Discount
C14.1.1.2. In C14.1.1, if there is at least one of the other Subscriptions on the Account without Additional Plan Discount and it
is eligible plan (i.e. not on a 30 day SIMO plan or a watch or a giga cube plan), then check if upgrading plan (in selected deal)
is is eligible plan (i.e. not on a 30 day SIMO plan or a watch or a giga cube plan).


* If yes to C14.1.1.2, then the Customer (Subscription) is still eligible for Additional Plan Discount
* If no to C14.1.1.2, then the Customer (Subscription) is not eligible for Additional Plan Discount
C15. From the check on C14, if customer is not eligible for Additional Plan Discount, then, do not return Additional Plan Discount
C16. From the check on C14, if customer is eligible for Additional Plan Discount, select the Additional Plan Discount from C10
C17. From C16,  calculate Discount amount if the discount type is percentage based (Using Tariff ConstInVat)
C18. Using output from C9 and C17, order the Discounts by Discount Amount
C19. Call sub-strategy PopulateOutputPropertiesForDiscounts
D. New Strategy -PopulateOutputPropertiesForDiscounts
Set attributes need for output
ResposeType=Item
Index =pxRank
Position Posistion to Order by in the UI RankPosition populate from pxRank
ProductId Product Identifier & SKU Code ProductCode Product fulfilment code
from PC
ProductName Product Name ProductName Name
from PC
ProductType Type of Product ProductRecommendation
TypeDiscountSpeck Attribute Description SR Attribute What to populate


1211

E. Update Strategy-GetProductList
Add new strategy call GetDiscountList
F. Update Data Flow -GetProductList & ValidateBasket
Replace PrepareDataForProductList with IdentifyCustomerIntentsForGetRecommendation

Changes for Validate Basket
 PriceIncludingVAT  CostIncludingVAT (DiscountAmount
calculated in strategy) *
-1
PriceExcludingVAT  CostExVAT (CostIncludingVAT-
(Tariff
VatCode*CostIncluding
VAT)) * -1
VATAmount  VATAmount (CostIncludingVAT-
CostExVAT)
PriceType Type of the Amount/Payment.
LoV:
ONE_OFF_COST
MONTHLY_RECURRING_COST
TOTAL_COST
DISCOUNTPriceType DISCOUNT
DisplayName Display Name for Product Line DisplayName Name
from PC


1212
F. Update Strategy -ValidateBasket


1213

F1. Discount Path
if Operation is Delete Addon or Delete Insurance > I requires validating the discount , if still below or equal to Max discount customer
can get.
Calculate PostS15 Without Discount in basket
Re use the output of PostS15 logic and add discount amount cost excluding vat (Discount amount is coming as negative to so
-1*CostExVat)
Make Sub Strategy call  to “CalculateMaxUpgradeDiscount” strategy
Provide attributes needed for strategy on the the input record.
RecommendedTariffCode -> populated from basket data
RecommendedTariffMAF-> PostS15 Without Discount in basket (which is calculated in previous step)
PreS15-> populated from GetCurrentTariffDetails
CalculateMaxUpgradeDiscount output is %, calulate the amount for discount using tariff cost in the basket
If Amount of Discount in Basket > Max Discount Amount , mark the discount incompatible & set status message as “The Discount
is no longer valid”, Pass the discount details  to output
Else Pass the discount details  to output with out any update.
else  Pass the discount details from basket to Calculate PostS15 & To output
F3. Post S15 Calculation
F3.1. Recalculate PostS15 if Add Discount or Delete Discount


1214
Assisted Upgrade - Edit Deal Insurance

HL Requirements
New logic component to identify list of Insurance to present on UI
Validate basket according to actions on Insurance tab.
If an Insurance deleted & customer is in early upgrade make sure S15 still grows.
If an Insurance added / deleted re calculate the Post S15 (enrichment icon)
 370051 GetProductList-Insurance
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes Provide Recently Added Product ID on
Validate basket request Add Category to
GetProductList output
Provide new data page  -
Requirement is to get list of Service ID
active + sellable by department +
 compatible with handset in basket +
ServiceGroup3 =”Insurance”.
Input : SKU,Department
Output : ServiceID List > we need  details
of services in the output  like price &
 name.
DB No
U I Yes New UI
Remove Basket data from  the list coming
from UI
Append Basket data to the top of  the list
coming from logic

 Area Yes/No Comments


1215
Changes for GetProductList
A. Update Strategy-GetProductList
Add new strategy call GetInsuranceList
B. New Strategy - GetInsuranceList

B1. Check if Handset is in basket
B2. If No to B1, do not return anything
B3. If Yes to B1, do following
B4. Query new data page (Handset To Service compatibility) with Handset in basket  & Agent’s department  to get list of Insurances sellable
B5. Using output from B5, order the Insurances by Insurance Cost (inc VAT)
B6. Make sub strategy call to PopulateOutputPropertiesForInsurance

C. New Strategy - PopulateOutputPropertiesForInsurance
Set attributes need for output
ResposeType=Item
Index =pxRank
Position Posistion to Order by in the UI RankPosition populate from pxRank
ProductId Product Identifier & SKU Code ProductCode Product fulfilment code
from PC
ProductName Product Name ProductName Name
from PC
ProductType Type of Product ProductRecommendation
TypeInsurance
PriceIncludingVAT  CostIncludingVAT CostIncVat from PCSpeck Attribute Description SR Attribute What to populate


1216

Changes for Validate Basket

D. Update Strategy -ValidateBasket
D1. Insurance Path
Pass the Insurance details from basket to Calculate PostS15
D2. Post S15 CalculationPriceExcludingVAT  CostExVAT CostIncVat-
(VatCode*CostIncVat)
VATAmount  VATAmount CostIncludingVAT-
CostExVAT
PriceType Type of the Amount/Payment.
LoV:
ONE_OFF_COST
MONTHLY_RECURRING_COST
TOTAL_COST
DISCOUNTPriceType MONTHLY_RECURRIN
G_COST
DisplayName Display Name for Product Line DisplayName Name
from PC
Category   ServiceGroup3 from PC


1217
D2.1. Recalculate PostS15 if Add Insurance or Delete Insurance . Include  cost in case of insurance product is marked as include in
S15 calculation.


1218
NBA FW - Expose TPS data to decisioning logic
Impact in Other areas
 Dependencies
App Changes
1. Create a new class for the TPS table
2. Create a page property of the new TPS class on Subscription class
Logic Changes
Update dataflow PrepareBatchData
Add a “compose” block and import TPS data in the below 2 places (firstly for the Subscription and in the second place for the Oldest
Subscription)383427 Expose TPS data to decisioning logic
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer Yes
App Yes  New class and page property for TPS
DB No  Area Yes/No Comments
PM Tool No
App Yes  New class and page needed to build the compose in data flows
DB No  Area Yes/No Comments


1219
Update dataflow PrepareRealtimeData
Add a “compose” block and import TPS data in the below 2 places (firstly for the Subscription and in the second place for the Oldest
Subscription)


1220
NBA FW - Response Management
Impact in Other areas
 Dependencies
Logic changes
Create a new SR Property
StandardisedOutcome (Text)
Create new Decision Data “OutcomeMapping” (under Issue NonPropositions )
pyName - combination of Channel & Outcome (unique)
pyLabel - combination of Channel & Outcome (unique)
pyIssue - Default to “NonPropositions”
pyGroup - Default to “OutcomeMapping”
Channel
Outcome
StandardisedOutcome342578 Standardise IH Outcomes for consistent use in logic
PM Tool Yes  Create a new screen and push to logic “OutcomeMapping”
PM Tool KT Documentation Yes
Knowledge Transfer Yes
App No
DB No  Area Yes/No Comments
PM Tool Yes  New DDS to be pushed to logic for E2E testing
App No
DB No  Area Yes/No Comments
NonPropositions OutcomeMappingAppPushCLICKE
D_BUTTONAppPushCLICKE
D_BUTTONAppPush CLICKED_BUTT
ONEngagedpyIssue pyGroup pyName pyLabel Channel Outcome StandardisedOutc
ome


1221
NonPropositions OutcomeMappingAppPushDELET
EDAppPushDELET
EDAppPush DELETED Dismissed
NonPropositions OutcomeMappingAppPushDELIVE
REDAppPushDELIVE
REDAppPush DELIVERED Selected
NonPropositions OutcomeMappingAppPushOPEN AppPushOPEN AppPush OPEN Presented
NonPropositions OutcomeMappingAppPushREJEC
TEDAppPushREJEC
TEDAppPush REJECTED Rejected
NonPropositions OutcomeMappingAppPushSENT AppPushSENT AppPush SENT Selected
NonPropositions OutcomeMappingAppPushSelecte
dAppPushSelecte
dAppPush Selected Selected
NonPropositions OutcomeMappingEmailAOM_Unsu
bsEmailAOM_Unsu
bsEmail AOM_Unsubs Other
NonPropositions OutcomeMappingEmailPending EmailPending Email Pending Selected
NonPropositions OutcomeMappingEmailblocked Emailblocked Email blocked Failed
NonPropositions OutcomeMappingEmailbounce Emailbounce Email bounce Failed
NonPropositions OutcomeMappingEmailclick Emailclick Email click Engaged
NonPropositions OutcomeMappingEmailopen Emailopen Email open Presented
NonPropositions OutcomeMappingEmailsent Emailsent Email sent Other
NonPropositions OutcomeMappingEmailspam Emailspam Email spam Other
NonPropositions OutcomeMappingEventRealTimeE
ventEventRealTimeE
ventEvent RealTimeEvent Other
NonPropositions OutcomeMappingIVRAccepted IVRAccepted IVR Accepted Accepted
NonPropositions OutcomeMappingIVRDisconnectedIVRDisconnectedIVR Disconnected Failed
NonPropositions OutcomeMappingIVRRejected IVRRejected IVR Rejected Dismissed
NonPropositions OutcomeMappingIVRRejected-
AgentIVRRejected-
AgentIVR Rejected-Agent Dismissed
NonPropositions OutcomeMappingIVRSelected IVRSelected IVR Selected Selected


NonPropositions OutcomeMappingIVRSelected IVRSelected IVR Selected Selected
NonPropositions OutcomeMappingIVRShown IVRShown IVR Shown Presented
NonPropositions OutcomeMappingInboundCCSelect
edInboundCCSelect
edInboundCC Selected Selected
NonPropositions OutcomeMappingOutboundCCDIA
LLED_DECLINEOutboundCCDIA
LLED_DECLINEOutboundCC DIALLED_DECLI
NERejected
NonPropositions OutcomeMappingOutboundCCDIA
LLED_DECLINE
_DNCOutboundCCDIA
LLED_DECLINE
_DNCOutboundCC DIALLED_DECLI
NE_DNCRejected
NonPropositions OutcomeMappingOutboundCCDIA
LLED_NOT_ELIOutboundCCDIA
LLED_NOT_ELIOutboundCC DIALLED_NOT_
ELIGIBLERejected


1222
Update all the strategies in the below table
Import “OutcomeMapping” decision data
Add a data join “Get Standard Outcome” with condition
.pyOutcome/.Outcome (depending on strategy) = .Outcome
Connect the new data join to “filter” components in the strategiesGIBLE GIBLE
NonPropositions OutcomeMappingOutboundCCDIA
LLED_NO_DMCOutboundCCDIA
LLED_NO_DMCOutboundCC DIALLED_NO_D
MCFailed
NonPropositions OutcomeMappingOutboundCCDIA
LLED_RETRYOutboundCCDIA
LLED_RETRYOutboundCC DIALLED_RETR
YFailed
NonPropositions OutcomeMappingOutboundCCDIA
LLED_SUCCESSOutboundCCDIA
LLED_SUCCESSOutboundCC DIALLED_SUCC
ESSAccepted
NonPropositions OutcomeMappingOutboundCCInfer
red-NegativeOutboundCCInfer
red-NegativeOutboundCC Inferred-NegativeRejected
NonPropositions OutcomeMappingOutboundCCInfer
red-PositiveOutboundCCInfer
red-PositiveOutboundCC Inferred-Positive Accepted
NonPropositions OutcomeMappingOutboundCCSele
ctedOutboundCCSele
ctedOutboundCC Selected Selected
NonPropositions OutcomeMappingRetailSelected RetailSelected Retail Selected Selected
NonPropositions OutcomeMappingSMSAbandoned SMSAbandoned SMS Abandoned Failed
NonPropositions OutcomeMappingSMSAnswered SMSAnswered SMS Answered Presented
NonPropositions OutcomeMappingSMSConnected SMSConnected SMS Connected Other
NonPropositions OutcomeMappingSMSForced
DisconnectSMSForced
DisconnectSMS Forced
DisconnectFailed
NonPropositions OutcomeMappingSMSInferred-
NegativeSMSInferred-
NegativeSMS Inferred-NegativeRejected
NonPropositions OutcomeMappingSMSInferred-
PositiveSMSInferred-


NonPropositions OutcomeMappingSMSInferred-
PositiveSMSInferred-
PositiveSMS Inferred-Positive Accepted
NonPropositions OutcomeMappingSMSInterflowed SMSInterflowed SMS Interflowed Other
NonPropositions OutcomeMappingSMSOther SMSOther SMS Other Other
NonPropositions OutcomeMappingSMSPending SMSPending SMS Pending Selected
NonPropositions OutcomeMappingSMSSelected SMSSelected SMS Selected Selected
NonPropositions OutcomeMappingAbandoned Abandoned  Abandoned Failed
NonPropositions OutcomeMappingAnswered Answered  Answered Presented
NonPropositions OutcomeMappingOther Other  Other Other


1223
Update the filter component in the strategy:
Use .StandardisedOutcome = “XXXXXX” instead of .Outcome or .pyOutcome
AtomicRulesSet4 SelectedOutcomes Selected
AtomicRulesSet5 SelectedOutcomes Selected, Pending
CaptureResponseForAppPush IHwithSelectedoutcome Selected
CaptureResponseForEmail Ihwithpendingoutcome Pending
CaptureResponseForSetNBA IHwithSelectedoutcome Selected
ContactRules1 SelectedorPending Selected, Pending
ContactRules2 SelectedorPending Selected, Pending
ContactRules2 Selected Outcomes in last 60 days Pending
CrossSellRules1 IHinlast4days Selected, Pending
CrossSellRules2 SelectedorPending Selected, Pending
GenerateInferredOutcomesT2S SelectedOutcomes30daysAgo Selected
GenerateInferredOutcomesT2S InferredOBCCResponses Inferred-Positive, Inferred-Negative
GenerateInferredOutcomesT2S InferrredSMSResponses Inferred-Positive, Inferred-Negative
ProcessSMSOutcomesT2S FilterT2SSMSSend Selected
UpsellEligibility SelectedOutcomesinlast28days Selected
UpsellRules4 SelectedOutcomesinlast28days Selected
AtomicRulesSet3 R0080Subscriptionhasbeenpresentedwithadata
offerinAoMinthelast1daySelected
GetIHAtCustomerLevel SelectionBySubscriptionPositive Inferred-Positive, DIALLED_SUCCESS,
AcceptedStrategy Component Response Values


1224

 GetIHAtCustomerLevel SelectionBySubscriptionNegative Inferred-Negative,
DIALLED_NOT_ELIGIBLE,
DIALLED_DECLINE,
DIALLED_DECLINE_DNC, REJECTED,
Rejected, Rejected-Agent
GetIHAtCustomerLevel SelectionBySubscription Selected, Pending
IHAndTealiumValidation IHWithSelectedOutcome Selected
ProcessDiallerOutcomes IHwithSelectedOutcome Selected
ProcessSMSOutcomesT2S Primary.SubscriptionFlexAttribute - FlexiField CustomStringField206
ValidateIntentsWithIH EventToIntent (Decision Data) -
SecondaryContext where
.EventDataSource="IH"Selected


1225
NBA FW - Interaction History Write Consolidation - CaptureResponse

A. Update Strategy - CaptureResponseForEmail
Update data join - set IH properties to add the following mapping -
Note: Propensity needed to be extended in ViewAOM-xxxx Log Parent Child relationship to Interaction History
StoreId StoreId
AgentUsername AgentUsername
ProspectFlag ProspectFlag
Intent Intent
SubEventType SubEventType
ProductRecommendationType ProductRecommendationType
RampUpValue RampUpValue
RampUpFlag RampUpFlag
TILResponse TILResponse
AccountID AccountID
CallCentreOutcome CallCentreOutcome
ProductRecommendation ProductRecommendation
ContactDetail ContactDetail
ContactId ContactId
ParentChild ParentChild
ParentOfferName ParentOfferName
Mandatory Mandatory
TargetSubChannel TargetSubChannel
ExecutionMode ExecutionMode
pxRank Rank
pxPriority Priority
InMarketingTest InMarketingTest
pyDirection “Outbound“Target Source


1226
B. Create Strategy - SetDefaultValuesforEmailIH
B1. Enable External Input
B2. Create Set Property Component - Set Default IH Properties and connect from External Input
B3. Connect to results
C.Update Strategy -CaptureResponseForEmail
C1. Remove the connections to the filters MatchFound and MatchNotFound from the Data Join Component setIHproperties
C2. Add the strategy “SetDefaultValuesforIH“ as Sub-Strategy after setIHproperties Data Join Component.
C3. Connect the Substrategy ,“SetDefaultValuesforIH“ to the Data Join Component setIHproperties
C4. Connect from the Substrategy ,”SetDefaultValuesforIH” to the filters, MatchFound and MatchNotFound
D. Update Strategy - CaptureResponseForAppPush
Update data join - set IH properties to add the following mapping - pyPropensity Propensity
InAOMControlGroup "N"
AOMJourneyStep ""
AOMJourneyID ""
IHRId "1"
ChannelContentID "N/A"
IVRRoutingRecommendation "N/A"
ChannelConnectionID "N/A"
ControlGroupLevel "Offer"
IntentScore 0
IntentRelevance 0
ErrorRelation "N/A"PropertyName Value
ProductRecommendation ProductRecommendation
ContactDetail ContactDetail
ContactId ContactId
ExecutionMode ExecutionMode
SubEventType SubEventType
AccountID AccountID
NTID NTIDTarget Source


1227
E. Create Strategy - SetDefaultValuesforAppPushIH
E1. Enable External Input
E2. Create Set Property Component - Set Default IH Properties and connect from External InputpxRank Rank
pxPriority Priority
TargetSubChannel TargetSubChannel
InMarketingTest InMarketingTest
StoreId StoreId
AgentUsername AgentUsername
ProspectFlag ProspectFlag
ProductRecommendationType ProductRecommendationType
RampUpValue RampUpValue
RampUpFlag RampUpFlag
TILResponse TILResponse
AccountID AccountID
CallCentreOutcome CallCentreOutcome
CellCode CellCode
ParentChild ParentChild
ParentOfferName ParentOfferName
pyPropensity Propensity
Mandatory Mandatory
InAOMControlGroup "N"
AOMJourneyStep ""
AOMJourneyID ""
IntentRelevance 0
IHRId "1"
ChannelContentID "N/A"
IVRRoutingRecommendation "N/A"
ChannelConnectionID "N/A"
ControlGroupLevel "Offer"
IntentScore 0
IntentRelevance 0PropertyName Value


1228
E3. Connect to results
F.Update Strategy -CaptureResponseForAppPush
F1. Remove the connections to the filters MatchFound and MatchNotFound from the Data Join Component setIHproperties
F2. Add the strategy “SetDefaultValuesforAppPushIH“ as Sub-Strategy after setIHproperties Data Join Component.
F3. Connect the Substrategy ,“SetDefaultValuesforAppPushIH“ to the Data Join Component setIHproperties
F4. Connect from the Substrategy ,”SetDefaultValuesforAppPushIH” to the filters, MatchFound and MatchNotFound
G. Update Strategy - CaptureResponseForSetNBA
Update data join - set IH properties to add the following mapping -
H. Create Strategy - SetDefaultValuesforSetNBAIH
H1. Enable External Input
H2. Create Set Property Component - Set Default IH Properties and connect from External InputErrorRelation "N/A"
CallCentrePhoneNo "N/A"
CallerType "N/A"
StoreId StoreId
AgentUsername AgentUsername
ProspectFlag ProspectFlag
ContactDetail .ContactDetail
pyPropensity Propensity
pxPriority Priority
AccountID AccountID
ServiceId ServiceId
ContactId ContactId
ProductRecommendation ProductRecommendation
IVRRoutingRecommendation IVRRoutingRecommendation
pyPropensity Propensity
EventType EventType
ContactDetail ContactDetailTarget Source
AOMJourneyID ""
AOMJourneyStep ""PropertyName Value


1229
H3. Connect to results
I.Update Strategy -CaptureResponseForSetNBA
I1. Remove the connections to the filters MatchFound and MatchNotFound from the Data Join Component setIHproperties
I2. Add the strategy “SetDefaultValuesforSetNBAIH“ as Sub-Strategy after setIHproperties Data Join Component.
I3. Connect the Substrategy ,“SetDefaultValuesforSetNBAIH“ to the Data Join Component setIHproperties
I4. Connect from the Substrategy ,”SetDefaultValuesforSetNBAIH” to the filters, MatchFound and MatchNotFoundAOMSelectionType “NBA“
IntentScore 0
IntentRelevance 0
BusinessPurposeScore 0
InAOMControlGroup “N“
IVRRoutingRecommendation "N/A"
ChannelConnectionID "N/A"
ChannelContentID "N/A"
OfferValue
OfferWeight


1230
NBA FW - Interaction History Write Consolidation - Retail

This story requires a business-artefacts ruleset version for changes in output properties strategies

A. Update Strategy - SetIHForRetail
A1. Update set property component - Set IH with only the following -
A2. Remove sub-strategy SetGenericIHReportingAttributes

B. Update Strategy - SetIHPropertiesForAllChannels
B1. Add new filter component - Retail for Retail channel and call relevant sub-strategy -SetIHForRetail
B2. Connect sub-strategy  SetIHForRetail to sub-strategy - SetDefaultValuesToIHProperties

C. Update Strategy - IdentifyBestRetailTreatmentsForSubscription
C1. Replace sub-strategy - SetIHForRetail with sub-strategy - SetIHPropertiesForAllChannels
C2. Update Switch component - Make Decision to refer to new - SetIHPropertiesForAllChannels instead of SetIHForRetail in all relevant
placesAOM-xxxx Log Parent Child relationship to Interaction History
pyDirection “Outbound“
pyOutcome “Selected”
TargetSubChannel “Default“Property Name Value


1231
Release 2.7


1232
Assisted Upgrade- Calculate Net Revenue

HL Requirement
The Net Revenue  is a measure used as part of the Agent’s Commission’s calculation
Net Revenue for each deal will be calculated during recommendation & edit deal.
New Strategy-CalculateNetRevenue
Input- List of recommendations  with deal details
Step 1 > Group  Input by DealID, calculate costs to include Net Rev
PricePlanCost=Sum(if ProductType =”Tariff”  (CostExVAT*(if Duration=12 and SIMOnly='Y' then 1.5*12 else Duration) else 0)
DiscountCost=Sum(if ProductType =”Discount”  (CostExVAT* Duration) else 0)
AddonCost =Sum(if ProductType =”AddOn”  (CostExVAT*( assumed add on tenures from business config) else 0)
InsuranceMonthlyCost =Sum(if ProductType =”Insurance”  (CostExVAT ) else 0)
PricePlanTenure=Max(if ProductType =”Tariff”  Duration  else 0)
PricePlanCode=Max(if ProductType =”Tariff”   ProductCode  else 0)
Step 2 >Check If tariff includes Secured Net Discount & Calculate SecuredNetDiscountCost  406046 Net Rev: Agent Journey
406051 Net Rev: Reporting406028 Net Rev: Calculation
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes  New output attribute for
GetRecommendation & ValidateBasket >
NetRevenue
New attribute input parameter
ValidateBasket >NetRevenue
DB ?
UI Yes Present Net Revenue on UI for get
recommendation.
Refresh is with  output of ValidateBasket for
each  operation on basket. Area Yes/No Comments


1233
Query D_ServicesForTariff for each recommended tariff
Check if Secured Net (S_109908- which is AOM Business config parameter ) is part of tariff auto added add-on
(.RelationshipType="O"&&(.DefaultInd="Y"||.RexAutoAddInd="Y"))
Set CostExVAT= CostIncludingVAT/(1+VatCode)
Set SecuredNetDiscountCost=  CostExVAT *3
Set NetRevenue= PricePlanCost+ AddonCost+ InsuranceMonthlyCost*0.75*PricePlanTenure+ DiscountCost-SecuredNetDiscountCost
Step 3 > Populate NetRevenue to input records (DealID), return as output.

Changes for GetRecommendation

Update Strategy -CalculateUpgradeDeal
Make Strategy call to CalculateNetRevenue after DedupeSameRecommendations call.
Update Strategy -CalculateDeal
add mapping for NetRevenue to source from CalculateUpgradeDeal


1234
Changes for ValdiateBasket


1235

Update Strategy-CalculateBasketS15
Rename it as CalculateBasketFinancials, withdrawn old strategy.
Make Sub strategy call to CalculateNetRev
Provide Tariff,Addon,Insurance,Discount rows  as input  to CalculateNetRevenue
Set below SR attributes needed with in CalculateNetRev for each row.
Set Duration=Tenure
Set CostExVat=PriceExcludingVAT
Net Revenue recalculation & post S15 recalculation has same conditions. But different formulas.
 Any change on Tariff/Discount/Addon/Insurance require recalculating  Net Revenue & PostS15
Pass Through NetRevenue in the input  if no change to Tariff/Discount/Addon/Insurance
els Set NetRevenue from CalculateNetRevenue

Changes for Reporting
TBC> will be part of  Store Deal Details US


1236
Assisted Upgrade -Display Tariff type on the Tariff tab

Changes for Get ProductList
Update Strategy -GetTariffList
Populate RecommendeTariffCustomerType attribute to BDC tariff list (from PC path)
Update Strategy-PopulateOutputPropertiesForTariff
For Item Records (Tariff) Set Category =
SIMO if RecommendeTariffCustomerType=PaymSIMO
Airtime if RecommendeTariffCustomerType=PaymLoan
 400412 Edit deal- Display Tariff type on the Tariff tab
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App No
DB No
UI Yes Present Tariff Type(Category) On UIArea Yes/No Comments


1237
Assisted Upgrade - Calculate Prorated Discount for Basket
HL Requirements
Calculate prorated discount for the Basket S15.
Update CalculateBasketFinancials(Old name CalculateBasketS15)  Strategy
Update the discount path to calculate the prorated discount amount to use in Basket S15 calculation.
Set Discount Amount = If (Discount Tenure < Tariff Tenure, (PriceExcludingVAT * Discount Tenure) / Tariff Tenure, PriceExcludingVAT)
 406091 Enrichment Icon - Pro Rated Discount


1238
Assisted Upgrade - Early Upgrade control in discount list
HL Requirements
Currently, max discount amount for the basket is calculated only by using CalculateMaxUpgradeDiscount strategy. To make sure that the
basket’s S15 is not below PreS15 for early upgrade customers, calculation should be changed as below:
If the customer is in early upgrade & s15 grow is required calculate max discount amount based on PreS15 and Basket S15.
Compare the max discount amount that grows customer S15 with the Max Upgrade discount amount (calculated  with
CalculateMaxUpgradeDiscount strategy), pick the minimum discount amount as output.
Update CalculateMaxDiscountForBasket Strategy
Make Sub strategy call to CheckUpgradeLifeCycleS15Rule to identify customer’s GrowS15 status. Pass parameters:
CustomerType, ContractDue, (GetCurrentTariff)
RecommendedDeviceCode,  (From Basket)
RecommendedTariffCustomerType (Identified in “Set Inputs for CalculateMaxUpgradeDiscount” component)
If GrowS15 = True, calculate the max discount amount based on Basket S15 and PreS15:
Max discount amount = RecommendedTariffS15Maf (Basket S15) - PreS15Maf
Compare the max discount amount calculated in the previous step with the amount calculated using CalculateMaxUpgradeDiscount
strategy (“Calculate Customer’s Max Upgrade Discount Amount” component) and pick the minimum discount amount.408407 Very Early Upgrade - Discount presented in the Edit Screen


1239
Assisted Upgrade -Replace Atomic Rule -R180

HL Requirement
Currently assisted logic is Using R180 as part of business rule. Business has decided it to move from atomic rules Strategy to Global rules
Strategy. Without change of implementation.
Rule reference change
We need to define the same rule R180 from AtomicRulesSet5 global rules Strategy.
Update all the impacted PFs which are referring to Atomicruleset5 to GlobalRules
Update Global rules Strategy and add the new rule.
Add a new rule GLBXXX with the same implementation of R180 from   Atomicruleset5.
R180 states Customer Is Mobile Voice, and its implementation is as below
True if @String.equalsIgnoreCase(Primary.SubscriptionType,"Mobile Service")
else False.
Delete the rule from Atomicruleset5 and validate all the references where it will impact. Update all impacted PFs and strategies with
Global rules Strategy.
 350823 Replace atomic rule (R180) with a Global Rule in the framework
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App No
DB No  Area Yes/No Comments
GetServiceMessage- change the reference UpsellOffersEligibility
Atomic ruleset 5- remove the rule URLTreatmentVariationsEligibility
Global rules2- add the rule TreatmentVariationsEligibility
 CrossSellOffersEligibility
 OfferVariationsEligibility
 RenewOffersEligibilityImpacted Strategy Impacted Proposition Filters


1240

  RetainOfferEligibility
 RetainOfferVariationsEligibility
 RetainSMSTreatmentEligibility
 RetainTreatmentVariationsEligibility
 TreatmentVariationsEligibility


1241
Assisted Upgrade- Remove the GPSL Fall back logic.
405224 -Remove the GPSL Fall back logic.
HL Requirement
Currently assisted logic is Having GPSL fall back logic that has been implemented at start of the project. However, it has now been agreed
that we would not implement any fall back if GPSL is down.
Update on Product Id when GPSL is down
GPSL service will be providing multiple RootProducts. Logic needs to access to related root product type when querying data. But we
are going to remove the logic which is to handle when GPSL is down.
Strategies listed below import Primary.ProductRoot to get tariff data or list of child product of Tariff (like addons etc)
Previously we are used to get the SubscriberTariffProductCode to get the tariff code in place of GPSL failure/Unavailability.
The logic will be
Existing logic
@if(MobileService.ProductCode!="",MobileService.ProductCode,Primary.SubscriberTariffProductCode)
New logic:
Type1: Remove the set property item, where we are setting the product code and assuming in GPSL import we are setting it to product
code. Then Update filter where we are checking MobileService with null check for ProductCode.  Like [.ProductCode!=””]
Type 2: Some of the places where we are using the old condition to retrieve the data from D_Tariff Data page in such cases, we can
remove the unwanted mapping and set Identifier directly to ProductCode from GPSL.
Update on Current Addon & Discount calculation
Current Strategies has 2 different pattern to read addon & discount data.
Strategies read data form GPSL or  Product holding
Remove the code to read data form product holding.
Impacted Strategies:PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No


Impacted Strategies:PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App No
DB No  Area Yes/No Comments
CalculateCustomerDiscountFlagGetCurrentTariff


1242
 GlobalRules1
EvaluateCohortByTariff
GetActiveDiscountList
GetAddonList
EvaluateCohorts
EvaluateCohortByContractDate
EvaluateCohortByTotalDataBand


1243
Assisted Upgrade-Identifying a discount in the Subscriber Invoice Table
408411 Assisted Upgrade-Identifying a discount in the Subscriber Invoice Table.
HL Requirement
Currently assisted logic is checking Active Discount in CalculateCustomerDiscountFlag Strategy to set flag CustomerHasDiscount when
SubscriptionInvoiceChargeList is having same eligible discount code from GPSL.
Logic update to identify if a customer has a discount on their product holding.
We need to update the logic checks on Discount code from GPSL,Which can help us to assign to the correct customer strategy and
cohort.
Previously we just compared the Discount codes from GPSL is available in SubscriptionInvoiceChargeList.
But now we are adding extra check on top of that.
Update CalculateCustomerDiscountFlag Strategy:
New logic to define CustomerHasDiscount
 We need to get the introduce a new filter to check for Line Rental as below:
Import ProductRoot data
Get Child Items of “Mobile Service”
Filter FullfilmentItemCode=Bundle
Query Product Id from ProductReference data page, get product_desc_3 value.
Logic to retrieve ProductDescription3
D_VFUKFWAOMFWDataProductReference[ProductCode:.ProductCode].ProductDescription3
Then, Filter the records product_desc_3=” Line Rental”
Update data join to match. DiscountProductCode from invoice charge table to above defined Product Code.
If it matched, keep. CustomerHasDiscount as True else False.

 PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App No
DB No
Logic Yes Strategy ChangeArea Yes/No Comments


1244
Assisted Upgrade-Validate Delete

HL  requirement
Logic should validate  Delete Addon/Delete Insurance actions. If customs is in Early Upgrade period , PostS15 should be higher or
equal to PreS15
It is decided that ValidateDete will be a seperate API  which will be triggered from UI on Delete Addon/Delete Insurance actions.408405 Very Early Upgrade - Edit Deal validation
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes  ValidateDelete a new API

Input > Same as ValidateDeal, (Line items
contains item to delete).

Output > Status & StatusDetails

 Enhancement to ValidateBasket >
To cover multiple  sequential actions on
same basked , not to lose previous error
messages VDAR will pass Status &
StatusDetails in the input, logic already pas
through those values.
DB No
UI Yes Trigger ValidateDelete for
Addon/Insurance delete operation
If validation fails show ErrorMessage
Else Remove item and make call to
ValidateBasket

ValidateBasket will be triggered without
delete item in Lineitems/ChilditemsArea Yes/No Comments


1245
Validate delete will pass the whole basket (including deleted item in it )
Logic will check related business rule & return error message.
If the delete operation is not valid
UI will present the message , basket will not change.
if the delete operation is valid, UI will remove the deleted item & trigger ValidateDeal  API to refresh basket data & run additional
business validations.

New DF - ValidateDelete

DF will be triggered from new API
New Strategy -ValidateDelete
Currently only Delete Addon/Insurance will be validated
But Strategy can be extended for different operations.
Import Basket Data (Input structure will be same as ValidateDeal)
Set Operation According to Secondary Context  & Product Type
Make Sub strategy call to GetCurrentTariff , Populate PreS15 & CustomerType
Make Sub strategy call to CheckUpgradeLifeCycleS15Rule , provide inputs
RecommendedDeviceCode (from Basket -Handset Item)
CustomerType   (from GetCurrentTariff)
RecommendedTariffCustomerType (calculated according to Tariff in basket)
Make Sub strategy call to CalculateBaketIFinancial
Input is Whole basket
Output is total PostS15 including product to delete.
Validate if the item to delete can be deleted
If Operation = Delete-Addon or Delete-Insurance
Filter Addon/Insurance record in basket with RecentProductId in input ( Product To delete)
Check if S15Grow is required ( available from  CheckUpgradeLifeCycleS15Rule output)
if S15Grow True  , Check If the S15PostMAFDelta is greater than the PriceExcludingVat of the item (Only if Addon is
promotion or S15Flag is True) to delete satisfy grow.
If not set
Status=CANNOTDELETE


1246
StatusDetails= “Please select a higher tariff in order to delete this add on”
else no action , no record is returned
else no action , no record is returned
else no action , no record is returned


1247
Assisted Upgrade- Display Tariff Max Discount

New Strategy -CalculateMaxDiscountForTariff

This strategy is to calculate Max Discount of a tariff itself can get.397874 Edit Deal Tariff Tab: Display the Max Discount
PM Tool No
PM Tool KT Documentation No
Knowledge Transfer No
App Yes  New attributes to GetProductList Spec
MaxDiscountAmount (LineItem)
DiscountAmount (ChildItem))
DiscountType (ChildItem & LineItem)
DB No
UI Yes If tariff is not  promo (there is no child line
item of type Promotion discount) then we use
MaxDiscountAmount.
If tariff is promo (there is a child line item of
type Promotion discount) then we
use DiscountAmount from that promo line
item.
We append ‘%’ if DiscountType =
Percentage.
 A r e a Y e s / N o C o m m e n t s


1248
Due to performance concerns count of tariff to calculate “Max Discount” should be configurable
Input - List of Tariffs
Select top X records (X- is a business config)
Make Sub Strategy call to CalculateMaxUpgradeDiscount & provide inputs for calculation
RecommendedTariffS15Maf=Tariff’s PriceExcludingVAT-EntertainmentCost
Populated in higher strategyAvailable in the input tariff list , populated with  in GetListofActiveTariffs
RecommendedTariffCode
PreS15Maf  (Populated in higher strategy)
CustomerType(Populated in higher strategy)
Team > Make Sub strategy call to GetTeamforAgentDivision
CustomerStarRating> Make Sub strategy call to GetCustomerStarRating
RecommendedTariffCustomerType> (Populated in higher strategy)
CalculateMaxUpgradeDiscount will populate Max discount percentage for each tariff (.Discount attribute)
Set MaxDiscountAmount=.Discount from output of the strategy
Logic need to check if customer in EU case, max discount  should satisfy S15 grow for each tariff
If S15 Grow is True ( Which is set  in ApplyTariffMAFRules)
Calculate Max discount percentage customer can get that satisfy S15 grow
DeltaS15= RecommendedTariffS15Maf- PreS15
MaxDiscountPercentageEU = (100*DeltaS15)/RecommendedTariffS15Maf
Select Min of MaxDiscountAmount,MaxDiscountPercentageEU and set MaxDiscountAmount
Logic need to validate if  MaxDiscountAmount calculated is compatible with Tariff
Query D_DiscountsForTariff data page for each Tariff
Output will be list of discounts compatible with Tariff (DiscountType=Percentage ones only)
Filter the result  Amount <= MaxDiscountPercentage and select the closest record to Max discount
Set MaxDiscountAmount for tariff record, if no discount found set it a 0


Set MaxDiscountAmount for tariff record, if no discount found set it a 0
Set DiscountType= Percentage
No action for rest of the tariff list ,return input records to output.
Output = All Tariffs in the input should be available in the output ,  MaxDiscountAmount  & DiscountType populated .
Update Strategy  -GetTariffList
Populate Attributes need for max discount calculation  to BDC tariffs path
Update Exclude Ineligible Tariffs data join & add listed mappings
RecommendedTariffS15Maf
CustomerType
Make sub strategy call to CalculateMaxDiscountForTariff to populate TariffMaxDiscount to  tariff list before
PopulateOutputPropertiesForTariff
Update Strategy -GetPromotionalDiscountsListDetails
Set DiscountType = Type from Discount PC data
Set  DiscountAmount=Amount  from Discount PC data


1249
NBA FW - New Business Purpose (HomeBroadband - HBB)
Impact in Other areas
 Dependencies
Adding a new Business Purpose (HBB) to NBA funnel
Create below new proposition decision data for “HBB” issue:409787 Split Cross sell into Mobile and Fixed Business Purposes
PM Tool Yes Create a new business purpose “HBB”
PM Tool KT Documentation Yes
Knowledge Transfer Yes
App No
DB No  Area Yes/No Comments
PM Tool Yes
App No
DB No  Area Yes/No Comments
1 AppPush HBB AppPush
2 DirectMail HBB DirectMail
3 Email HBB Email
4 InboundCC HBB InboundCC
5 IVR HBB IVR
6 OutboundCC HBB OutboundCC
7 Retail HBB Retail
8 SMS HBB SMS
9 Web HBB WebIndex Decision Data Business Issue Group


1250
Update the below strategies to include new “HBB” Business Purpose:
ImportAllOffers
ImportAllOfferToOfferVariations10 App HBB App
11 RCS HBB RCS
12 MMS HBB MMS
13 Offers HBB Offers
14 OfferToOfferVariations HBB OfferToOfferVariations
15 OfferVariations HBB OfferVariations
16 T2TVActions HBB T2TVActions
17 T2TVAttributes HBB T2TVAttributes
18 T2TVCustomerInteractions HBB T2TVCustomerInteractions
19 TreatementVariations HBB TreatementVariations
20 TreatmentToTreatmentVariaions HBB TreatmentToTreatmentVariaions


1251
ImportAllOfferVariations
ImportAllTreatmentVariations


1252
ImportAllTreatmentToTreatmentVariations
ImportTreatmentToTreatmentVariationActions


1253
ImportTreatmentToTreatmentVariationAttributes
ImportTreatmentToTreatmentVariationCustomerInteractions


1254
Create a new strategy ApplyHBBOfferVariationsEligibility
Clone strategy ApplyTradeInOfferVariationsEligibility for HBB business purpose
Update input sub-strategy for OfferToOfferVariations to be HBB
Update input sub-strategy for OfferVariations to be HBB
Create a new Proposition Filter “HBBOfferVariationsEligibility“ with Default Variant
Update IdentifyOfferVariantsForEligibleOffers to include new “HBB” Business Purpose:
Add a “HBB” filter with @equalsIgnoreCase(.BusinessPurpose,HBB) condition
Add a sub-strategy call to “ApplyHBBOfferVariationsEligibility” strategy
Connect to set property “Set VariantRank For Each Offer Variants“


1255
Create a new strategy IdentifyHBBTreatmentVariations
Clone strategy IdentifyTradeInTreatmentVariations for HBB business purpose
Update input sub-strategy for TreatmentToTreatmentVariations to be HBB
Update input sub-strategy for TreatmentVariations to be HBB
Create a new Proposition Filter “HBBTreatmentVariationsEligibility“ with Default Variant
Update IdentifyTreatmentVariations to include new “HBB” Business Purpose:
Add a “HBB” filter with @equalsIgnoreCase(.BusinessPurpose,HBB) condition
Add a sub-strategy call to “IdentifyHBBTreatmentVariations” strategy
Connect to set property “Eligible Treatment Variants“


1256
Create new Strategy ApplyHBBTreatmentEligibility
Clone ApplyTradeInTreatmentEligibility strategy
Replace TradeIn proposition filters with HBB proposition filters


1257
Update strategy ApplyTreatmentEligibility
Add a “HBB” filter with @equalsIgnoreCase(.BusinessPurpose,HBB) condition
Add a sub-strategy call to “ApplyHBBTreatmentEligibility” strategy
Connect to results


1258
Create new Strategy IdentifyEligibleHBBOffers
Enable external input
Add “HBBOfferEligibility” proposition filter
Connect to results
Update IdentifyEligibleOffers to include IdentifyEligibleHBBOffers
After “ApplyOfferSelfContentionStrategy“ sub-strategy call:
Add a “HBB” filter with @equalsIgnoreCase(.BusinessPurpose,HBB) condition
Add a sub-strategy call to “IdentifyEligibleHBBOffers” strategy
Connect to set property “set execution Mode“


1259

Create a new proposition filter HBBT2TVActionsEligibility
No items, no criteria
Update strategy IdentifyT2TVariationActions
Add a filter for HBB channel
Add a call to proposition filter HBBT2TVActionsEligibility


1260
NBA FW - New Business Purpose (Loyalty)
Impact in Other areas
 Dependencies
Adding a new Business Purpose (Loyalty) to NBA funnel
Create below new proposition decision data for “Loyalty” issue:366148 Introduce Loyalty Business Purpose to the NBA Framework
PM Tool Yes Create a new business purpose “Loyalty”
PM Tool KT Documentation Yes
Knowledge Transfer Yes
App No
DB No  Area Yes/No Comments
PM Tool Yes
App No
DB No  Area Yes/No Comments
AppPush Loyalty AppPush
DirectMail Loyalty DirectMail
Email Loyalty Email
InboundCC Loyalty InboundCC
IVR Loyalty IVR
OutboundCC Loyalty OutboundCC
Retail Loyalty Retail
SMS Loyalty SMS
Web Loyalty WebDecision Data Business Issue Group


1261
Update the below strategies to include new “Loyalty” Business Purpose:
ImportAllOffers
ImportAllOfferToOfferVariationsApp Loyalty App
RCS Loyalty RCS
MMS Loyalty MMS
Offers Loyalty Offers
OfferToOfferVariations Loyalty OfferToOfferVariations
OfferVariations Loyalty OfferVariations
T2TVActions Loyalty T2TVActions
T2TVAttributes Loyalty T2TVAttributes
T2TVCustomerInteractions Loyalty T2TVCustomerInteractions
TreatementVariations Loyalty TreatementVariations
TreatmentToTreatmentVariaions Loyalty TreatmentToTreatmentVariaions


1262
ImportAllOfferVariations
ImportAllTreatmentVariations


1263
ImportAllTreatmentToTreatmentVariations
ImportTreatmentToTreatmentVariationActions


1264
ImportTreatmentToTreatmentVariationAttributes
ImportTreatmentToTreatmentVariationCustomerInteractions


1265
Create a new strategy ApplyLoyaltyOfferVariationsEligibility
Clone strategy ApplyTradeInOfferVariationsEligibility for Loyalty business purpose
Update input sub-strategy for OfferToOfferVariations to be Loyalty
Update input sub-strategy for OfferVariations to be Loyalty
Create a new Proposition Filter “LoyaltyOfferVariationsEligibility“ with Default Variant
Update IdentifyOfferVariantsForEligibleOffers to include new “Loyalty” Business Purpose:
Add a “Loyalty” filter with @equalsIgnoreCase(.BusinessPurpose,Loyalty) condition
Add a sub-strategy call to “ApplyLoyaltyOfferVariationsEligibility” strategy
Connect to set property “Set VariantRank For Each Offer Variants“


1266
Create a new strategy IdentifyLoyaltyTreatmentVariations
Clone strategy IdentifyTradeInTreatmentVariations for Loyalty business purpose
Update input sub-strategy for TreatmentToTreatmentVariations to be Loyalty
Update input sub-strategy for TreatmentVariations to be Loyalty
Create a new Proposition Filter “LoyaltyTreatmentVariationsEligibility“ with Default Variant
Update IdentifyTreatmentVariations to include new “Loyalty” Business Purpose:
Add a “Loyalty” filter with @equalsIgnoreCase(.BusinessPurpose,Loyalty) condition
Add a sub-strategy call to “IdentifyLoyaltyTreatmentVariations” strategy
Connect to set property “Eligible Treatment Variants“


1267
Create new Strategy ApplyLoyaltyTreatmentEligibility
Clone ApplyTradeInTreatmentEligibility strategy
Replace TradeIn proposition filters with Loyalty proposition filters


1268
Update strategy ApplyTreatmentEligibility
Add a “Loyalty” filter with @equalsIgnoreCase(.BusinessPurpose,Loyalty) condition
Add a sub-strategy call to “ApplyLoyaltyTreatmentEligibility” strategy
Connect to results


1269
Create new Strategy IdentifyEligibleLoyaltyOffers
Enable external input
Add “LoyaltyOfferEligibility” proposition filter
Connect to results
Update IdentifyEligibleOffers to include IdentifyEligibleLoyaltyOffers
After “ApplyOfferSelfContentionStrategy“ sub-strategy call:
Add a “Loyalty” filter with @equalsIgnoreCase(.BusinessPurpose,Loyalty) condition
Add a sub-strategy call to “IdentifyEligibleLoyaltyOffers” strategy
Connect to set property “set execution Mode“


1270

Create a new proposition filter LoyaltyT2TVActionsEligibility
No items, no criteria
Update strategy IdentifyT2TVariationActions
Add a filter for Loyalty channel
Add a call to proposition filter LoyaltyT2TVActionsEligibility