Professional Documents
Culture Documents
Normal - High Trading Mode (Inc Kill Switch)
Normal - High Trading Mode (Inc Kill Switch)
Switch)
Story Summary
Introduction
The Normal and High trading mode functionality has been requested to limit the number of calls to the
CustomerOffer service which is of particular importance for the Foundation release. We originally planned
to call the CustomerOffer service on each event (product, basket and payment options) regardless of
customer login status. On review of the CustomerOffer solution, the expected volume of calls was
deemed to be too high (for various reasons) and a decision was made to reduce the call frequency by
login status with some specific rules associated with brand. To keep things as simple as possible Very will
represent Very and Very Exclusive and Littlewoods represent Littlewoods and Littlewoods Ireland.
The diagrams below (Normal and High Trading) describe when the CustomerOffer service is called and
when ATG Offers are presented.
The kill switch functionality will be built on top of the Normal and High Trading mode. It will essentially be
an extension of the logic and will be implemented by assigning new BCC 'OfferService' configurable item
to the each site. The item will have 5 boolean values, with each indicating if the OfferSerice should be
called. The location of the boolean value will map to a given page and login status. The structure and
order of the configurable item can be found below.
Details
BCC Site level configuration attribute set to an element that contains five boolean values. Each value will
determine if the new CustomerOfferService service should be called for a given Page / Login state
combination. TRUE indicating the service should be called. FALSE indicating the service should not be
called and ATG should obtain default offers locally.
Product - Soft : Product Page Soft Logged In
product soft product hard basket soft basket hard payment options hard
v-normal TRUE TRUE TRUE TRUE TRUE
v-high FALSE TRUE TRUE TRUE TRUE
lw-normal FALSE FALSE TRUE TRUE TRUE
lw-high FALSE FALSE TRUE TRUE TRUE
Kill-1 FALSE TRUE TRUE TRUE TRUE
Kill-2 FALSE FALSE FALSE TRUE TRUE
Kill-3 FALSE FALSE FALSE FALSE FALSE
Additional logic should be wrapped around the call to the CustomerOffer service (Product, Basket and
Payment Options) which checks to see if it should be called for the given login status (Hard or Soft). The
service will never be called for an Anonymous customer. Where the service is not called (or the call fails),
the page will display the ATG Offer for the given brand. See page ATG Default Offer - CustomerOffer not
called or Fusion out for more information.
The matrix below depicts the possible permutations of all data considered when determining if
DetermineCustomerOffer should be invoked, along with an indication as to whether ATG calls
DetermineCustomerOffer to retrieve smart offer information (CALL DCO = YES), or sources the
infomation locally (CALL DCO = NO). This is based on the current ruleset as of 28/11/2017.
Where DetermineCustomerOffer is not being called, ATG will retrieve offer information from a brand
specific resource bundle.