Outbound channel processing
The OutboundChannelProcessing strategy handles all outbound channel processing.
The Paid channel is unique in that we want to send all actions to be processed by Paid Media Manager, so those actions pass through. For the other outbound channels, a separate sub-strategy is called for each of Email, SMS, Push, Call Center, Retail and Other (anything not in this list but not Paid). Each of these sub-strategies is intended as an extension point for including any additional channel specific processing.
The first three contain no logic and are simply extension points that are then merged into the ProcessOutboundChannels strategy, which includes a call to the TopOfferOrBundleForOutbound sub-strategy.
The next three contain a call to the TopOfferOrBundleForOutbound sub-strategy (i.e. they are identical to the ProcessOutboundChannels strategy), and can also be used as extension points.
The ProcessOutboundChannels strategy contains a call to the TopOfferOrBundleForOutbound sub-strategy.
The ProcessOutboundCallCenterChannel, ProcessOutboundRetailChannel, and ProcessOutboundOtherChannel strategies are identical to this.
The TopOfferOrBundleForOutbound strategy separates out bundled and non-bundled actions and picks the top bundle or treatment based on priority. If a bundle is selected, the bundle members are also selected and pass through. Essentially this strategy produces the best bundle or treatment.