Skip to content

Feature: xsell addon recommendation [GEN-5439]#3006

Open
panasetskaya wants to merge 26 commits into
developfrom
feat/xsell-addon-rec
Open

Feature: xsell addon recommendation [GEN-5439]#3006
panasetskaya wants to merge 26 commits into
developfrom
feat/xsell-addon-rec

Conversation

@panasetskaya

@panasetskaya panasetskaya commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

What

Adds support for the addon recommendation in the cross-sell sheet shown after a successful self-service flow.

  • The cross-sell sheet and Home queries now fetch recommendedAddon, and the sheet renders it (pillow with plus badge, title, description, button) with priority over the recommended cross-sell.
  • Flows that change a contract now pass its contract id in CrossSellInput, which is what makes the backend return an addon recommendation: change tier passes the changed contract id, the moving flow passes newContractId from the commit mutation, closed claims pass the claim's contractId.
  • Addon-only sheets show the green banner with the default CROSS_SELL_BANNER_TEXT copy ("Popular choice"), since RecommendedAddonCrossSell has no banner text field. Same fallback as iOS.
  • A successful response with nothing to show (no recommendation, no addon, no other cross-sells) no longer opens an empty sheet.
  • Home's top bar cross-sells action now also shows if only an addon recommendation is returned (defensive; Home sends no contract id today).

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

  • Unit tests: addon mapping in GetHomeDataUseCase, the Home top bar gate, CrossSellInput contract id present/absent, and the sheet presenter's empty/non-empty handling.
  • Manually verified against staging: addon card after a change tier flow (button deep links in-app), recommended cross-sell fallback for a flow without a contract id, and the empty response case.

a11y

  • if these are UI changes - check for their accessibility

pr in storefront

todo:

  • pass new contractId from moving flow
  • (optionally) pass contract Id from claim closed pr in claim service
  • wait for storefront pr schema published to prod

@panasetskaya panasetskaya changed the title Feature: xsell addon recommendation Feature: xsell addon recommendation [GEN-5439] Jun 24, 2026
@notion-workspace

Copy link
Copy Markdown

android

@panasetskaya panasetskaya marked this pull request as ready for review June 26, 2026 08:16
@panasetskaya panasetskaya requested a review from a team as a code owner June 26, 2026 08:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants