Upsell & Ancillary Revenue · Documentation

User Journey

The end-to-end path through Upsell & Ancillary Revenue, from trigger to outcome.

Upsell & Ancillary Revenue
  1. 1

    Stage → personalised offer → accept

    On mount, `listOffers` filters the catalog to the current stage and ranks it: +2 per offer tag that matches a guest interest, a small bonus for facility-aligned tags, and a +1 boost on higher-value offers for Gold/Platinum members. The metered `pitchOffers` then runs once to produce the personalisation rationale. The guest accepts via `acceptOffer`.

  2. 2

    Acceptance → revenue + analytics

    Acceptance records an offer line against the booking and emits `offer.accepted`. Post-booking lines roll into `ancillaryRevenue()` (revenue attribution); pre-booking acceptances are tracked by the parent cart. That attributed revenue feeds #23 Executive BI, and the app reads #04's personalisation context and #12's loyalty tier — so the upsell is consistent with what the guest browsed and earned.

User Journey · Upsell & Ancillary Revenue · Abhishek Saxena