Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Epic:

Jira Legacy
serverSystem Jira
serverId255417eb-03fa-3e2f-a6ba-05d325fec50d
keyTRX-1894

Solution proposal to change the upsell modal trigger behavior

Iberia requirements (can be updated/changed)

...

Business problem to be solved

Currently, the new upsell modal is shown for all item types (Item, Combo, Picker, etc.)

Iberia aims to enhance the upsell rate and user experience by gaining more control over the new upsell modal trigger behavior. They plan to display the modal only for selected item types, such as Combo or Picker.

Proposal

File to be changed: src/state/order/index.js

Function that is responsible to trigger the logic today: openUpsellModal

The main logic

  • Adjust the openUpsellModal to handle a new path of logic

    • The idea is to keep the default behavior if the new logic is not enabled in Sanity: show the modal for any type of item

  • Create new functions to isolate the new logic (they can also be in a utils file, for example)

    • Function for the new variation logic (which will change the trigger behavior)

    • Functions to serve as utilities (for example, to know if the item is Combo/Picker)

  • Check the newCartEntries to be able to identify if the added item is a type Picker or Combo

  • We can use Sanity to hold the logic that will change the upsell modal trigger behavior (mode details at https://rbictg.atlassian.net/wiki/spaces/IBC/pages/edit-v2/4940922909#Sanity-to-hold-the-new-trigger-behavior below)

...

  • Upsell modal will only be shown for Pickers/Combos (if the new logic is enabled at Sanity)

  • When I’ve created a new journey, cleaning the cart and adding a Coca-Cola, the modal did not show as expected because Coca-Cola is a type of item

Sanity to hold the new trigger behavior

...

  • Add a new section in Feature Menu to configure the modal trigger behavior

  • We’ll need to at least develop a new hook to get the desired value configured in the new Sanity section. This hook will encapsulate the query and will be used inside src/state/order/index.js. The rest of the implementation will follow the same idea shown at https://rbictg.atlassian.net/wiki/spaces/IBC/pages/edit-v2/4940922909#The-main-logic section.

...