Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Normal - High Trading Mode (inc Kill

Switch)
Story Summary

JIRA Ref Summary


EDJ-1307 - Authenticate to see issue details Product Page Soft
EDJ-1308 - Authenticate to see issue details Product Page Hard
EDJ-1309 - Authenticate to see issue details Basket Page Soft
EDJ-1310 - Authenticate to see issue details Basket Page Hard
EDJ-1311 - Authenticate to see issue details Payment Options Hard
EDJ-1313 - Authenticate to see issue details Default Brand Configurations

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 - Hard : Product Page Hard Logged In

Basket - Soft : Basket Page Soft Logged In

Basket - Hard : Basket Page Hard Logged In

PaymentOptions - Hard : Payment Options - Hard Logged In.

Initial settings based on Business Requirements...

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.

You might also like