Feature: xsell addon recommendation [GEN-5439]#3006
Open
panasetskaya wants to merge 26 commits into
Open
Conversation
StylianosGakis
approved these changes
Jun 25, 2026
StylianosGakis
approved these changes
Jun 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds support for the addon recommendation in the cross-sell sheet shown after a successful self-service flow.
recommendedAddon, and the sheet renders it (pillow with plus badge, title, description, button) with priority over the recommended cross-sell.CrossSellInput, which is what makes the backend return an addon recommendation: change tier passes the changed contract id, the moving flow passesnewContractIdfrom the commit mutation, closed claims pass the claim'scontractId.CROSS_SELL_BANNER_TEXTcopy ("Popular choice"), sinceRecommendedAddonCrossSellhas no banner text field. Same fallback as iOS.Remaining scope (waiting on storefront)
The design also shows a benefits checkmark list and per-type banner text ("Add extra safety when traveling" / "Add extra coverage"). Per the sync on Jul 3, storefront is getting two new properties for this (an optional banner and a list of strings) and the plan is to consume them here and get a design preview before merging. Until the schema publishes, the banner falls back to the default copy and the list is not rendered.
Testing
GetHomeDataUseCase, the Home top bar gate,CrossSellInputcontract id present/absent, and the sheet presenter's empty/non-empty handling.a11y
pr in storefront
todo: